5 ms·
Tiff is very useful because it lets you do almost anything. A tiff image is just several arrays of numbers, you decide how many bits, signed, unsigned, float, i
by cornellwright 10y ago
Tiff is very useful because it lets you do almost anything. A tiff image is just several arrays of numbers, you decide how many bits, signed, unsigned, float, int, etc.
This is very helpful for processing which treats each pixel as a sample of the scene, such as computational microscopy or remote sensing. I've always wondered if that had something to do with why it was hosted at remotesensing.org.
- banachtarski 10y agoSee my edit. Also, when you are doing image processing, operating in scanlines is usually the least performant way of doing things, hence whey we have texture compression formats (even lossless ones) which do block encodings. TIFF has no reason for existing in my opinion.
- cjhanks 10y agoTIFF supports many useful features for processing very large images. Tiled compression, storing channels in contiguous hyperplanes or on a single image plane, multiple levels of detail, custom compression codecs (lossless or lossy), sparse images, arbitrary bit widths, and permits storing arbitrary metadata with the data. Viewers of libtiff often treat it like PNG/JPEG, but good Tiff viewers can leverage this functionality. Typically few batteries are included. Tiff is kind of a cross breed between structured portable formats (HDF5/NetCDF) and imagery.
- banachtarski 10y agoI don't doubt that you can have a library that provides all those features. All those features can exist for any lossless image format. My point is that as far as comparing image formats goes, the capabilities of the frontend library isn't a useful metric for evaluating the format itself which, in my opinion, can optimize for the following traits: 1. On-disk size 2. Compression/decompression speed 3. Access speed (for use in image analysis algorithms, editing, compositing, etc) 4. GPU friendliness (which operates in warps on small blocks of contiguous pixels in image space) TIFF doesn't really optimize for any of these (not even #2 since in-memory decompression can be faster than paging uncompressed data from disk)
- rleigh 10y agoTIFF is the standard format for scientific imaging. It's the container format used by well over 80% of all imaging formats out there. It's being slowly replaced by HDF5 for some applications. But all of the features you mention above are tunable and are in practice perfectly fine with TIFF containers.
- 7952 10y agoThe big problem with highly tuned formats is that they make a lot of choices for the user. This works well when the format is used exactly as designed, but that is often not the case. With a tif I can pick exactly the compression, bit depth, color mode, tiling etc. that I need for the specific data.
- gpvos 10y ago> All those features can exist for any lossless image format. Yes, but for most image formats they aren't defined. They are for TIFF. The problem, of course, is that if you use an exotic TIFF feature, very few TIFF readers will understand you.
- rleigh 10y agoTIFF can operate with scanlines, strips or tiles. Big images, such as 200k x 200k digital pathology slide scans, are stored in TIFF as e.g. 512x512 tiles, indivdually compressed and transparently accessible to the viewer. It is perfectly capable of dealing with images of vast sizes.