-
Notifications
You must be signed in to change notification settings - Fork 241
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
Andor SIF: Support files larger than 4 GB and with non-fixed-size footers #4195
base: develop
Are you sure you want to change the base?
Conversation
Thanks @WalkerKnapp for opening the initial draft. If are able to provide some sample files demonstrating the issue that would greatly help the testing. If you need a suitable upload location then we recommend using https://zenodo.org/. Also, we have a Contributor License Agreement for the project, would you be able to sign and return the form following the instructions on https://ome-contributing.readthedocs.io/en/latest/cla.html The first step for testing and review will be to move this PR out draft status and we will then include it as part of the CI and our daily test suite. This will test for any regressions in existing sample files that we have. |
Completed a CLA! In regards to publicly hosting a sample file, I will work on getting that approved (there are questions of rights and funding that are above my pay grade). In the meantime, I can also share example files from our university's cluster to anyone interested who has a Globus account, if that would be helpful. |
Thanks @WalkerKnapp, I can confirm that we have received your CLA. There was only a single failure from the nightly tests, and I suspect that may actually be a fix that requires us to update our configs. Unfortunately that file isn't public, but I will investigate and confirm if that is the case. |
Hi @WalkerKnapp, I was wondering if there was any update on potentially getting a public sample file for this PR? If that is not possible then we can arrange to have it shared via Globus. |
@WalkerKnapp we have reincluded this PR into the nightly CI builds to assess its impact on the curated QA repository. Assuming builds are passing and in order for us to move forward with the functional review, is there any update from your side on the ability to upload a representative sample to the Zenodo Bio-Formats community? |
imho the inclusion of this PR caused the BF-test-repo to fail in andor-sif folder today https://merge-ci.openmicroscopy.org/jenkins/job/BIOFORMATS-test-folder/27150/console @sbesson would you be happy to exclude again please ? This would be of some advantage as we are testing speeds of the tests in prep for the migration to ESS. |
(I actively went on and removed the Include badge - please re-include if I somehow got this horribly wrong, ta @sbesson ) |
After consulation with @sbesson , returning the include label, thank you |
@WalkerKnapp, are you able to provide a file that demonstrates the need for this fix? We would really like to include this change, but we're generally uncomfortable with merging pull requests for which we don't have a test case. If we don't hear anything further, we're likely to close this in the new year (we can always re-open if data appears). If anyone else who uses Andor SIF has a file that demonstrates this change, and is willing to share it via Zenodo, that would also be enough to move this pull request forward. |
Hello! Our lab generates a large number of Andor SIF files which run into issues being loaded using bioformats (a IllegalArgumentException is thrown upon reading the first frame). As it turns out, this is the result of two issues:
Output of tail for one of our Andor SIF files
Both of these issues can be solved by parsing the entire SIF header, instead of relying on the positioning of the footer to determine where pixel data starts. I modified the header parsing based on @fujiisoup's sif_parser (https://github.com/fujiisoup/sif_parser/blob/a922fc299b749057f66bedaba3b6971e18f94c4e/sif_parser/_sif_open.py), which is able to open our files without issue.
Opening as a draft for now, because I am not sure if this works with all SIF file versions. Feedback and others testing their SIF files would be appreciated!
Specifically, on line 163, I believe parsing will fail when the first two bytes of image data are 0x300A. As far as I understand, this would only happen if the top-left pixel on frame 0 contains a value on the order of
5e-10
. I can't think of a scenario where you would have measurements that small, but I would be interested to see if others could come up with one!