tlnagy/OMETIFF.jl

Extract general TIFF code into a separate package and only keep OMETIFF specific stuff here

Closed this issue · 4 comments

Failure reported here: JuliaImages/Images.jl#670

I'm going to reopen this since there are cases where the OME-XML could be in MetadataOnly form https://www.openmicroscopy.org/Schemas/Documentation/Generated/OME-2016-06/ome_xsd.html#MetadataOnly where there is no pixel information, which makes an OME-TIFF almost identical to a plain TIFF file.

After thinking about this a bit more, I think I'm close to a proper pure-Julia baseline TIFF library here and it would be useful to refactor and move all general TIFF code to a new repo and only have the OME specific parts here. In order to satisfy baseline TIFF compatibility (TIFF spec 6.0), we need:

  • Basic file layout
  • Multiple IFDs
  • Bilevel images
  • Basic compression
  • Strips
  • Palette-color images
  • Full-color images

And all the memory mapping benefits from #51 would work for general TIFF files too.

Initial minimal working example available at https://github.com/tlnagy/TIFF.jl.

Once that package achieves baseline TIFF compatibility it would be nice to refactor OMETIFF.jl to use TIFF.jl's general loading code since it's going to be much more versatile and reliable.

The first version of TiffImages.jl is out on the General Registry. Now it's time to refactor OMETIFF.jl to use it as its new engine.