IDLffJPEG2000 objects have the following properties. Properties with the word "Yes" in the "Get" column of the property table can be retrieved via IDLffJPEG2000::GetProperty. Properties with the word "Yes" in the "Init" column of the property table can be set via IDLffJPEG2000::Init. Properties with the word "Yes" in the "Set" column in the property table can be set via IDLffJPEG2000::SetProperty.
| Note |
An integer vector containing the bit depth for each image component. Values must be in the range 1 ... 24.
| Note |
A string containing one of the following values:
A string vector containing an element for each comment associated with the object. If the object has no associated comments, the result will be a scalar null string.
A two-element integer array giving the width and height of the image. Values for DIMENSIONS should be in the range 1 ... 232-1.
A two-element floating-point vector giving the default horizontal and vertical display resolution (in samples per meter). This property will return a value of [0.0, 0.0] if the file has no display resolution specified. This keyword is only valid for JP2 files.
| Note |
A string containing the name of the file associated with the object
| Note |
|
Property Type
|
String
|
||
|
Name String
|
not displayed
|
||
|
Get: Yes
|
Set: No
|
Init: Yes (as an argument)
|
Registered: No
|
A boolean returning 1 if the source or target is a JP2 file which supplies additional color interpretation and other functionality beyond the image data code stream, otherwise 0 is returned.
An integer containing the number of image components (or channels) in the entire file or code stream. If N_COMPONENTS is not supplied in the first call to Init or SetProperty, it will be the same as the number of components contained in the image parameters in the first call to SetData.
A positive integer specifying the number of quality layers. A quality layer is one quality increment for the entire image at full resolution. Each layer contains the information required to represent the image at a higher quality, given the information from all the previous layers. All image data bits may be encoded in one layer, or may be broken up into a larger number of layers each containing a further quality refinement.
When writing, the default is one. If N_LAYERS is greater than one, the layers will be assigned roughly logarithmically-spaced bit rates, with the last layer containing all of the compressed bits.
An integer specifying the number of wavelet decomposition levels, or stages, in the range of 0...15.
When writing files, a value of zero indicates that no wavelet transform will be used. If this keyword is omitted, then the default value of 5 is used. When writing JP2 files, if the PALETTE property is set then the default is N_LEVELS=0.
An integer specifying the number of tiles within the file.
A two-element integer array giving the X and Y offsets of all image components. Values for OFFSET should be in the range 0 ... 232-2.
JP2 files may contain a "palette", or color table, which efficiently stores images with only a few distinct colors. The palette associates a color index with each distinct color present in the image. Images stored in JP2 files with a palette consist of only one component which contains the color indices.
When writing a JP2 file, set this property to a 3-by-n or an n-by-3 array of byte or integer values, where n is the number of intensity values, for the three color channels of red, green, and blue. In this case n must be a power of 2 and £ 256.
When reading JP2 files, this property will return an n-by-m array of byte or integer values, where n is the number of intensity values, and m is the number of lookup tables (m is usually 3, indicating red, green, and blue). If the associated object has no palette, this property will return a scalar zero.
| Note |
|
Property Type
|
Byte or Integer Array
|
||
|
Name String
|
not displayed
|
||
|
Get: Yes
|
Set: Yes
|
Init: Yes
|
Registered: No
|
A boolean value that indicates whether the image contained in the object may be accessed more than once. If set to zero, the image contained within the object may not be accessed more than once, and data are discarded whenever possible, minimizing memory usage. The default is PERSISTENT=1, which allows access to the image multiple times. This keyword is ignored if the file is opened for writing.
A string defining the progression order of the output. Progression order may be one of the following: LRCP, RLCP, RPCL, PCRL, CPRL. The four character identifiers have the following interpretation: L = layer; R = resolution; C = component; P = position. Data is written to the output file iteratively over the four progression identifiers in this string, that is, the output is written in four nested iteration levels. The first character in the identifier refers to the outermost level of the iteration, while the last refers to the innermost level. The default is LRCP. This property is ignored when used with files opened for reading.
For example, "LRCP" means that an image is encoded in the following order, with quality being the outermost loop:
In this example, if an image consists of 2 quality layers, 5 resolution levels, 3 components, and 16 positions or tiles, the image would be encoded in a series of packets as follows:
P0C0R0L0, P1C0R0L0, P2C0R0L0, ..., P15C0R0L0 P0C1R0L0, P1C1R0L0, P2C1R0L0, ..., P15C1R0L0 P0C2R0L0, P1C2R0L0, P2C2R0L0, ..., P15C2R0L0 P0C0R1L0, P1C0R1L0, P2C0R1L0, ..., P15C0R1L0 P0C1R1L0, P1C1R1L0, P2C1R1L0, ..., P15C1R1L0 P0C2R1L0, P1C2R1L0, P2C2R1L0, ..., P15C2R1L0 ... ... ... ... ... ... ... ... ... P0C2R4L0, P1C2R4L0, P2C2R4L0, ..., P15C2R4L0 P0C0R0L1, P1C0R0L1, P2C0R0L1, ..., P15C0R0L1 P0C1R0L1, P1C1R0L1, P2C1R0L1, ..., P15C1R0L1 P0C2R0L1, P1C2R0L1, P2C2R0L1, ..., P15C2R0L1
This encodes all components over the entire image at a given quality level, before sending the next quality refinement.
When encoding a large image with a large number of components, memory requirements will be minimized by sending each component by means of a separate call to SetData, and by specifying a progression order of "CPRL".
A boolean that when set to a non-zero value suppresses the printing of warnings for this object. The default is not to suppress warnings.
A boolean set to 1 if the file is to be accessed for reading. The default is to open the file for reading.
A boolean that specifies the type of compression that should be used. A non-zero value indicates that reversible compression should be used. The default is to use irreversible compression. When writing JP2 files, if the PALETTE property is set then the default is REVERSIBLE=1.
An n-element boolean vector where n is the number of components. A value of one indicates pixels in that component are interpreted as signed numbers, otherwise the pixels are interpreted as unsigned numbers. The default is to interpret the numbers as unsigned.
| Note |
A 2 by N_COMPONENTS integer array containing the subsampling factors in the horizontal and vertical dimensions for each image component. The dimensions of each component will be the ceiling of the image dimensions divided by the respective subsampling factor.
A 2-element integer vector defining the width and height of each tile. When writing files, the default is to write one tile with the same dimensions as the image parameter. Values for TILE_DIMENSIONS should be in the range 1 ... 232-1.
A 2-element integer vector containing the X and Y offset of the first tile on the canvas.
When reading, the TILE_OFFSET will return the X and Y offset of the first tile. The GetTileProperty method may be used to retrieve the TILE_OFFSET for an individual tile.
When writing, the default is TILE_OFFSET=[0,0]. The values of TILE_OFFSET must be less than or equal to the corresponding values of the OFFSET property. Values for TILE_OFFSET should be in the range 0... 232-2.
A two-element integer vector giving the number of tiles in the X and Y directions.
A boolean that is 1 if the object is open for writing, 0 if not.
A string vector, each element of which contains a corresponding XML box of the object. If the object has no XML boxes, the result will be a scalar null string. This keyword is only valid for JP2 files.
When reading files, this property indicates whether the data was originally converted from the RGB color space to the YCC color space. If YCC is true, then when calling GetData, you may wish to return all three image components so that the YCC data can be correctly transformed back to RGB.
When writing files, set this property to a boolean which specifies whether RGB data should be converted to YCrCb before being written. If the image being written has three components, the default is to assume the image contains RGB components, which are automatically converted to YCrCb, and then written. The default action to convert RGB to YCC may be overridden by explicitly setting the YCC keyword to zero. When writing JP2 files, if the PALETTE property is set then the default is YCC=0. If the image being written does not have three components, this property is ignored.
Transforming the color coordinates from RGB to YCC decorrelates the three color components and improves compression performance for RGB images. JPEG2000 readers will then convert back to RGB.
| Note |