MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
combine N different bands from M images into one N-banded image More...
#include <lti_bandSelectFilter.h>
Public Member Functions | |
LT_STATUS | initialize (LTIImageStage *srcImages[], const int srcImageBands[], lt_uint16 numOutputBands, LTIColorSpace colorSpace) |
general initializer More... | |
LT_STATUS | initialize (LTIImageStage *srcImages[], lt_uint16 numOutputBands, LTIColorSpace colorSpace) |
LTIColorCompositeFilter initializer. More... | |
LT_STATUS | initialize (LTIImageStage *srcImage, const lt_uint16 srcImageBands[], lt_uint16 numOutputBands, LTIColorSpace colorSpace) |
single image initializer More... | |
lt_uint32 | getStripHeight () const |
get strip height More... | |
LT_STATUS | setStripHeight (lt_uint32 stripHeight) |
set the strip height More... | |
lt_int64 | getEncodingCost (const LTIScene &scene) const |
get the cost to encode this scene More... | |
virtual lt_uint32 | getModifications (const LTIScene &scene) const |
get the modification bitfield for this image More... | |
LT_STATUS | remapBands (const lt_uint16 srcImageBands[]) |
LT_STATUS | getBandMap (lt_uint16 srcImageBands[]) const |
![]() | |
const LTIPixel & | getPixelProps () const |
const LTIPixel & | getMinDynamicRange () const |
const LTIPixel & | getMaxDynamicRange () const |
LT_STATUS | overridePixelBPS (lt_uint8 bps) |
LT_STATUS | overrideDynamicRange (const LTIPixel &drmin, const LTIPixel &drmax) |
![]() | |
const LTIPixel * | getBackgroundPixel () const |
const LTIPixel * | getNoDataPixel () const |
LT_STATUS | overrideBackgroundPixel (const LTIPixel *backgroundPixel) |
LT_STATUS | overrideNoDataPixel (const LTIPixel *nodataPixel) |
![]() | |
const LTIMetadataDatabase & | getMetadata () const |
LT_STATUS | overrideMetadata (const LTIMetadataDatabase &metadata) |
![]() | |
lt_uint32 | getWidth () const |
get image width More... | |
lt_uint32 | getHeight () const |
get image height More... | |
LT_STATUS | getDimsAtMag (double mag, lt_uint32 &width, lt_uint32 &height) const |
get image width and height at given magnification More... | |
const LTIPixelLookupTable * | getPixelLookupTable () const |
get the color lookup table, if any More... | |
const LTIGeoCoord & | getGeoCoord () const |
get the geographic coordinates of the image More... | |
bool | isGeoCoordImplicit () const |
is geo information "real" or not More... | |
double | getMinMagnification () const |
get the minimum magnification More... | |
double | getMaxMagnification () const |
get the maximum magnification More... | |
bool | isSelective () const |
check if image supports "random access" decoding More... | |
lt_uint32 | getModifications (const LTIScene &scene) const |
get the modification bitfield for this image More... | |
LT_STATUS | getMetadataBlob (const char *type, LTIOStreamInf *&stream) const |
extract the metadata associated with the image of the given type More... | |
void | setProgressDelegate (LTIProgressDelegate *delegate) |
set progress delegate More... | |
LTIProgressDelegate * | getProgressDelegate () const |
get progress delegate More... | |
void | setInterruptDelegate (LTIInterruptDelegate *delegate) |
set interrupt delegate More... | |
LTIInterruptDelegate * | getInterruptDelegate () const |
get interrupt delegate More... | |
lt_uint32 | getStripHeight () const |
get strip height More... | |
LT_STATUS | setStripHeight (lt_uint32 stripHeight) |
set the strip height More... | |
lt_int64 | getEncodingCost (const LTIScene &scene) const |
get the cost to encode this scene More... | |
bool | getReaderScene (const LTIScene &decodeScene, LTIScene &readerScene) const |
get the underlying scene to be used More... | |
LT_STATUS | overrideGeoCoord (const LTIGeoCoord &geoCoord) |
override the geographic coordinates of the image More... | |
LT_STATUS | overridePixelLookupTable (const LTIPixelLookupTable *pixelLookupTable) |
override the CLUT of the image More... | |
LTIMaskSource * | getMask () const |
bool | getPipelineInfo (LTIPipelineInfo info) const |
LTIImageStage * | getPreviousStage (void) const |
![]() | |
LT_STATUS | read (const LTIScene &scene, LTISceneBuffer &buffer) |
read (decode) a scene from the image More... | |
virtual LT_STATUS | readBegin (const LTIPixel &pixelProps, const LTIScene &fullScene) |
start strip-based read More... | |
virtual LT_STATUS | readStrip (LTISceneBuffer &buffer, const LTIScene &stripScene) |
read a strip from the image More... | |
virtual LT_STATUS | readEnd () |
finish strip-based read More... | |
lt_uint32 | getNumStrips () const |
get number of strips in scene More... | |
LTIScene | getStripScene (lt_uint32 stripNumber) const |
get a strip for current scene More... | |
![]() | |
lt_uint16 | getNumBands () const |
get number of bands More... | |
lt_uint16 | getNumBandsWithoutAlpha () const |
get number of bands without alpha More... | |
LTIColorSpace | getColorSpace () const |
get colorspace More... | |
LTIDataType | getDataType () const |
get data type More... | |
bool | isNaturalDynamicRange () const |
check if the range is "complete" or not More... | |
lt_int64 | getNominalImageSizeWithoutAlpha () const |
get the nominal size of the image, not considering the alpha band More... | |
lt_int64 | getNominalImageSizeWithAlpha () const |
get the nominal size of the image, including the alpha band More... | |
void | getGeoPoint (LTIPosition position, double &x, double &y) const |
get position of a named point More... | |
LTIPixel * | createBackgroundPixel () const |
return new background pixel More... | |
![]() | |
virtual void | retain (void) const |
increment reference counter More... | |
virtual void | release (void) const |
decrement the reference counter and delete the object when the counter is zero More... | |
Static Public Member Functions | |
static LTIBandSelectFilter * | create (void) |
static LT_STATUS | parseString (const char *inputString, lt_int32 *&bandList, lt_uint16 &numBands) |
parse band string More... | |
static LT_STATUS | push (LTIImageStage *&pipeline, const LTIPixel &pixelProps) |
static void | remapPixel (const LTIPixel &srcPixel, const lt_uint16 srcImageBands[], LTIPixel &dstPixel) |
Protected Types | |
enum | SourcePixel { NodataPixel, BackgroundPixel, DRMinPixel, DRMaxPixel } |
Protected Member Functions | |
LTIBandSelectFilter (void) | |
virtual | ~ LTIBandSelectFilter (void) |
LT_STATUS | decodeBegin (const LTIPixel &pixelProps, const LTIScene &fullScene) |
start strip-based read More... | |
LT_STATUS | decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene) |
read a strip from the image More... | |
LT_STATUS | decodeEnd (void) |
finish strip-based read More... | |
void | remapPixel (LTIPixel &pixel, SourcePixel name) const |
![]() | |
LTIImageFilter (void) | |
virtual | ~ LTIImageFilter (void) |
LT_STATUS | decodeBegin (const LTIPixel &pixelProps, const LTIScene &fullScene) |
start strip-based read More... | |
LT_STATUS | decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene) |
read a strip from the image More... | |
LT_STATUS | decodeEnd (void) |
finish strip-based read More... | |
LT_STATUS | init (LTIImageStage *previousStage) |
void | releasePreviousStageNow (void) |
void | changePreviousStage (LTIImageStage *newPref) |
![]() | |
LTIImageStage (void) | |
virtual | ~ LTIImageStage (void) |
LT_STATUS | fillBackground (const LTIScene &scene, LTISceneBuffer &buffer) |
fill the background of the scene More... | |
LT_STATUS | fillBackground (const LTIScene &scene, LTISceneBuffer &buffer, const LTIPixel &color) |
fill the scene to given pixel More... | |
bool | isBandSelected (const LTIPixel &pixelProps) const |
const LTIScene & | getFullScene () const |
get full scene More... | |
![]() | |
LTIImage (void) | |
virtual | ~ LTIImage (void) |
![]() | |
LTIReferenceCountedObject (void) | |
virtual | ~ LTIReferenceCountedObject (void) |
![]() | |
LTIOverrideMetadataData () | |
~LTIOverrideMetadataData () | |
LT_STATUS | createMetadata (const LTIMetadataDatabase *metadata) |
LTIMetadataDatabase & | getMetadata () |
![]() | |
LTIOverrideBackgroundPixelData () | |
~LTIOverrideBackgroundPixelData () | |
LT_STATUS | setBackgroundPixel (const LTIPixel *backgroundPixel) |
set the background color of the image More... | |
LT_STATUS | setNoDataPixel (const LTIPixel *nodataPixel) |
set the "no data" (transparency) color of the image More... | |
![]() | |
LTIOverridePixelPropsData () | |
~LTIOverridePixelPropsData () | |
LT_STATUS | setPixelProps (const LTIPixel &pixelProps) |
set pixel properties of the image More... | |
LT_STATUS | setPixelBPS (lt_uint8 bps) |
LT_STATUS | setDynamicRange (const LTIPixel &drmin, const LTIPixel &drmax) |
set the dynamic range of the image More... | |
LT_STATUS | setDefaultDynamicRange (void) |
set the dynamic range of the image More... | |
Protected Attributes | |
BandSelectMap * | m_bandSelectMap |
BandSelectMap * | m_decodeMap |
![]() | |
LTIMetadataDatabase * | m_metadata |
![]() | |
LTIPixel * | m_backgroundPixel |
LTIPixel * | m_nodataPixel |
![]() | |
LTIPixel * | m_pixelProps |
LTIPixel * | m_drminPixel |
LTIPixel * | m_drmaxPixel |
This class creates a single N-banded image which is a composition of N different bands from a set of images.
For example, an RGB image can be created from three (nominally grayscale) images which represent the red, green, and blue bands of a dataset. More generally, one can do things like construct a multispectral image from 1st and 2nd bands of one image and the 3rd and 4th bands of a second image.
Definition at line 38 of file lti_bandSelectFilter.h.
|
protected |
Enumerator | |
---|---|
NodataPixel | |
BackgroundPixel | |
DRMinPixel | |
DRMaxPixel |
Definition at line 172 of file lti_bandSelectFilter.h.
|
protected |
|
protectedvirtual |
|
static |
|
protectedvirtual |
This function is called by readBegin() to start the actual class-specific work for decoding a scene.
Derived classes must implement this function.
This function should never be called directly.
pixelProps | the band selection |
fullScene | the full scene to be read |
Implements LTIImageStage.
|
protectedvirtual |
This function is called by readEnd() to complete the actual class-specific work for decoding a scene.
Derived classes must implement this function.
This function should never be called directly.
Implements LTIImageStage.
|
protectedvirtual |
This function is called by readStrip() to implement the actual class-specific work for decoding a strip of the scene.
Derived classes must implement this function.
This function should never be called directly.
stripBuffer | the buffer to read the pixels into |
stripScene | the scene for this strip being decoded |
Implements LTIImageStage.
|
virtual |
Returns the "cost" to encode this scene, for use by those image writers which have usage metering enabled. The typical cost is equal to the nominal image size (width * height * numBands * bytesPerSample), but this is overridden for special situations, e.g. the mosaic filter.
scene | the scene to be charged for |
Implements LTIImageStage.
This function returns a bitfield describing what kinds of modifications have been made to the image during and since its initial encoding.
scene | the area pertaining to this request |
Implements LTIImage.
|
virtual |
Returns the strip height used in read() calls.
Reader classes should set this. Filter classes should inherit the stripheight of their pipeline predecessor. A writer class will force the stripheight of the pipeline to match its stripheight.
Implements LTIImageStage.
LT_STATUS LTIBandSelectFilter::initialize | ( | LTIImageStage * | srcImages[], |
const int | srcImageBands[], | ||
lt_uint16 | numOutputBands, | ||
LTIColorSpace | colorSpace | ||
) |
Creates an image stage which composes the specified bands of the input images.
The srcImages and srcImageBands arrays each contain numOutputBands elements and serve to describe the bands of the desired output image. That is, band i of the output image will contain band srcImageBands[i] from image srcImages[i].
An element of srcImages may be NULL. In this case, however, the corresponding srcImageBands element must be set to (int)-'Z', indicating a band of all zeros is to be used.
At least one of the srcImages elements must be non-NULL.
Note: Data from srcImages and srcImageBands arrays are copied locally after initialize() is called.
srcImages | input images, for each output band |
srcImageBands | band numbers, for each output band |
numOutputBands | number of output bands |
colorSpace | the colorspace of the output image |
LT_STATUS LTIBandSelectFilter::initialize | ( | LTIImageStage * | srcImages[], |
lt_uint16 | numOutputBands, | ||
LTIColorSpace | colorSpace | ||
) |
Same as the above general constructor, except that (1) each source image is either a one-banded image or NULL, and (2) the srcImageBands array is constructed as the form [0,1,2...].
(This provides compatability with the old LTIColorCompositeFilter class.)
srcImages | input images |
numOutputBands | number of output bands |
colorSpace | the colorspace of the output image |
LT_STATUS LTIBandSelectFilter::initialize | ( | LTIImageStage * | srcImage, |
const lt_uint16 | srcImageBands[], | ||
lt_uint16 | numOutputBands, | ||
LTIColorSpace | colorSpace | ||
) |
Same as the above general constructor, except that (1) a single source image is used, instead of an array of possibly different images, and (2) the output image has the same number of bands and colorspace as the input image.
(This provides compatability with the old LTISampleMapTransformer class.)
srcImage | input image |
srcImageBands | band numbers, for each output band |
numOutputBands | number of output bands |
colorSpace | the colorspace of the output image |
|
static |
Given a string such as "1,3-4,2", this function will return an array like [1,3,4,2].
The formal grammar of the input string is (ignoring whitespace): string := token? (comma token)* token := letter | number | number hyphen number letter := 'Z' number := digit+ digit := '0' | '1' | ... '9' comma := ',' hyphen := '-' Note that the range may be negative, i.e. "3-1" will be returned as [3,2,1]. A band value of Z indicates a band of all zeros should be used.
The caller takes ownership of the returned array.
Note that the caller may need to adjust the data in the returned array to be zero-based.
inputString | the string to parse |
bandList | returned array of band numbers |
numBands | length of bandList arrat |
|
static |
|
static |
|
protected |
Sets the strip height to be used in decoding. This is the number of rows to be decoded in each strip of the read() sequence.
Reader classes should implement this directly. (LTIImageFilter implements this as a call to setStripHeight() on the previous stage.)
stripHeight | the number of rows to decode at one time |
Implements LTIImageStage.
|
protected |
Definition at line 181 of file lti_bandSelectFilter.h.
|
protected |
Definition at line 182 of file lti_bandSelectFilter.h.
LizardTech |