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
PrairieView 5.2 fixes and improvements #1365
PrairieView 5.2 fixes and improvements #1365
Conversation
Adding exclude label, as this causes http://ci.openmicroscopy.org/view/Bio-Formats/job/BIOFORMATS-5.1-merge-build/470/ to fail. |
Anything I can do to get this merged? Without these changes, the Bio-Formats Prairie support is rather substantially broken. |
All Bio-Formats merge builds currently fail with this change, so to get the exclude label removed you will need to fix the exceptions shown in https://ci.openmicroscopy.org/view/Bio-Formats/job/BIOFORMATS-5.1-merge-build/470/console (as noted above). |
1cf9297
to
3ce43ff
Compare
The NPE caused by null wavelengths has been fixed. Please readd to the merge build. |
This no longer compiles due to units changes; see https://travis-ci.org/openmicroscopy/bioformats/jobs/42888720. There is a convenience method for creating an appropriate Length object with the default unit for emission wavelengths: |
This change fixes several metadata parsing bugs: 1) The relevant XML element is called "SubindexedValue", not "SubindexValue". Without this change, subindexed values are never read correctly, so e.g. X/Y/Z stage positions are not parsed. 2) The loop variable for subindexed values is "s", not "i". Without this change, an NPE is typically thrown during the SubindexedValues parsing loop. 3) Subindexed value table should be indexed on subindex, not index. 4) Parsing of subindexed values from old-style XML (<Key> elements) did not add the parsed subindexed value table to the data structure.
These tests are by no means complete, but do provide regression tests for the bugs fixed in the previous commit.
This commit changes the behavior of the OME-TIFF reader to support extraction of OME-XML metadata from an OME-TIFF reference via the BinaryOnly MetadataFile attribute. According to a38bd07, the BinaryOnly MetadataFile is only supposed to reference an OME-XML document, not an OME-TIFF file containing an embedded OME-XML document. But according to the OME-TIFF specification [1], it is valid to reference such an OME-TIFF. Since supporting it is easy and very useful and already documented, let's go ahead and do it! [1] https://www.openmicroscopy.org/site/support/ome-model/ome-tiff/specification.html#storing-partial-metadata-blocks
The Prairie XML records the channel emission wavelengths, so let's populate the OME-XML with that information as appropriate.
This makes spectral PrairieView datasets work as expected. Previously, the reader only activated channels specifically flagged as active in the Prairie configuration metadata. This was fragile for two reasons: 1) The Prairie configuration metadata is subject to change (and in fact did change once already, from CFG to ENV). 2) PrairieView 5.2 added support for spectral datasets, where the active channels metadata no longer accurately reflects the actually active channels. Instead, the active channels are meant to be gleaned from the "channel" attribute of each <File> element present in the XML metadata. With this change, all channels that are actually used (i.e., which actually have one or more associated <File> elements) will affect the final dimensional structure of each Image.
3ce43ff
to
58db168
Compare
OK, I rebased over develop and updated the API usage. Thanks for the tip about that convenience method. |
Exclude label removed. |
PrairieView 5.2 fixes and improvements
--no-rebase |
This branch fixes bugs in the PrairieView 5.2 file format reader, as well as adding support for spectral PrairieView datasets, as discussed on the ome-devel mailing list.