JPEG 2000 Metadata Structure
ImageGear JPEG 2000 format filter allows you to work with non-image data stored in supported file formats. It provides metadata tags that make possible manipulating with such kinds of non-image information:
- XML & IPR information
- Alpha channels mapping
- Format type information
- Type of compression (lossy or lossless)
The following metadata tags are available to work with JPEG 2000 files:
"AlphaMapping"
This tag establishes the relationship, if any, between color channels and alpha (and/or pre-multiplied) alpha channels. Each element of array specifies number of alpha channel associated with regular (color) channel. Zero or negative value means absence of alpha mapping for particular color channel. For example:
"AlphaMapping" with {1, 1, 1, -1} as value means that all red, green and blue channels of image are mapped to single (first) alpha channel, which available under 0-index for current image through ImageGear API. {-1, 2, 1, -1} value means availability of two different alpha channels for green and blue channels and absence of alpha channel for red channel.
Additional information about available alpha channels can be accessed through "Alpha1", "Alpha2", "Alpha3" and "Alpha4" tags.
"Alpha1", "Alpha2", "Alpha3", "Alpha4"
Each of these tags represents information about alpha channels. Valid value for each tag is array with three integer elements. First element represents index of codestream (-1 or non-negative value), in which alpha channel is (or "should be" in case of write) resided. Second - index of component in which alpha is stored (-1 or non-negative value). Last element specifies whether alpha is regular (0) or pre-multiplied (1). For example:
"Alpha1" with {0, 3, 0} as value means that first alpha channel is regular and located in fourth component of the first codestream. {1, 0, 1} value represents pre-multiplied alpha in first component of second codestream in JPX layer.
"XML"
This tag serves for getting and setting some specific information written in XML language.
JPEG 2000 format is only able to store XML data. It must be set as a text string.
"IPR"
This tag serves for getting and setting IPR (Intellectual Property Rights) information. The IPR metadata defines metadata to either protect the rights of the owner of the image or provide further information to request permission to use it. It is important for developers and users to properly protect the rights of the owner of the image data.
JPEG 2000 format is only able to store IPR data. It must be set as a text string.
"Format"
This tag serves for getting the format of the JPEG 2000 file. Its possible values are:
- ImGearJPEG2KType.CODESTREAM = 0
- ImGearJPEG2KType.FILE_FORMAT = 1
"Compression"
This tag serves for getting a compression type of the JPEG 2000 image. Its possible values are:
- ImGearJPEG2KCompressions.LOSSY = 0
- ImGearJPEG2KCompressions.LOSSLESS = 1
JPEG2K sets one of these values depending on the type of the image. This tag is not used in JPEG2K writing.
"Resolution"
This tag serves for getting the resolution information of JPEG 2000 image. It contains four fields of type double that specify resolution values, in pixels per meter:
- Capture Resolution X
- Capture Resolution Y
- Display Resolution X
- Display Resolution Y
If neither Capture nor Display resolution is present in the image the corresponding fields are set to 0.0