geotiffjs / geotiff.js

geotiff.js is a small library to parse TIFF files for visualization or analysis. It is written in pure JavaScript, and is usable in both the browser and node.js applications.
https://geotiffjs.github.io/
MIT License
859 stars 179 forks source link

Be more forgiving of incorrect SampleFormat length #363

Open jeffpeck10x opened 1 year ago

jeffpeck10x commented 1 year ago

This is to address the issue noted in: https://github.com/geotiffjs/geotiff.js/issues/159

and allows geotiff to handle a situation where there is an interleaved tiff that has SampleFormat of [1], despite there being multiple samples per channel.

The situation described in the issue is that BitsPerSample is [8, 8, 8], yet SampleFormat is only [1], whereas it should have the same number of values (i.e. [1, 1, 1]). Rather than fail in this situation, be more forgiving of the incorrect format and try to infer from the value that was set.

This was noticed in some OME-TIFF files generated by qupath with Creator="OME Bio-Formats 6.11.1" in the OME-XML. These files can be opened by qupath, FIJI, and Python's tifffie, so it only makes sense that geotiff.js should handle them as well, despite the incorrect SampleFormat length.

m-mohr commented 1 year ago

Seems related/similar to #303