ome-files  0.5.0
Classes | Typedefs | Enumerations | Functions
ome::files::tiff Namespace Reference

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< IFDRangeSeriesIFDRange
 Mapping between series index and IFD range.
 

Enumerations

enum  StringTag1 {
  ARTIST, COPYRIGHT, DATETIME, DOCUMENTNAME,
  HOSTCOMPUTER, IMAGEDESCRIPTION, MAKE, MODEL,
  PAGENAME, SOFTWARE, TARGETPRINTER
}
 String fields. More...
 
enum  StringTagArray1 { INKNAMES }
 String array fields. More...
 
enum  UInt16Tag1 {
  BITSPERSAMPLE, CELLWIDTH, CELLLENGTH, CLEANFAXDATA,
  DATATYPE, GRAYRESPONSEUNIT, INDEXED, INKSET,
  MATTEING, MAXSAMPLEVALUE, MINSAMPLEVALUE, NUMBEROFINKS,
  RESOLUTIONUNIT, SAMPLESPERPIXEL
}
 Unsigned 16-bit integer fields. More...
 
enum  UInt16TagArray1 { GRAYRESPONSECURVE }
 Unsigned 16-bit integer array fields. More...
 
enum  UInt16Compression1 { COMPRESSION }
 Compression enum fields. More...
 
enum  UInt16FillOrder1 { FILLORDER }
 Fill order enum fields. More...
 
enum  UInt16Orientation1 { ORIENTATION }
 Orientation enum fields. More...
 
enum  UInt16PhotometricInterpretation1 { PHOTOMETRIC }
 Photometric interpretation enum fields. More...
 
enum  UInt16PlanarConfiguration1 { PLANARCONFIG }
 PlanarConfiguration enum fields. More...
 
enum  UInt16Predictor1 { PREDICTOR }
 Predictor enum fields. More...
 
enum  UInt16SampleFormat1 { SAMPLEFORMAT }
 Sample format enum fields. More...
 
enum  UInt16Threshholding1 { THRESHHOLDING }
 Threshholding enum fields. More...
 
enum  UInt16YCbCrPosition1 { YCBCRPOSITIONING }
 YCbCrPosition enum fields. More...
 
enum  UInt16Tag2 { DOTRANGE, HALFTONEHINTS, PAGENUMBER, YCBCRSUBSAMPLING }
 Unsigned 16-bit integer (×2) fields. More...
 
enum  UInt16Tag6 { TRANSFERRANGE }
 Unsigned 16-bit integer (×6) fields. More...
 
enum  UInt16ExtraSamplesArray1 { EXTRASAMPLES }
 Unsigned 16-bit integer array fields. More...
 
enum  UInt16TagArray3 { COLORMAP, TRANSFERFUNCTION }
 Unsigned 16-bit integer array (×3) fields. More...
 
enum  UInt32Tag1 {
  BADFAXLINES, CONSECUTIVEBADFAXLINES, GROUP3OPTIONS, GROUP4OPTIONS,
  IMAGEDEPTH, IMAGELENGTH, IMAGEWIDTH, ROWSPERSTRIP,
  SUBFILETYPE, T4OPTIONS, T6OPTIONS, TILEDEPTH,
  TILELENGTH, TILEWIDTH
}
 Unsigned 32-bit integer fields. More...
 
enum  UInt32TagArray1 { IMAGEJ_META_DATA_BYTE_COUNTS, RICHTIFFIPTC }
 Unsigned 32-bit integer array fields. More...
 
enum  UInt64TagArray1 {
  FREEOFFSETS, FREEBYTECOUNTS, SUBIFD, STRIPBYTECOUNTS,
  STRIPOFFSETS, TILEBYTECOUNTS, TILEOFFSETS
}
 Unsigned 64-bit integer fields. More...
 
enum  RawDataTag1 {
  ICCPROFILE, JPEGTABLES, PHOTOSHOP, XMLPACKET,
  IMAGEJ_META_DATA
}
 Byte (Unsigned 8-bit integer) fields. More...
 
