A python cli (and web-application) for generating an Image File Directory (IFD) index for TIFFs. See the benchmark from our paper or watch our video explainer to learn more about how our strategy improves random chunk access speeds for OME-TIFF in Viv.
The content of an TIFF IFD Index should match the given description here.
Prototype spec for the structure required for TIFF IFD Index (JSON):
[IFD_offset_0, IFD_offset_1, IFD_offset_2, IFD_offset_3, ..., IFD_offset_N]
where IFD_offset_n
corresponds to the nth byte-offset for the corresponding
Image File Directory in the linear TIFF series.
Note For OME-TIFF, the ordering of IFDs is determined by the
DimensionOrder
attribute in the OME-XML metadata. Each combination ofC
,Z
, andT
corresponds to one IFD, meaning the total number of IFDs is the product of these dimensions (T x C x Z
) and independent of the number of pyramidal resolutions in the OME-TIFF.
pip install generate-tiff-offsets
generate_tiff_offsets --input_file <my_file>.ome.tiff
This command writes the Version 0 Index to the local file system, adjacent to the
input TIFF with the file name <my_file>.offsets.json
.
Warning Our OME-TIFF web-viewer, Avivator expects this naming convension and folder structure in order for the Indexed OME-TIFF to be recognized.
The website requires no installation and can be used to generate the Version 0 index directly in the browser. See our video tutorial for usage instructions.