The canonical location of this page is https://strawlab.org/schemas/tethered-h5/1.1.
This is an HDF5 file for saving tethered flight data. It allows recording left and right wingstroke amplitude responses to visual stimuli characterized by two parameters. Planned improvements allow more general response and stimulus specification.
These three datasets are in this file:
/metadata - JSON-encoded string describing experimental conditions/strokelitude - data containing the behavioral response of the fly/stimulus - data containing information describing the visual stimulusHere is an example metadata section. It is a JSON string held in an HDF5 variable length string array.
{"timestamp": "2011-05-24 16:56:26+02:00",
"experiment script": "hausen4.py",
"experimenter": "Karin",
"genotype": "R27BO3xTNTa"}
The HDF5 description is:
DATATYPE H5T_COMPOUND {
H5T_STD_U32LE "header_seq";
H5T_STD_U32LE "header_stamp_secs";
H5T_STD_U32LE "header_stamp_nsecs";
H5T_STRING {
STRSIZE 1;
STRPAD H5T_STR_NULLPAD;
CSET H5T_CSET_ASCII;
CTYPE H5T_C_S1;
} "header_frame_id";
H5T_IEEE_F32LE "left_wing_angle_radians";
H5T_IEEE_F32LE "right_wing_angle_radians";
H5T_STD_U32LE "t_secs";
H5T_STD_U32LE "t_nsecs";
}
Thus, the columns include:
right_wing_angle_radians (float64) andleft_wing_angle_radians (float64) specify the wingstroke amplitude.The "header_stamp" data contain the time at which the image capturing
the data was triggered. It can be used to calculate the earliest time
the data could possibly reflect. It is held in two columns:
header_stamp_secs, the number of seconds since January 1, 1970, and
header_stamp_nsecs, the number of nanoseconds since the start of the
current second.
The "t time" is the time at which the response processing was
finished, and can be used to calculate the last possible moment the
data could possibly reflect. But because this time also is after the
image processing time, this time minus the acquisition time could also
reasonably be used to calculate processing latency. It is held in the
t_secs and t_nsecs columns.
The HDF5 description is:
DATATYPE H5T_COMPOUND {
H5T_STD_I64LE "stim_code";
H5T_IEEE_F64LE "now_secs";
H5T_IEEE_F64LE "freq_hz_or_sf";
H5T_IEEE_F64LE "position_radians_or_tf";
}
Thus, the columns are:
stim_code (int64) describes the stimulus classnow_secs (float64) specifies the time at which the stimulus was determinedfreq_hz_or_sf (float64) stimulus parameter 1position_radians_or_tf (float64) stimulus parameter 2To dump the metadata dataset in the file tethered-h5-data-file.h5
using the h5dump command, use this:
h5dump -d /metadata tethered-h5-data-file.h5
The first bytes of the file are an HDF5 user block that describe the schema of the file. (In other words, it's a descriptor that points to this page.) By putting the first bytes in this file, the freedesktop.org file identification machinery can automatically identify this file.