enum  FloatTag1 { XRESOLUTION, YRESOLUTION, XPOSITION, YPOSITION }
 Floating point fields. More...
 
enum  FloatTag2 { WHITEPOINT }
 Floating point (×2) fields. More...
 
enum  FloatTag3 { YCBCRCOEFFICIENTS }
 Floating point (×3) fields. More...
 
enum  FloatTag6 { PRIMARYCHROMATICITIES, REFERENCEBLACKWHITE }
 Floating point (×6) fields. More...
 
enum  Type {
  TYPE_NONE = 0, TYPE_BYTE = 1, TYPE_ASCII = 2, TYPE_SHORT = 3,
  TYPE_LONG = 4, TYPE_RATIONAL = 5, TYPE_SBYTE = 6, TYPE_UNDEFINED = 7,
  TYPE_SSHORT = 8, TYPE_SLONG = 9, TYPE_SRATIONAL = 10, TYPE_FLOAT = 11,
  TYPE_DOUBLE = 12, TYPE_IFD = 13, TYPE_LONG8 = 16, TYPE_SLONG8 = 17,
  TYPE_IFD8 = 18
}
 Tag types. More...
 
enum  Compression {
  COMPRESSION_NONE = 1, COMPRESSION_CCITTRLE = 2, COMPRESSION_CCITTFAX3 = 3, COMPRESSION_CCITT_T4 = 3,
  COMPRESSION_CCITTFAX4 = 4, COMPRESSION_CCITT_T6 = 4, COMPRESSION_LZW = 5, COMPRESSION_OJPEG = 6,
  COMPRESSION_JPEG = 7, COMPRESSION_ADOBE_DEFLATE = 8, COMPRESSION_T85 = 9, COMPRESSION_T43 = 10,
  COMPRESSION_NEXT = 32766, COMPRESSION_CCITTRLEW = 32771, COMPRESSION_PACKBITS = 32773, COMPRESSION_THUNDERSCAN = 32809,
  COMPRESSION_IT8CTPAD = 32895, COMPRESSION_IT8LW = 32896, COMPRESSION_IT8MP = 32897, COMPRESSION_IT8BL = 32898,
  COMPRESSION_PIXARFILM = 32908, COMPRESSION_PIXARLOG = 32909, COMPRESSION_DEFLATE = 32946, COMPRESSION_DCS = 32947,
  COMPRESSION_JBIG = 34661, COMPRESSION_SGILOG = 34676, COMPRESSION_SGILOG24 = 34677, COMPRESSION_JP2000 = 34712,
  COMPRESSION_LZMA = 34925
}
 Compression technique. More...
 
enum  ExtraSamples { UNSPECIFIED = 0, ASSOCIATED_ALPHA = 1, UNASSOCIATED_ALPHA = 2 }
 Extra components description. More...
 
enum  FillOrder { MSB_TO_LSB = 1, LSB_TO_MSB = 2 }
 Fill order. More...
 
enum  Orientation {
  TOP_LEFT = 1, TOP_RIGHT = 2, BOTTOM_RIGHT = 3, BOTTOM_LEFT = 4,
  LEFT_TOP = 5, RIGHT_TOP = 6, RIGHT_BOTTOM = 7, LEFT_BOTTOM = 8
}
 Image orientation. More...
 
enum  PhotometricInterpretation {
  MIN_IS_WHITE = 0, MIN_IS_BLACK = 1, RGB = 2, PALETTE = 3,
  MASK = 4, SEPARATED = 5, YCBCR = 6, CIELAB = 8,
  ICCLAB = 9, ITULAB = 10, CFA_ARRAY = 32803, LOGL = 32844,
  LOGLUV = 32845
}
 Photometric interpretation of pixel data. More...
 
enum  PlanarConfiguration { CONTIG = 1, SEPARATE = 2 }
 Planar configuration of samples. More...
 
enum  Predictor { NONE = 1, HORIZONTAL = 2, FLOATING_POINT = 3 }
 Prediction scheme. More...
 
enum  SampleFormat {
  UNSIGNED_INT = 1, SIGNED_INT = 2, FLOAT = 3, VOID = 4,
  COMPLEX_INT = 5, COMPLEX_FLOAT = 6
}
 Sample format. More...
 
enum  Threshholding { BILEVEL = 1, HALFTONE = 2, ERRORDIFFUSE = 3 }
 Thresholding scheme. More...
 
enum  YCbCrPosition { CENTERED = 1, COSITED = 2 }
 YCbCr positioning. More...
 
enum  TileType { STRIP, TILE }
 Type of tile. More...
 

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< CoreMetadatamakeCoreMetadata (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...
 

Detailed Description

TIFF file format (libtiff wrapper).

Enumeration Type Documentation

◆ Compression

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.

◆ ExtraSamples

Extra components description.

Enumerator
UNSPECIFIED 

Unspecified data.

ASSOCIATED_ALPHA 

Associated alpha data with pre-multiplied color.

UNASSOCIATED_ALPHA 

Unassociated alpha data.

◆ FillOrder

Fill order.

Enumerator
MSB_TO_LSB 

Most significant bit to least significant bit.

LSB_TO_MSB 

Least significant bit to most significant bit.

◆ FloatTag1

Floating point fields.

Enumerator
XRESOLUTION 

Number of pixels per resolution unit along the image width.

YRESOLUTION 

Number of pixels per resolution unit along the image height.

XPOSITION 

The x position of the image in RESOLUTIONUNITs.

YPOSITION 

THe y position of the image in RESOLUTIONUNITs.

◆ FloatTag2

Floating point (×2) fields.

Enumerator
WHITEPOINT 

Chromaticity of the white point of the image as 1931 CIE (xy).

◆ FloatTag3

Floating point (×3) fields.

Enumerator
YCBCRCOEFFICIENTS 

Coefficients describing the RGB to YCbCr transform.

◆ FloatTag6

Floating point (×6) fields.

Enumerator
PRIMARYCHROMATICITIES 

Chromaticities of primary colours as 1931 CIE R(xy) G(xy) B(xy).

REFERENCEBLACKWHITE 

Reference black and white pairs for RGB or YCbCr images.

◆ Orientation

Image orientation.

Enumerator
TOP_LEFT 

Row 0 top, column 0 lhs.

TOP_RIGHT 

Row 0 top, column 0 rhs.

BOTTOM_RIGHT 

Row 0 bottom, column 0 rhs.

BOTTOM_LEFT 

Row 0 bottom, column 0 lhs.

LEFT_TOP 

Row 0 lhs, column 0 top.

RIGHT_TOP 

Row 0 rhs, column 0 top.

RIGHT_BOTTOM 

Row 0 rhs, column 0 bottom.

LEFT_BOTTOM 

Row 0 lhs, column 0 bottom.

◆ PhotometricInterpretation

Photometric interpretation of pixel data.

Enumerator
MIN_IS_WHITE 

Minimum value is white.

MIN_IS_BLACK 

Minimum value is black.

RGB 

RGB subchannels.

PALETTE 

Indexed colour with colormap.

MASK 

Mask.

SEPARATED 

Color separations.

YCBCR 

CCIR 601.

CIELAB 

1976 CIE L*a*b*.

ICCLAB 

ICC L*a*b*.

ITULAB 

ITU L*a*b*.

CFA_ARRAY 

Color Filter Array.

LOGL 

CIE log2(L).

LOGLUV 

CIE log2(L) (u',v').

◆ PlanarConfiguration

Planar configuration of samples.

Enumerator
CONTIG 

Samples are contiguous (chunky).

SEPARATE 

Samples are separate (planar).

◆ Predictor

Prediction scheme.

Enumerator
NONE 

No prediction scheme used.

HORIZONTAL 

Horizontal differencing.

FLOATING_POINT 

Floating point.

◆ RawDataTag1

Byte (Unsigned 8-bit integer) fields.

Enumerator
ICCPROFILE 

ICC profile data.

JPEGTABLES 

JPEG quantization and/or Huffman tables (JPEG "abbreviated table specification" datastream).

PHOTOSHOP 

Photoshop "Image Resource Blocks".

XMLPACKET 

XMP metadata.

IMAGEJ_META_DATA 

Private tag for ImageJ metadata.

◆ SampleFormat

Sample format.

Enumerator
UNSIGNED_INT 

Unsigned integer.

SIGNED_INT 

Signed integer.

FLOAT 

IEEE floating point.

VOID 

Void.

COMPLEX_INT 

Complex integer.

COMPLEX_FLOAT 

Complex IEEE floating point.

◆ StringTag1

String fields.

Enumerator
ARTIST 

Person who created the image.

COPYRIGHT 

Copyright notice.

DATETIME 

Date and time of image creation.

DOCUMENTNAME 

Name of the document from which the image originated.

HOSTCOMPUTER 

Computer and/or operating system creating the image.

IMAGEDESCRIPTION 

Description of the image.

MAKE 

Scanner manufacturer.

MODEL 

Scanner model name or number.

PAGENAME 

Name of the page from which the image originated.

SOFTWARE 

Name and version of the software creating the image.

TARGETPRINTER 

Description of the printing environment.

◆ StringTagArray1

String array fields.

Enumerator
INKNAMES 

Names of each ink used in a separated image.

◆ Threshholding

Thresholding scheme.

Enumerator
BILEVEL 

Black and white.

HALFTONE 

Dithered.

ERRORDIFFUSE 

Error diffusion (Floyd-Steinberg).

◆ TileType

Type of tile.

Enumerator
STRIP 

Strips.

TILE 

Tiles.

◆ Type

Tag types.

Enumerator
TYPE_NONE 

Placeholder.

TYPE_BYTE 

8-bit unsigned integer.

TYPE_ASCII 

8-bit bytes with NUL terminator.

TYPE_SHORT 

16-bit unsigned integer.

TYPE_LONG 

32-bit unsigned integer.

TYPE_RATIONAL 

64-bit unsigned fraction.

TYPE_SBYTE 

8-bit signed integer.

TYPE_UNDEFINED 

8-bit untyped data.

TYPE_SSHORT 

16-bit signed integer.

TYPE_SLONG 

32-bit signed integer.

TYPE_SRATIONAL 

64-bit signed fraction.

TYPE_FLOAT 

32-bit IEEE floating point.

TYPE_DOUBLE 

64-bit IEEE floating point.

TYPE_IFD 

32-bit unsigned integer (offset).

TYPE_LONG8 

BigTIFF 64-bit unsigned integer.

TYPE_SLONG8 

BigTIFF 64-bit signed integer.

TYPE_IFD8 

BigTIFF 64-bit unsigned integer (offset).

◆ UInt16Compression1

Compression enum fields.

Enumerator
COMPRESSION 

Compression scheme in use on the image data.

◆ UInt16ExtraSamplesArray1

Unsigned 16-bit integer array fields.

Enumerator
EXTRASAMPLES 

Description of extra components.

◆ UInt16FillOrder1

Fill order enum fields.

Enumerator
FILLORDER 

Logical order of bits within a byte.

◆ UInt16Orientation1

Orientation enum fields.

Enumerator
ORIENTATION 

Image orientation.

◆ UInt16PhotometricInterpretation1

Photometric interpretation enum fields.

Enumerator
PHOTOMETRIC 

Photometric interpretation; colour space of image data.

◆ UInt16PlanarConfiguration1

PlanarConfiguration enum fields.

Enumerator
PLANARCONFIG 

How components of each pixel are stored.

◆ UInt16Predictor1

Predictor enum fields.

Enumerator
PREDICTOR 

Mathematical operation applied before encoding.

◆ UInt16SampleFormat1

Sample format enum fields.

Enumerator
SAMPLEFORMAT 

How to interpret each data sample in a pixel.

◆ UInt16Tag1

Unsigned 16-bit integer fields.

Enumerator
BITSPERSAMPLE 

Number of bits per component.

CELLWIDTH 

Width of dithering or halftoning matrix for bilevel data.

CELLLENGTH 

Height of dithering or halftoning matrix for bilevel data.

CLEANFAXDATA 

How bad scanlines were handled.

DATATYPE 

Use SAMPLEFORMAT [obsolete].

GRAYRESPONSEUNIT 

Precision of GRAYRESPONSECURVE.

INDEXED 

Image uses indexed color in any color space.

INKSET 

Inkset used in a separated image.

MATTEING 

Use EXTRASAMPLES [obsolete].

MAXSAMPLEVALUE 

Maximum component value.

MINSAMPLEVALUE 

Minimum component value.

NUMBEROFINKS 

Number of inks.

RESOLUTIONUNIT 

Unit of measurement for XRESOLUTION and YRESOLUTION.

SAMPLESPERPIXEL 

Number of components per pixel.

◆ UInt16Tag2

Unsigned 16-bit integer (×2) fields.

Enumerator
DOTRANGE 

Component values corresponding to a 0% dot and 100% dot.

HALFTONEHINTS 

Range of detail (low-high) for which tonal detail should be retained.

PAGENUMBER 

Number of the page from which the image originated.

YCBCRSUBSAMPLING 

Subsampling factors used for YCbCr chrominance components.

◆ UInt16Tag6

Unsigned 16-bit integer (×6) fields.

Enumerator
TRANSFERRANGE 

Expand range of TransferFunction.

◆ UInt16TagArray1

Unsigned 16-bit integer array fields.

Enumerator
GRAYRESPONSECURVE 

Optical density of greyscale pixel values.

◆ UInt16TagArray3

Unsigned 16-bit integer array (×3) fields.

Enumerator
COLORMAP 

Colour map for palette colour images.

TRANSFERFUNCTION 

Transfer function for the image.

◆ UInt16Threshholding1

Threshholding enum fields.

Enumerator
THRESHHOLDING 

Method used to convert to black and white pixels.

◆ UInt16YCbCrPosition1

YCbCrPosition enum fields.

Enumerator
YCBCRPOSITIONING 

Positioning of subsampled chrominance components relative to luminance samples.

◆ UInt32Tag1

Unsigned 32-bit integer fields.

Enumerator
BADFAXLINES 

Number of bad scan lines encountered.

CONSECUTIVEBADFAXLINES 

Maximum number of consecutive bad scan lines encountered.

GROUP3OPTIONS 

Options for Group 3 Fax compression (T4Options).

GROUP4OPTIONS 

Options for Group 4 Fax compression (T6Options).

IMAGEDEPTH 

Number of z planes in the image.

IMAGELENGTH 

Number of rows in the image (pixels per column).

IMAGEWIDTH 

Number of columns in the image (pixels per row).

ROWSPERSTRIP 

Number of rows per strip.

SUBFILETYPE 

Type of data in this subfile [new tag].

T4OPTIONS 

Options for Group3 fax compression.

T6OPTIONS 

Options for Group4 fax compression.

TILEDEPTH 

Tile depth in pixels (z planes).

TILELENGTH 

Tile height in pixels (rows).

TILEWIDTH 

Tile width in pixels (columns).

◆ UInt32TagArray1

Unsigned 32-bit integer array fields.

Enumerator
IMAGEJ_META_DATA_BYTE_COUNTS 

Private tag for ImageJ metadata byte counts.

RICHTIFFIPTC 

IPTC (International Press Telecommunications Council) metadata.

◆ UInt64TagArray1

Unsigned 64-bit integer fields.

Enumerator
FREEOFFSETS 

Offsets of free bytes [unused].

FREEBYTECOUNTS 

Sizes of free bytes [unused].

SUBIFD 

Offsets of child IFDs.

STRIPBYTECOUNTS 

Number of bytes in each strip (after compression).

STRIPOFFSETS 

Byte offset of each strip.

TILEBYTECOUNTS 

Number of bytes in each tile (after compression).

TILEOFFSETS 

Byte offset of each tile.

◆ YCbCrPosition

YCbCr positioning.

Enumerator
CENTERED 

Centered.

COSITED 

Co-sited.

Function Documentation

◆ enableBigTIFF()

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:

  • Does the system libtiff support BigTIFF
  • Did the user request it
  • Is the pixel data over the size limit for non-BigTIFF and the user did not explicitly disable BigTIFF
  • Was a BigTIFF file extension used?

If BigTIFF could not be enabled when requested or needed then an appropriate warning will be logged.

Parameters
wantBiguser requirement (true to enable, false to disable, unset if unspecified).
pixelSizethe total size of pixel data to be written
filenamethe name of the TIFF file to write (if a known BigTIFF extension is used, BigTIFF will be enabled).
loggerthe logger to use to log errors.
Returns
true to enable BigTIFF or false to disable.

◆ getCodecNames() [1/2]

const std::vector< std::string > & ome::files::tiff::getCodecNames ( )

Get codec names registered with the TIFF library.

Returns
a list of available codec names.

References getCodecs().

◆ getCodecNames() [2/2]

const std::vector< std::string > & ome::files::tiff::getCodecNames ( ome::xml::model::enums::PixelType  pixeltype)

◆ getCodecs()

const std::vector< Codec > & ome::files::tiff::getCodecs ( )

Get codecs registered with the TIFF library.

Returns
a list of available codecs (names and numbers).

References ome::files::tiff::Codec::name, and ome::files::tiff::Codec::scheme.

Referenced by getCodecNames(), and getCodecScheme().

+ Here is the caller graph for this function:

◆ getCodecScheme()

Compression ome::files::tiff::getCodecScheme ( const std::string &  name)

Get the compression scheme enumeration for a codec name.

Parameters
namethe codec name
Returns
the compression scheme for the name, or COMPRESSION_NONE if invalid.

References COMPRESSION_NONE, and getCodecs().

Referenced by ome::files::out::MinimalTIFFWriter::setupIFD(), and ome::files::out::OMETIFFWriter::setupIFD().

+ Here is the caller graph for this function:

◆ getCoreMetadata()

void ome::files::tiff::getCoreMetadata ( const IFD ifd,
CoreMetadata core 
)

Get CoreMetadata from an IFD.

Parameters
ifdthe IFD to use.
corethe CoreMetadata to set.
Todo:
EXIF IFDs
Todo:
Text stream output for Tag enums.
Todo:
Metadata type for PhotometricInterpretation.
Todo:
Image orientation (storage order and direction) from ORIENTATION; fix up width and length from orientation.
Todo:
Only set if debugging/verbose.
Todo:
Only set if debugging/verbose.
Todo:
sminsamplevalue
Todo:
smaxsamplevalue
Todo:
Only set if debugging/verbose.
Todo:
JPEG tags

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().

+ Here is the caller graph for this function:

◆ getWrappedTag() [1/25]

tag_type ome::files::tiff::getWrappedTag ( StringTag1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References ARTIST, COPYRIGHT, DATETIME, DOCUMENTNAME, HOSTCOMPUTER, IMAGEDESCRIPTION, MAKE, MODEL, PAGENAME, SOFTWARE, and TARGETPRINTER.

◆ getWrappedTag() [2/25]

tag_type ome::files::tiff::getWrappedTag ( StringTagArray1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References INKNAMES.

◆ getWrappedTag() [3/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Tag1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References BITSPERSAMPLE, CELLLENGTH, CELLWIDTH, CLEANFAXDATA, DATATYPE, GRAYRESPONSEUNIT, INDEXED, INKSET, MATTEING, MAXSAMPLEVALUE, MINSAMPLEVALUE, NUMBEROFINKS, RESOLUTIONUNIT, and SAMPLESPERPIXEL.

◆ getWrappedTag() [4/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16TagArray1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References GRAYRESPONSECURVE.

◆ getWrappedTag() [5/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Compression1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References COMPRESSION.

◆ getWrappedTag() [6/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16FillOrder1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References FILLORDER.

◆ getWrappedTag() [7/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Orientation1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References ORIENTATION.

◆ getWrappedTag() [8/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16PhotometricInterpretation1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References PHOTOMETRIC.

◆ getWrappedTag() [9/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16PlanarConfiguration1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References PLANARCONFIG.

◆ getWrappedTag() [10/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Predictor1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References PREDICTOR.

◆ getWrappedTag() [11/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16SampleFormat1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References SAMPLEFORMAT.

◆ getWrappedTag() [12/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Threshholding1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References THRESHHOLDING.

◆ getWrappedTag() [13/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16YCbCrPosition1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References YCBCRPOSITIONING.

◆ getWrappedTag() [14/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Tag2  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References DOTRANGE, HALFTONEHINTS, PAGENUMBER, and YCBCRSUBSAMPLING.

◆ getWrappedTag() [15/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16Tag6  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References TRANSFERRANGE.

◆ getWrappedTag() [16/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16ExtraSamplesArray1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References EXTRASAMPLES.

◆ getWrappedTag() [17/25]

tag_type ome::files::tiff::getWrappedTag ( UInt16TagArray3  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References COLORMAP, and TRANSFERFUNCTION.

◆ getWrappedTag() [18/25]

tag_type ome::files::tiff::getWrappedTag ( UInt32Tag1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References BADFAXLINES, CONSECUTIVEBADFAXLINES, GROUP3OPTIONS, GROUP4OPTIONS, IMAGEDEPTH, IMAGELENGTH, IMAGEWIDTH, ROWSPERSTRIP, SUBFILETYPE, T4OPTIONS, T6OPTIONS, TILEDEPTH, TILELENGTH, and TILEWIDTH.

◆ getWrappedTag() [19/25]

tag_type ome::files::tiff::getWrappedTag ( UInt32TagArray1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References IMAGEJ_META_DATA_BYTE_COUNTS, and RICHTIFFIPTC.

◆ getWrappedTag() [20/25]

tag_type ome::files::tiff::getWrappedTag ( UInt64TagArray1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References FREEBYTECOUNTS, FREEOFFSETS, STRIPBYTECOUNTS, STRIPOFFSETS, SUBIFD, TILEBYTECOUNTS, and TILEOFFSETS.

◆ getWrappedTag() [21/25]

tag_type ome::files::tiff::getWrappedTag ( RawDataTag1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References ICCPROFILE, IMAGEJ_META_DATA, JPEGTABLES, PHOTOSHOP, and XMLPACKET.

◆ getWrappedTag() [22/25]

tag_type ome::files::tiff::getWrappedTag ( FloatTag1  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References XPOSITION, XRESOLUTION, YPOSITION, and YRESOLUTION.

◆ getWrappedTag() [23/25]

tag_type ome::files::tiff::getWrappedTag ( FloatTag2  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References WHITEPOINT.

◆ getWrappedTag() [24/25]

tag_type ome::files::tiff::getWrappedTag ( FloatTag3  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References YCBCRCOEFFICIENTS.

◆ getWrappedTag() [25/25]

tag_type ome::files::tiff::getWrappedTag ( FloatTag6  tag)

Get the TIFF tag number for the specified tag.

Parameters
tagthe tag to use.
Returns
the tag number, or zero if not implemented.

References PRIMARYCHROMATICITIES, and REFERENCEBLACKWHITE.

◆ ifdIndex()

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.

Parameters
seriesIFDRangethe series–IFD range mapping.
seriesthe series to use.
planethe plane within the series to use.
Returns
the IFD index.

References ome::files::tiff::IFDRange::begin.

Referenced by ome::files::in::MinimalTIFFReader::ifdAtIndex(), and ome::files::out::MinimalTIFFWriter::saveBytes().

+ Here is the caller graph for this function:

◆ makeCoreMetadata()

std::shared_ptr< CoreMetadata > ome::files::tiff::makeCoreMetadata ( const IFD ifd)

Create CoreMetadata from an IFD.

Parameters
ifdthe IFD to use.
Returns
the CoreMetadata.

References getCoreMetadata().

Referenced by ome::files::in::TIFFReader::readIFDs().

+ Here is the caller graph for this function: