ome-files
0.5.0
|
TIFF file format (libtiff wrapper). More...
Classes | |
struct | Codec |
A TIFF codec. More... | |
class | Exception |
Exception thrown for TIFF (libtiff) errors. More... | |
class | Field |
Field representing a tag value. More... | |
class | FieldBase |
Common functionality for fields of all types. More... | |
class | IFD |
Image File Directory (IFD). More... | |
class | IFDIterator |
Iterator for IFDs contained within a TIFF. More... | |
struct | IFDRange |
Range of IFDs for an image series. More... | |
struct | ImageJMetadata |
ImageJ metadata from IFD tags. More... | |
class | Sentry |
Sentry for saving and restoring libtiff state. More... | |
class | TIFF |
Tagged Image File Format (TIFF). More... | |
class | TileInfo |
Tile information for an IFD. More... | |
class | Value |
Field value. More... | |
class | ValueProxy |
Proxy for getting and setting a Field value. More... | |
Typedefs | |
typedef uint16_t | directory_index_type |
IFD index. | |
typedef uint64_t | offset_type |
IFD offset. | |
typedef unsigned int | tag_type |
Tag number. | |
typedef std::vector< IFDRange > | SeriesIFDRange |
Mapping between series index and IFD range. | |
Functions | |
const std::vector< Codec > & | getCodecs () |
Get codecs registered with the TIFF library. More... | |
const std::vector< std::string > & | getCodecNames () |
Get codec names registered with the TIFF library. More... | |
const std::vector< std::string > & | getCodecNames (ome::xml::model::enums::PixelType pixeltype) |
Get codec names registered with the TIFF library available for a given pixel type. More... | |
Compression | getCodecScheme (const std::string &name) |
Get the compression scheme enumeration for a codec name. More... | |
tag_type | getWrappedTag (StringTag1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (StringTagArray1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Tag1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16TagArray1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Compression1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16FillOrder1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Orientation1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16PhotometricInterpretation1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16PlanarConfiguration1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Predictor1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16SampleFormat1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Threshholding1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16YCbCrPosition1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Tag2 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16Tag6 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16ExtraSamplesArray1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt16TagArray3 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt32Tag1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt32TagArray1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (UInt64TagArray1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (RawDataTag1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (FloatTag1 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (FloatTag2 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (FloatTag3 tag) |
Get the TIFF tag number for the specified tag. More... | |
tag_type | getWrappedTag (FloatTag6 tag) |
Get the TIFF tag number for the specified tag. More... | |
std::shared_ptr< CoreMetadata > | makeCoreMetadata (const IFD &ifd) |
Create CoreMetadata from an IFD. More... | |
void | getCoreMetadata (const IFD &ifd, CoreMetadata &core) |
Get CoreMetadata from an IFD. More... | |
dimension_size_type | ifdIndex (const SeriesIFDRange &seriesIFDRange, dimension_size_type series, dimension_size_type plane) |
Compute IFD index from IFD map and plane index. More... | |
bool | enableBigTIFF (const boost::optional< bool > &wantBig, storage_size_type pixelSize, const boost::filesystem::path &filename, ome::common::Logger &logger) |
Check if BigTIFF should be enabled. More... | |
TIFF file format (libtiff wrapper).
Compression technique.
Enumerator | |
---|---|
COMPRESSION_NONE | No compression. |
COMPRESSION_CCITTRLE | CCITT modified Huffman RLE. |
COMPRESSION_CCITTFAX3 | CCITT Group 3 fax encoding (deprecated). |
COMPRESSION_CCITT_T4 | CCITT T.4 (TIFF 6 name). |
COMPRESSION_CCITTFAX4 | CCITT Group 4 fax encoding (deprecated). |
COMPRESSION_CCITT_T6 | CCITT T.6 (TIFF 6 name). |
COMPRESSION_LZW | Lempel-Ziv & Welch. |
COMPRESSION_OJPEG | JPEG (deprecated). |
COMPRESSION_JPEG | JPEG DCT compression. |
COMPRESSION_ADOBE_DEFLATE | Deflate compression (Adobe). |
COMPRESSION_T85 | TIFF/FX T.85 JBIG compression. |
COMPRESSION_T43 | TIFF/FX T.43 colour by layered JBIG compression. |
COMPRESSION_NEXT | NeXT 2-bit RLE. |
COMPRESSION_CCITTRLEW | 1 w/ word alignment. |
COMPRESSION_PACKBITS | Macintosh RLE. |
COMPRESSION_THUNDERSCAN | ThunderScan RLE. |
COMPRESSION_IT8CTPAD | IT8 CT w/padding. |
COMPRESSION_IT8LW | IT8 Linework RLE. |
COMPRESSION_IT8MP | IT8 Monochrome picture. |
COMPRESSION_IT8BL | IT8 Binary line art. |
COMPRESSION_PIXARFILM | Pixar companded 10bit LZW. |
COMPRESSION_PIXARLOG | Pixar companded 11bit ZIP. |
COMPRESSION_DEFLATE | Deflate compression. |
COMPRESSION_DCS | Kodak DCS encoding. |
COMPRESSION_JBIG | ISO JBIG. |
COMPRESSION_SGILOG | SGI Log Luminance RLE. |
COMPRESSION_SGILOG24 | SGI Log 24-bit packed. |
COMPRESSION_JP2000 | Leadtools JPEG2000. |
COMPRESSION_LZMA | LZMA2. |
Image orientation.
Photometric interpretation of pixel data.
String fields.
Tag types.
Unsigned 16-bit integer fields.
Unsigned 16-bit integer (×2) fields.
Unsigned 32-bit integer fields.
Unsigned 64-bit integer fields.
bool ome::files::tiff::enableBigTIFF | ( | const boost::optional< bool > & | wantBig, |
storage_size_type | pixelSize, | ||
const boost::filesystem::path & | filename, | ||
ome::common::Logger & | logger | ||
) |
Check if BigTIFF should be enabled.
A number of factors determine if BigTIFF support should be enabled:
If BigTIFF could not be enabled when requested or needed then an appropriate warning will be logged.
wantBig | user requirement (true to enable, false to disable, unset if unspecified). |
pixelSize | the total size of pixel data to be written |
filename | the name of the TIFF file to write (if a known BigTIFF extension is used, BigTIFF will be enabled). |
logger | the logger to use to log errors. |
true
to enable BigTIFF or false
to disable. const std::vector< std::string > & ome::files::tiff::getCodecNames | ( | ) |
Get codec names registered with the TIFF library.
References getCodecs().
const std::vector< std::string > & ome::files::tiff::getCodecNames | ( | ome::xml::model::enums::PixelType | pixeltype | ) |
Get codec names registered with the TIFF library available for a given pixel type.
pixeltype | the pixel type to compress. |
References COMPRESSION_ADOBE_DEFLATE, COMPRESSION_CCITT_T4, COMPRESSION_CCITT_T6, COMPRESSION_CCITTRLE, COMPRESSION_CCITTRLEW, COMPRESSION_DCS, COMPRESSION_DEFLATE, COMPRESSION_IT8BL, COMPRESSION_IT8CTPAD, COMPRESSION_IT8LW, COMPRESSION_IT8MP, COMPRESSION_JBIG, COMPRESSION_JP2000, COMPRESSION_JPEG, COMPRESSION_LZMA, COMPRESSION_LZW, COMPRESSION_NEXT, COMPRESSION_NONE, COMPRESSION_OJPEG, COMPRESSION_PACKBITS, COMPRESSION_PIXARFILM, COMPRESSION_PIXARLOG, COMPRESSION_SGILOG, COMPRESSION_SGILOG24, COMPRESSION_T43, COMPRESSION_T85, COMPRESSION_THUNDERSCAN, and getCodecs().
const std::vector< Codec > & ome::files::tiff::getCodecs | ( | ) |
Get codecs registered with the TIFF library.
References ome::files::tiff::Codec::name, and ome::files::tiff::Codec::scheme.
Referenced by getCodecNames(), and getCodecScheme().
Compression ome::files::tiff::getCodecScheme | ( | const std::string & | name | ) |
Get the compression scheme enumeration for a codec name.
name | the codec name |
References COMPRESSION_NONE, and getCodecs().
Referenced by ome::files::out::MinimalTIFFWriter::setupIFD(), and ome::files::out::OMETIFFWriter::setupIFD().
void ome::files::tiff::getCoreMetadata | ( | const IFD & | ifd, |
CoreMetadata & | core | ||
) |
Get CoreMetadata from an IFD.
ifd | the IFD to use. |
core | the CoreMetadata to set. |
References ARTIST, ome::files::bitsPerPixel(), ome::files::CoreMetadata::bitsPerPixel, BITSPERSAMPLE, CELLLENGTH, CELLWIDTH, CFA_ARRAY, COLORMAP, COMPRESSION, COMPRESSION_CCITT_T4, COMPRESSION_CCITT_T6, COMPRESSION_LZW, CONTIG, COPYRIGHT, DATETIME, ome::files::CoreMetadata::dimensionOrder, DOCUMENTNAME, DOTRANGE, EXTRASAMPLES, FILLORDER, ome::files::tiff::IFD::getBitsPerSample(), ome::files::tiff::IFD::getField(), ome::files::tiff::IFD::getImageHeight(), ome::files::tiff::IFD::getImageWidth(), ome::files::tiff::IFD::getPhotometricInterpretation(), ome::files::tiff::IFD::getPixelType(), ome::files::tiff::IFD::getPlanarConfiguration(), ome::files::tiff::IFD::getSamplesPerPixel(), GRAYRESPONSECURVE, GRAYRESPONSEUNIT, HALFTONE, HALFTONEHINTS, HOSTCOMPUTER, ome::files::CoreMetadata::imageCount, IMAGELENGTH, IMAGEWIDTH, INDEXED, ome::files::CoreMetadata::indexed, INKNAMES, INKSET, ome::files::CoreMetadata::interleaved, ome::files::CoreMetadata::littleEndian, MAKE, MAXSAMPLEVALUE, MINSAMPLEVALUE, MODEL, NUMBEROFINKS, ORIENTATION, PAGENAME, PAGENUMBER, PALETTE, PHOTOMETRIC, ome::files::CoreMetadata::pixelType, PLANARCONFIG, PREDICTOR, PRIMARYCHROMATICITIES, REFERENCEBLACKWHITE, RESOLUTIONUNIT, RGB, SAMPLEFORMAT, SAMPLESPERPIXEL, ome::files::CoreMetadata::seriesMetadata, ome::files::MetadataMap::set(), ome::files::significantBitsPerPixel(), ome::files::CoreMetadata::sizeC, ome::files::CoreMetadata::sizeT, ome::files::CoreMetadata::sizeX, ome::files::CoreMetadata::sizeY, ome::files::CoreMetadata::sizeZ, SOFTWARE, SUBFILETYPE, T4OPTIONS, T6OPTIONS, TARGETPRINTER, THRESHHOLDING, TILELENGTH, TILEWIDTH, TRANSFERFUNCTION, TRANSFERRANGE, WHITEPOINT, XPOSITION, XRESOLUTION, ome::xml::model::enums::DimensionOrder::XYCZT, YCBCRCOEFFICIENTS, YCBCRPOSITIONING, YCBCRSUBSAMPLING, YPOSITION, and YRESOLUTION.
Referenced by makeCoreMetadata().
tag_type ome::files::tiff::getWrappedTag | ( | StringTag1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References ARTIST, COPYRIGHT, DATETIME, DOCUMENTNAME, HOSTCOMPUTER, IMAGEDESCRIPTION, MAKE, MODEL, PAGENAME, SOFTWARE, and TARGETPRINTER.
tag_type ome::files::tiff::getWrappedTag | ( | StringTagArray1 | tag | ) |
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Tag1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References BITSPERSAMPLE, CELLLENGTH, CELLWIDTH, CLEANFAXDATA, DATATYPE, GRAYRESPONSEUNIT, INDEXED, INKSET, MATTEING, MAXSAMPLEVALUE, MINSAMPLEVALUE, NUMBEROFINKS, RESOLUTIONUNIT, and SAMPLESPERPIXEL.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16TagArray1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References GRAYRESPONSECURVE.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Compression1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References COMPRESSION.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16FillOrder1 | tag | ) |
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Orientation1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References ORIENTATION.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16PhotometricInterpretation1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References PHOTOMETRIC.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16PlanarConfiguration1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References PLANARCONFIG.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Predictor1 | tag | ) |
tag_type ome::files::tiff::getWrappedTag | ( | UInt16SampleFormat1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References SAMPLEFORMAT.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Threshholding1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References THRESHHOLDING.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16YCbCrPosition1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References YCBCRPOSITIONING.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Tag2 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References DOTRANGE, HALFTONEHINTS, PAGENUMBER, and YCBCRSUBSAMPLING.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16Tag6 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References TRANSFERRANGE.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16ExtraSamplesArray1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References EXTRASAMPLES.
tag_type ome::files::tiff::getWrappedTag | ( | UInt16TagArray3 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References COLORMAP, and TRANSFERFUNCTION.
tag_type ome::files::tiff::getWrappedTag | ( | UInt32Tag1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References BADFAXLINES, CONSECUTIVEBADFAXLINES, GROUP3OPTIONS, GROUP4OPTIONS, IMAGEDEPTH, IMAGELENGTH, IMAGEWIDTH, ROWSPERSTRIP, SUBFILETYPE, T4OPTIONS, T6OPTIONS, TILEDEPTH, TILELENGTH, and TILEWIDTH.
tag_type ome::files::tiff::getWrappedTag | ( | UInt32TagArray1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References IMAGEJ_META_DATA_BYTE_COUNTS, and RICHTIFFIPTC.
tag_type ome::files::tiff::getWrappedTag | ( | UInt64TagArray1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References FREEBYTECOUNTS, FREEOFFSETS, STRIPBYTECOUNTS, STRIPOFFSETS, SUBIFD, TILEBYTECOUNTS, and TILEOFFSETS.
tag_type ome::files::tiff::getWrappedTag | ( | RawDataTag1 | tag | ) |
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References ICCPROFILE, IMAGEJ_META_DATA, JPEGTABLES, PHOTOSHOP, and XMLPACKET.
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References XPOSITION, XRESOLUTION, YPOSITION, and YRESOLUTION.
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References WHITEPOINT.
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References YCBCRCOEFFICIENTS.
Get the TIFF tag number for the specified tag.
tag | the tag to use. |
References PRIMARYCHROMATICITIES, and REFERENCEBLACKWHITE.
dimension_size_type ome::files::tiff::ifdIndex | ( | const SeriesIFDRange & | seriesIFDRange, |
dimension_size_type | series, | ||
dimension_size_type | plane | ||
) |
Compute IFD index from IFD map and plane index.
seriesIFDRange | the series–IFD range mapping. |
series | the series to use. |
plane | the plane within the series to use. |
References ome::files::tiff::IFDRange::begin.
Referenced by ome::files::in::MinimalTIFFReader::ifdAtIndex(), and ome::files::out::MinimalTIFFWriter::saveBytes().
std::shared_ptr< CoreMetadata > ome::files::tiff::makeCoreMetadata | ( | const IFD & | ifd | ) |
Create CoreMetadata from an IFD.
ifd | the IFD to use. |
References getCoreMetadata().
Referenced by ome::files::in::TIFFReader::readIFDs().