Manages the information associated with a JPEG2000
SIZ marker segment. There is only one of these per image
— i.e., tile-specific and component-specific
forms of this parameter class (cluster type) are both
disallowed.
The cluster name is "SIZ", but you are recommended
to use the macro
SIZ_params, in functions which take a cluster name like
kdu_params::access_cluster.
The following attributes are defined. For an explanation
of pattern strings, consult the comments appearing
with
kdu_params::parse_string.
-
Macro =
Sprofile; Pattern = "I" — Restricted profile to which
the code-stream conforms. The value must be an integer
in the range 0 to 2, where Profile-0 is the most restrictive
and Profile-2 places no restrictions on the code-stream
other than those defined in ISO/IEC 15444-1 (JPEG2000,
Part 1). If the profile is insufficient, the system
will generate a warning at the point where it first
encounters an inconsistency; this might not occur until
near the end of the processing in certain rare circumstances.
Defaults to Profile-2.
-
Macro =
Ssize; Pattern = "II" — Canvas dimensions: vertical
dimension first. For compressors, this will normally
be derived from the dimensions of the individual image
components. Explicitly supplying the canvas dimensions
may desirable if the source image files do not indicate
their dimensions, or if custom sub-sampling factors
are desired.
-
Macro =
Sorigin; Pattern = "II" — Image origin on canvas: vertical
coordinate first. Defaults to {0,0}, or the tile origin
if one is given.
-
Macro =
Stiles; Pattern = "II" — Tile partition size: vertical
dimension first. Defaults to {0,0}.
-
Macro =
Stile_origin; Pattern = "II" — Tile origin on the canvas:
vertical coordinate first. Defaults to {0,0}].
-
Macro =
Scomponents; Pattern = "I" — Number of image components.
For compressors, this will normally be deduced from
the number and type of image files supplied to the
compressor.
-
Macro =
Ssigned; Pattern = "B", [MULTI_RECORD, CAN_EXTRAPOLATE] —
Indicates whether each image component contains signed
or unsigned sample values. For compressors, this will
normally be deduced from the image files supplied to
the compressor, but may be explicitly set if raw input
files are to be used. The last supplied identifier
is repeated indefinitely for " all remaining components.
-
Macro =
Sprecision; Pattern = "I", [MULTI_RECORD, CAN_EXTRAPOLATE] —
Indicates the bit-depth of each image component. For
compressors, this will normally be deduced from the
image files supplied to the compressor, but may be
explicitly set if raw input files are to be used. The
last supplied value is repeated indefinitely for all
remaining components.
-
Macro =
Ssampling; Pattern = "II", [MULTI_RECORD, CAN_EXTRAPOLATE] —
Indicates the sub-sampling factors for each image component.
In each record, the vertical factor appears first,
followed by the horizontal sub-sampling factor. The
last supplied record is repeated indefinitely for all
remaining components. For compressors, a suitable set
of sub-sampling factors will normally be deduced from
the individual image component dimensions.
-
Macro =
Sdims; Pattern = "II", [MULTI_RECORD, CAN_EXTRAPOLATE] —
Indicates the dimensions (vertical, then horizontal)
of each individual image component. The last supplied
record is repeated indefinitely for all remaining components.
For compressors, the image component dimensions will
normally be deduced from the image files supplied to
the compressor, but may be explicitly set if raw input
files are to be used.
Although the JPEG2000
SIZ marker cannot represent negative coordinates, it is
particularly convenient to allow this object to store
and report negative coordinates. These should not trouble
applications which interface with it, since all of
the algebraic properties of the coorinate system still
hold. Negative coordinates will be converted into appropriate
non-negative coordinates only when a valid marker segment
must be written out — to do this the
write_marker_segment function must examine various
cod_params attributes from every tile-component in the image
to determine appropriate offsets to the negative coordinates
which will not alter the interpretation of the canvas
coordinate system.
For the above reason, you should avoid writing a
SIZ marker segment (calling
kdu_params::generate_marker_segments) until all code-stream parameters have been finalized
for all tiles and tile-components.
siz_params {Java: Siz_params}