NVIDIA nvTIFF#
nvTIFF is a GPU accelerated TIFF (Tagged Image File Format) library built on the CUDA platform. It supports the following TIFF feature set:
Decoder#
Compression
None (uncompressed)
LZW
PackBits
Deflate (via nvCOMP)
Zstandard (via nvCOMP)
JPEG (via nvJPEG)
JPEG 2000 (via nvJPEG2000), including the Aperio JPEG 2000 YCC and RGB variants
Image format
Classic TIFF and BigTIFF.
Strips or tiles.
Planar Separate and Contiguous modes.
Up to 16 samples per pixel.
Up to 32 bits per sample (up to 16 bits for JPEG 2000 and 8 bits for JPEG).
Unsigned and signed integer samples.
32-bit floating point samples.
Color space can be Grayscale, RGB, YCbCr, or RGB Palette. When compressed data is in YCbCr or Palette mode, the library converts the decoded output to RGB. The output can also be converted to 8- or 16-bit interleaved RGB.
Files and images
Decode from a file or from a host memory buffer.
Multi-image TIFFs, including images with different properties. Images are addressed by IFD offset, so any IFD, including SubIFDs, can be accessed and decoded directly.
Whole-slide imaging (WSI) files: Aperio SVS, Hamamatsu NDPI, Leica SCN, Philips TIFF, Trestle, Ventana BIF, Vectra QPTIFF, and OME-TIFF. NDPI support includes files larger than 4 GB and images with dimensions above 65536 x 65536.
Region of interest (ROI) decoding.
Batched decoding of multiple regions or images in a single call.
Reading arbitrary TIFF tags.
Reading GeoTIFF metadata.
Encoder#
Compression
None (uncompressed)
LZW
Deflate (via nvCOMP)
Zstandard (via nvCOMP)
JPEG (via nvJPEG), with control over quality, optimized Huffman coding, and RGB chroma subsampling
Image format
Classic TIFF and BigTIFF.
Planar Contiguous mode only.
1 sample per pixel (grayscale), or 3 to 5 samples per pixel (RGB with optional extra samples), up to 32 bits per sample. JPEG supports unsigned 8-bit grayscale and RGB input.
Unsigned integer and floating point samples.
Compressed data is organized in strips or tiles.
Horizontal differencing predictor for LZW, Deflate, and Zstandard.
Writing arbitrary TIFF tags.
Writing GeoTIFF keys.
Multiple images in a TIFF file.
Files and images
Output to a file or a host memory buffer.