-
Notifications
You must be signed in to change notification settings - Fork 13
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support setting DSP output column level HDF5 settings #21
Comments
I added this feature, but it doesn't work for this:
giving However, it does work for basic strings. I tried adding a "description" attribute, and one really nice thing is that it can be displayed using the
I think this would be a great feature to take advantage of to make our analysis self-documenting. |
Uhm it's supposed to work, see: https://legend-pydataobj.readthedocs.io/en/latest/api/lgdo.lh5.html#lgdo.lh5.store.LH5Store.write let me have a look... |
I implemented exactly the same thing here: and it works... did you check your legend-pydataobj version? |
Oh I think the problem is that it doesn't work on WaveformTables, but it does on other objects. I'm guessing it doesn't work on composite LGDO objects? |
Indeed! |
How do we want to handle waveform compression then? Do we want to have the LGDO WaveformArray object handle propagating the options to the table values, or do we want to have the processing_chain handle it? |
Good point... I guess there is no clean way to do this. I think we need something similar to what I have implemented for the daq2lh5 configuration: https://legend-daq2lh5.readthedocs.io/en/latest/api/daq2lh5.html#daq2lh5.data_decoder.DataDecoder i.e. "wf_bl": {
"function": "bl_subtract",
"module": "dspeed.processors",
"args": ["waveform", "baseline", "wf_bl"],
"unit": "ADC",
"waveform_compression": {
"values": "RadwareSigcompress(codec_shift=-32768)",
"t0": "gzip"
},
"lgdo_attrs": {
"0vbb": "I want to believe!",
"hdf5_settings": {
"compression": "gzip",
"shuffle": true
}
}
} or similar. This extra For dev, this is useful to convert waveform decoder strings to Python objects: https://legend-pydataobj.readthedocs.io/en/stable/api/lgdo.compression.html#lgdo.compression.utils.str2wfcodec |
#44 has been accepted; however, this is only a partial solution to this issue so I am leaving it open |
Would be needed if we want to use custom compression settings or any other HDF5 dataset option. We could actually have a new JSON field listing attributes that should be attached to LGDOs, e.g.
The text was updated successfully, but these errors were encountered: