gov.nasa.worldwind.formats.tiff.Tiff Maven / Gradle / Ivy
The newest version!
/*
* Copyright (C) 2012 United States Government as represented by the Administrator of the
* National Aeronautics and Space Administration.
* All Rights Reserved.
*/
package gov.nasa.worldwind.formats.tiff;
/**
* @author Lado Garakanidze
* @version $Id: Tiff.java 1171 2013-02-11 21:45:02Z dcollins $
*/
public interface Tiff
{
public static final int Undefined = 0;
public interface Type
{
public static final int BYTE = 1;
public static final int ASCII = 2;
public static final int SHORT = 3;
public static final int LONG = 4;
public static final int RATIONAL = 5;
public static final int SBYTE = 6;
public static final int UNDEFINED = 7;
public static final int SSHORT = 8;
public static final int SLONG = 9;
public static final int SRATIONAL = 10;
public static final int FLOAT = 11;
public static final int DOUBLE = 12;
}
public interface Tag
{
// Baseline Tiff 6.0 tags...
public static final int IMAGE_WIDTH = 256;
public static final int IMAGE_LENGTH = 257;
public static final int BITS_PER_SAMPLE = 258;
public static final int COMPRESSION = 259;
public static final int PHOTO_INTERPRETATION = 262;
public static final int DOCUMENT_NAME = 269;
public static final int IMAGE_DESCRIPTION = 270;
public static final int DEVICE_MAKE = 271; // manufacturer of the scanner or video digitizer
public static final int DEVICE_MODEL = 272; // model name/number of the scanner or video digitizer
public static final int STRIP_OFFSETS = 273;
public static final int ORIENTATION = 274;
public static final int SAMPLES_PER_PIXEL = 277;
public static final int ROWS_PER_STRIP = 278;
public static final int STRIP_BYTE_COUNTS = 279;
public static final int MIN_SAMPLE_VALUE = 280;
public static final int MAX_SAMPLE_VALUE = 281;
public static final int X_RESOLUTION = 282;
public static final int Y_RESOLUTION = 283;
public static final int PLANAR_CONFIGURATION = 284;
public static final int RESOLUTION_UNIT = 296;
public static final int SOFTWARE_VERSION = 305; // Name and release # of the software that created the image
public static final int DATE_TIME = 306; // uses format "YYYY:MM:DD HH:MM:SS"
public static final int ARTIST = 315;
public static final int COPYRIGHT = 315; // same as ARTIST
public static final int TIFF_PREDICTOR = 317;
public static final int COLORMAP = 320;
public static final int TILE_WIDTH = 322;
public static final int TILE_LENGTH = 323;
public static final int TILE_OFFSETS = 324;
public static final int TILE_COUNTS = 325;
// Tiff extensions...
public static final int SAMPLE_FORMAT = 339; // SHORT array of samplesPerPixel size
}
// The orientation of the image with respect to the rows and columns.
public interface Orientation
{
// 1 = The 0th row represents the visual top of the image,
// and the 0th column represents the visual left-hand side.
public static final int Row0_IS_TOP__Col0_IS_LHS = 1;
//2 = The 0th Row represents the visual top of the image,
// and the 0th column represents the visual right-hand side.
public static final int Row0_IS_TOP__Col0_IS_RHS = 2;
//3 = The 0th row represents the visual bottom of the image,
// and the 0th column represents the visual right-hand side.
public static final int Row0_IS_BOTTOM__Col0_IS_RHS = 3;
//4 = The 0th row represents the visual bottom of the image,
// and the 0th column represents the visual left-hand side.
public static final int Row0_IS_BOTTOM__Col0_IS_LHS = 4;
//5 = The 0th row represents the visual left-hand side of the image,
// and the 0th column represents the visual top.
public static final int Row0_IS_LHS__Col0_IS_TOP = 5;
//6 = The 0th row represents the visual right-hand side of the image,
// and the 0th column represents the visual top.
public static final int Row0_IS_RHS__Col0_IS_TOP = 6;
//7 = The 0th row represents the visual right-hand side of the image,
// and the 0th column represents the visual bottom.
public static final int Row0_IS_RHS__Col0_IS_BOTTOM = 7;
public static final int DEFAULT = Row0_IS_TOP__Col0_IS_LHS;
}
public interface BitsPerSample
{
public static final int MONOCHROME_BYTE = 8;
public static final int MONOCHROME_UINT8 = 8;
public static final int MONOCHROME_UINT16 = 16;
public static final int ELEVATIONS_INT16 = 16;
public static final int ELEVATIONS_FLOAT32 = 32;
public static final int RGB = 24;
public static final int YCbCr = 24;
public static final int CMYK = 32;
}
public interface SamplesPerPixel
{
public static final int MONOCHROME = 1;
public static final int RGB = 3;
public static final int RGBA = 4;
public static final int YCbCr = 3;
public static final int CMYK = 4;
}
// The color space of the image data
public interface Photometric
{
public static final int Undefined = -1;
// 0 = WhiteIsZero
// For bilevel and grayscale images: 0 is imaged as white.
// 2**BitsPerSample-1 is imaged as black.
// This is the normal value for Compression=2
public static final int Grayscale_WhiteIsZero = 0;
// 1 = BlackIsZero
// For bilevel and grayscale images: 0 is imaged as black.
// 2**BitsPerSample-1 is imaged as white.
// If this value is specified for Compression=2, the image should display and print reversed.
public static final int Grayscale_BlackIsZero = 1;
// 2 = RGB
// The RGB value of (0,0,0) represents black, (255,255,255) represents white,
// assuming 8-bit components.
// Note! For PlanarConfiguration=1, the components are stored in the indicated order:
// first Red, then Green, then Blue.
// For PlanarConfiguration = 2, the StripOffsets for the component planes are stored
// in the indicated order: first the Red component plane StripOffsets,
// then the Green plane StripOffsets, then the Blue plane StripOffsets.
public static final int Color_RGB = 2;
// 3 = Palette color
// In this model, a color is described with a single component.
// The value of the component is used as an index into the red, green and blue curves in
// the ColorMap field to retrieve an RGB triplet that defines the color.
//
// Note!!
// When PhotometricInterpretation=3 is used, ColorMap must be present and SamplesPerPixel must be 1.
public static final int Color_Palette = 3;
// 4 = Transparency Mask.
// This means that the image is used to define an irregularly shaped region of another
// image in the same TIFF file.
//
// SamplesPerPixel and BitsPerSample must be 1.
//
// PackBits compression is recommended.
// The 1-bits define the interior of the region; the 0-bits define the exterior of the region.
//
// A reader application can use the mask to determine which parts of the image to
// display. Main image pixels that correspond to 1-bits in the transparency mask are
// imaged to the screen or printer, but main image pixels that correspond to 0-bits in
// the mask are not displayed or printed.
// The image mask is typically at a higher resolution than the main image, if the
// main image is grayscale or color so that the edges can be sharp.
public static final int Transparency_Mask = 4;
public static final int CMYK = 5;
public static final int YCbCr = 6;
// There is no default for PhotometricInterpretation, and it is required.
}
public interface Compression
{
public static final int NONE = 1;
public static final int LZW = 5;
public static final int JPEG = 6;
public static final int PACKBITS = 32773;
}
public interface PlanarConfiguration
{
// CHUNKY
// The component values for each pixel are stored contiguously.
// The order of the components within the pixel is specified by PhotometricInterpretation.
// For example, for RGB data, the data is stored as RGBRGBRGB...
public static final int CHUNKY = 1;
// PLANAR
// The components are stored in separate component planes.
// The values in StripOffsets and StripByteCounts are then arranged as
// a 2-dimensional array, with SamplesPerPixel rows and StripsPerImage columns.
// (All of the columns for row 0 are stored first, followed by the columns of row 1, and so on.)
//
// PhotometricInterpretation describes the type of data stored in each component plane.
// For example, RGB data is stored with the Red components in one component plane,
// the Green in another, and the Blue in another.
//
// Note!
// If SamplesPerPixel is 1, PlanarConfiguration is irrelevant, and need not be included.
public static final int PLANAR = 2;
public static final int DEFAULT = CHUNKY;
}
public interface ResolutionUnit
{
public static final int NONE = 1;
public static final int INCH = 2;
public static final int CENTIMETER = 3;
}
public interface SampleFormat
{
public static final int UNSIGNED = 1;
public static final int SIGNED = 2;
public static final int IEEEFLOAT = 3;
public static final int UNDEFINED = 4;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy