MrSID Decode SDK for Raster Reference Manual
9.5.1.4427
|
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 |
LT_STATUS | setStripHeight (lt_uint32 stripHeight) |
lt_int64 | getEncodingCost (const LTIScene &scene) const |
virtual lt_uint32 | getModifications (const LTIScene &scene) const |
LT_STATUS | remapBands (const lt_uint16 srcImageBands[]) |
LT_STATUS | getBandMap (lt_uint16 srcImageBands[]) const |
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) |
LT_STATUS | decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene) |
LT_STATUS | decodeEnd (void) |
void | remapPixel (LTIPixel &pixel, SourcePixel name) const |
Protected Attributes | |
BandSelectMap * | m_bandSelectMap |
BandSelectMap * | m_decodeMap |
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 |
|
protected |
|
protected |
|
protected |
lt_int64 LTIBandSelectFilter::getEncodingCost | ( | const LTIScene & | scene | ) | const |
lt_uint32 LTIBandSelectFilter::getStripHeight | ( | ) | const |
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 |
|
protected |
Definition at line 181 of file lti_bandSelectFilter.h.
|
protected |
Definition at line 182 of file lti_bandSelectFilter.h.
LizardTech |