2015.02.11 01:56 "[Tiff] Interleaved write of multiple TIFF frames", by Paavo

2015.02.11 01:56 "[Tiff] Interleaved write of multiple TIFF frames", by Paavo

Is it possible to write multiple TIFF frames at the same time with libTIFF? I am facing a task of writing TIFF files which could potentially contain multiple multi-gigabyte image frames, with pixel data arriving piecewise in an interleaved fashion and I do not want to collect and hold all these gigabytes in memory buffers.

Theoretically this could be doable as the TIFF format is very flexible and individual image tiles can be scattered all over the file. In the first iteration I would write some tiles for each frame. Later, when new data arrives, I would go back to the needed IFD via TIFFSetDirectory(), write some new tiles and update the tile offsets in the file by TIFFRewriteDirectory(). One problem I see is that TIFFRewriteDirectory() always writes a new IFD in the end of the file, leaving the previous perfectly good IFD as unused junk.

Is this workable? Maybe there are other better ways to achieve this?

TIA

Paavo