2008.11.18 22:54 "[Tiff] Testers needed for major upgrade to tiffcrop", by Richard Nolde

I'm very nearly ready to upload my latest revision of tiffcrop for distribution but I would like to have a few testers with image formats that are not available to me. This release will support bit depths from 1 - 32 bits for RGB data with or without extra samples, plus 32 and 64 bit floating point data. It adds a multitude of new export options for selections extracted from the images in the source file, eg one file per selection, one image per selection but written out as a sequence of images within one or more files, one file for all selections from all input images. As with tiffcrop, multiple input files can be processed in a single pass and arbitrary sequences of images within multi-page tiffs extracted from each one.

Selections may be made as zones (fractional portions of the image), regions (areas delimited by the coordinates of the top left and bottom right corners), and fixed sized areas (X wide by Y high), in combination with margins subtracted from the input image first. Whole images or selections can be rotated and/or mirrored during the same pass as any extraction routines.

This update will provide limited support for a dump option that can be used to export or examine the raw data from one or more planes of the input and output images. The data can be written as binary values without any headers or as an ascii dump, currently limited to sequences of '1' and '0' characters representing each byte which I have used to debug my new bit shifter engine. I plan to add support for extracting one or more sample planes as TIFF files in the near future since my current routines support this internally. If I read the TIFF 6.0 spec correctly, RGB must have at least 3 values, but may have more using the Extra Samples tag. Having worked with MRI images, I can imagine that there may be scientific data with multiple planes and it would be useful to extract one or more of them to a new TIFF image. Would it be correct to assume that any single plane could be extracted as a grayscale image (possibly scaled to a requested bit depth)? Similarly, would it be correct (though not necessarily visually coherent) to extract any three sample planes to an RGB image? Finally, is it meaningful to reduce the bit depth of an image by selecting some smaller number of bits from the original bits in each sample? This strikes me as a quick, brute force way to reduce the storage required for say an image catalog of high dynamic range images without the overhead of examining the entire data set to find minima and maxima or other criteria to be used with a function to map the range of input values to the new range of output values but the results may be so crude as to be unusable. Has anyone been down this road?

Richard Nolde

Tiffcrop author