-Current progress of HDF5 plugin.
-Questions of current HDF5 plugin design.
-Thoughts on features to add to xml design.
Questions to discuss about the XML format:
1) Should we use HDF5 types or generics? Currently Diamond xml uses generics int, string, float ?
2) Can we (ANL) get actual experiment example of diamond HDF5 xml and h5 output file? Data doesn't matter, just format?
3) How does the current writer save attributes that are const? Is it once per file ( OnFileOpen ) or on every acquisition ( OnFrame )? If it is saved every acquisition, does it overwrite the previous value?
4) Should we change so that values of a dataset or attribute are always inside the tag <tag>value</tag>? Currently some are saved as <tag value="value"/>. Allow both?
5) If no xml file/data is specified, what should the format be? Alan suggested having /NDAttributes group that saves certain attributes.
We have input for: ID4 Different frames can be stored in different datasets based on an NDAttribute value. See condition_attribute and condition_value tags below.
Tags to add:
- OnFileOpen: Only save once at the opening of the HDF5 file.
- OnFileClose: Only save once at the close of the HDF5 file.
- OnFrame: Save every frame. For dataset or attribute.
- condition_attribute: PV/NDAttribute name to check for specific value.
- condition_value: Value of condition_attribute that allows recording to specific dataset. If two datasets are defined in the HDF5 file and safe the same ndattribute source, condition_attribute and condition_value will determine which dataset to save
<dataset name=“data” condition_attribute=“Source” condition_value=“Normal” source=“ndattribute” ndattribute=“Images”/>
<dataset name=“dark_data” condition_attribute=“Source” condition_value=“Background” source=“ndattribute” ndattribute=“Images”/>
When the NDAttribute “Source” has a value “Normal” then values from “Image” will be saved to “data” dataset. When value is “Background” then values from “Images” will be saved to “dark_data” dataset. If value is not “Normal” or “Background” then data from “Images” will not be saved to any dataset.
- (optional) condition_type: Type of data for condition_value