MrSID Decode SDK for Raster Reference Manual
9.5.4.4709
|
create a larger frame for the image More...
#include <lti_embeddedImage.h>
Public Types | |
enum | AlphaMode { DoNothing, FromMerge, FromSourceRectangle } |
Public Member Functions | |
LT_STATUS | initialize (LTIImageStage *srcImage, lt_uint32 newWidth, lt_uint32 newHeight, double newXPos, double newYPos, const LTIPixel *backgroundPixel, const LTIPixel *nodataPixel, AlphaMode alphaMode=DoNothing) |
initialize | |
LT_STATUS | getDimsAtMag (double mag, lt_uint32 &width, lt_uint32 &height) const |
get image width and height at given magnification | |
lt_int64 | getEncodingCost (const LTIScene &scene) const |
get the cost to encode this scene | |
bool | getReaderScene (const LTIScene &decodeScene, LTIScene &readerScene) const |
get the underlying scene to be used | |
LT_STATUS | setFillingBackground (bool fill) |
control whether or not the background of the new "outer" image should be filled | |
bool | getFillingBackground (void) const |
query whether or not the background of the new "outer" image should be filled | |
LT_STATUS | setFillMethod (LTIPixelFillMethod method, double fuzzyThreshold) |
Set the fill method which controls how noData pixels are matched. | |
LTIPixelFillMethod | getFillMethod (void) const |
Get the fill method. | |
double | getFuzzyThreshold (void) const |
virtual lt_uint32 | getModifications (const LTIScene &scene) const |
get the modification bitfield for this image | |
lt_int32 | getChildXPosAtMag (double mag) const |
lt_int32 | getChildYPosAtMag (double mag) const |
bool | getChildScene (const LTIScene &parentScene, LTIScene &childScene) const |
Static Public Member Functions | |
static LTIEmbeddedImage * | create (void) |
static LT_STATUS | push (LTIImageStage *&pipeline, LTIScene &scene, const LTIPixel *backgroundPixel=NULL) |
Protected Member Functions | |
LTIEmbeddedImage (void) | |
virtual | ~LTIEmbeddedImage (void) |
LT_STATUS | decodeBegin (const LTIPixel &pixelProps, const LTIScene &fullScene) |
start strip-based read | |
LT_STATUS | decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene) |
read a strip from the image | |
LT_STATUS | decodeEnd (void) |
finish strip-based read |
Creates a new image stage of the given size, containing the input image stage within it.
This class is used to make an image stage "larger", e.g. to place an image on a larger "canvas" for more flexible decoding. This class is used by the LTIMosaicFilter class to simplify certain computations by making all the input images map to the same underlying grid shape and size.
The embedding process honors the background and nodata pixel settings.
The LTIGeoCoord information for the image stage is updated appropriately.
Definition at line 42 of file lti_embeddedImage.h.
Definition at line 51 of file lti_embeddedImage.h.
LTIEmbeddedImage::LTIEmbeddedImage | ( | void | ) | [protected] |
virtual LTIEmbeddedImage::~LTIEmbeddedImage | ( | void | ) | [protected, virtual] |
static LTIEmbeddedImage* LTIEmbeddedImage::create | ( | void | ) | [static] |
Reimplemented in LTICropFilter.
LT_STATUS LTIEmbeddedImage::decodeBegin | ( | const LTIPixel & | pixelProps, |
const LTIScene & | fullScene | ||
) | [protected, virtual] |
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 |
Reimplemented from LTIImageFilter.
LT_STATUS LTIEmbeddedImage::decodeEnd | ( | void | ) | [protected, virtual] |
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.
Reimplemented from LTIImageFilter.
LT_STATUS LTIEmbeddedImage::decodeStrip | ( | LTISceneBuffer & | stripBuffer, |
const LTIScene & | stripScene | ||
) | [protected, virtual] |
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 |
Reimplemented from LTIImageFilter.
bool LTIEmbeddedImage::getChildScene | ( | const LTIScene & | parentScene, |
LTIScene & | childScene | ||
) | const |
lt_int32 LTIEmbeddedImage::getChildXPosAtMag | ( | double | mag | ) | const |
lt_int32 LTIEmbeddedImage::getChildYPosAtMag | ( | double | mag | ) | const |
LT_STATUS LTIEmbeddedImage::getDimsAtMag | ( | double | mag, |
lt_uint32 & | width, | ||
lt_uint32 & | height | ||
) | const [virtual] |
This function returns the width and height of the image, in pixels, relative to the given magnification.
mag | magnification to determine width at |
width | the image width at the magnification |
height | the image height at the magnification |
Reimplemented from LTIImageFilter.
lt_int64 LTIEmbeddedImage::getEncodingCost | ( | const LTIScene & | scene | ) | const [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 |
Reimplemented from LTIImageFilter.
bool LTIEmbeddedImage::getFillingBackground | ( | void | ) | const |
LTIPixelFillMethod LTIEmbeddedImage::getFillMethod | ( | void | ) | const |
See setFillMethod().
double LTIEmbeddedImage::getFuzzyThreshold | ( | void | ) | const |
virtual lt_uint32 LTIEmbeddedImage::getModifications | ( | const LTIScene & | scene | ) | const [virtual] |
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 |
Reimplemented from LTIImageFilter.
bool LTIEmbeddedImage::getReaderScene | ( | const LTIScene & | decodeScene, |
LTIScene & | readerScene | ||
) | const [virtual] |
Get the scene that will be sent to the underlying LTIImageReader. This is useful in some complex pipelines.
decodeScene | the scene that would be given to read() |
readerScene | the scene that is the actual scene passed the underlying image reader |
Reimplemented from LTIImageFilter.
LT_STATUS LTIEmbeddedImage::initialize | ( | LTIImageStage * | srcImage, |
lt_uint32 | newWidth, | ||
lt_uint32 | newHeight, | ||
double | newXPos, | ||
double | newYPos, | ||
const LTIPixel * | backgroundPixel, | ||
const LTIPixel * | nodataPixel, | ||
AlphaMode | alphaMode = DoNothing |
||
) |
Creates an image stage whose input image is placed within a much larger empty canvas.
srcImage | the base image |
newWidth | the width of the new image stage |
newHeight | the height of the new image stage |
newXPos | pixel x-position of the input image in the new image |
newYPos | pixel y-position of the input image in the new image |
backgroundPixel | background pixel color to use for the new image (may be NULL, in which case the input image's background is used) |
nodataPixel | nodata pixel color to use for the new image (may be NULL, in which case the input image's nodata is used) |
fakeAlphaBand | set to true to force this filter to pretend it has an alpha band |
static LT_STATUS LTIEmbeddedImage::push | ( | LTIImageStage *& | pipeline, |
LTIScene & | scene, | ||
const LTIPixel * | backgroundPixel = NULL |
||
) | [static] |
LT_STATUS LTIEmbeddedImage::setFillingBackground | ( | bool | fill | ) |
fill | set to true to fill the background |
LT_STATUS LTIEmbeddedImage::setFillMethod | ( | LTIPixelFillMethod | method, |
double | fuzzyThreshold | ||
) |
method | fill method enum. See LTIPixelFillMethod |
fuzzyThreshold | fill method enum. See LTIPixelFillMethod |