I have *.hdf5 data files recorded with g.Recorder (generated by USBamp, g.tec GMBH) countaining a H5T_IEEE_F32LE data set with 2 channels values intermixed: each even index are positive values and odd are negative ones. So even values correpond to the first channel and odd to the second. So far so good, however, the mean values of each channel do not correspond to valid physiological measures. So I'm looking for the value (or algorithm) allowing to reajuste the values for each channel, but wasn't able to find it. Do the value transformation for each channel is always the same for H5T_IEEE_F32LE when storing two channels or this is determined in the g.tec device and so is independent of the hdf5 file format?
HDF5 doesn't know anything about your channels. The fact that channels are
stored in alternating values of the dataset is only known by the
application (and you). HDF5 does not do any transformations on the data. If
it is asked to store a value as F32LE it just stores the value. Same with
retrieval. You will have to find out from vendor how to convert the stored
values to the units you are interested in. They are possibly just storing
raw sensor data in volts or something similar. I would also poke around the
rest of file and look for attributes they might have stored conversion
factors in.
David
···
On Wed, Mar 9, 2016 at 1:26 PM, Florian Chmetz <Florian.Chmetz@unil.ch> wrote:
Hello,
I have *.hdf5 data files recorded with g.Recorder (generated by USBamp,
g.tec GMBH) countaining a H5T_IEEE_F32LE data set with 2 channels values
intermixed: each even index are positive values and odd are negative ones.
So even values correpond to the first channel and odd to the second. So far
so good, however, the mean values of each channel do not correspond
to valid physiological measures. So I'm looking for the value (or
algorithm) allowing to reajuste the values for each channel, but wasn't
able to find it. Do the value transformation for each channel is always the
same for H5T_IEEE_F32LE when storing two channels or this is determined in
the g.tec device and so is independent of the hdf5 file format?
Ok. It makes the point really clear, no data transformation related to hdf5. I'didn't find any information about data transformation values in the rest of the files, just min/max possible values and filters applied to the channels.
I will ask the manufacturer to go further in this question.
Many thanks for your answer.
Florian
···
________________________________
De : Hdf-forum <hdf-forum-bounces@lists.hdfgroup.org> de la part de David <list@aue.org>
Envoyé : vendredi 11 mars 2016 01:17
À : HDF Users Discussion List
Objet : Re: [Hdf-forum] H5T_IEEE_F32LE 2D array modified values
HDF5 doesn't know anything about your channels. The fact that channels are stored in alternating values of the dataset is only known by the application (and you). HDF5 does not do any transformations on the data. If it is asked to store a value as F32LE it just stores the value. Same with retrieval. You will have to find out from vendor how to convert the stored values to the units you are interested in. They are possibly just storing raw sensor data in volts or something similar. I would also poke around the rest of file and look for attributes they might have stored conversion factors in.
I have *.hdf5 data files recorded with g.Recorder (generated by USBamp, g.tec GMBH) countaining a H5T_IEEE_F32LE data set with 2 channels values intermixed: each even index are positive values and odd are negative ones. So even values correpond to the first channel and odd to the second. So far so good, however, the mean values of each channel do not correspond to valid physiological measures. So I'm looking for the value (or algorithm) allowing to reajuste the values for each channel, but wasn't able to find it. Do the value transformation for each channel is always the same for H5T_IEEE_F32LE when storing two channels or this is determined in the g.tec device and so is independent of the hdf5 file format?
Your inquiry here sounds less like a question about the HDF Library and more of a question about an application-specific use of HDF5; 2-channles, intermixed, odd/even, physiological measures, g.tec device etc. all sound like these are more related to the application than to HDF5 library proper. So, even though I am totally ignorant of the use case, it certainly smells and sounds to me like its independent of the HDF5 file format.
OTOH, sounds like you are somehow using a 32-bit floating point little endianne dataset to encode a 2-channel (16 bit/channel) signal. Is that right? Why use a floating point format for that though? Why not use one of the 32-bit integer formats? I'd be concerned you could too easily create NANs if you construct a 32-bit float using 2 arbitrary 16-bit values.
I have *.hdf5 data files recorded with g.Recorder (generated by USBamp, g.tec GMBH) countaining a H5T_IEEE_F32LE data set with 2 channels values intermixed: each even index are positive values and odd are negative ones. So even values correpond to the first channel and odd to the second. So far so good, however, the mean values of each channel do not correspond to valid physiological measures. So I'm looking for the value (or algorithm) allowing to reajuste the values for each channel, but wasn't able to find it. Do the value transformation for each channel is always the same for H5T_IEEE_F32LE when storing two channels or this is determined in the g.tec device and so is independent of the hdf5 file format?
Indeed, my question seems to be totally independant of the hdf5 file but related to the way the signal is computed before storage into hdf5.
I'm not sure about the exact specification of the signal encoding except this is 32-bit floating points. I cannot choose between floating points or integers as I cannot tune the device producing the signal (the signal is microVolt and floating points by default).
I'd rather ask the manufacturer about the possible signal transformation before storage.
Thanks for your answer.
Florian
···
________________________________
De : Hdf-forum <hdf-forum-bounces@lists.hdfgroup.org> de la part de Miller, Mark C. <miller86@llnl.gov>
Envoyé : vendredi 11 mars 2016 01:04
À : HDF Users Discussion List
Objet : Re: [Hdf-forum] H5T_IEEE_F32LE 2D array modified values
Your inquiry here sounds less like a question about the HDF Library and more of a question about an application-specific use of HDF5; 2-channles, intermixed, odd/even, physiological measures, g.tec device etc. all sound like these are more related to the application than to HDF5 library proper. So, even though I am totally ignorant of the use case, it certainly smells and sounds to me like its independent of the HDF5 file format.
OTOH, sounds like you are somehow using a 32-bit floating point little endianne dataset to encode a 2-channel (16 bit/channel) signal. Is that right? Why use a floating point format for that though? Why not use one of the 32-bit integer formats? I'd be concerned you could too easily create NANs if you construct a 32-bit float using 2 arbitrary 16-bit values.
I have *.hdf5 data files recorded with g.Recorder (generated by USBamp, g.tec GMBH) countaining a H5T_IEEE_F32LE data set with 2 channels values intermixed: each even index are positive values and odd are negative ones. So even values correpond to the first channel and odd to the second. So far so good, however, the mean values of each channel do not correspond to valid physiological measures. So I'm looking for the value (or algorithm) allowing to reajuste the values for each channel, but wasn't able to find it. Do the value transformation for each channel is always the same for H5T_IEEE_F32LE when storing two channels or this is determined in the g.tec device and so is independent of the hdf5 file format?