LTIEmbeddedImage Class Reference

create a larger frame for the image More...

#include <lti_embeddedImage.h>

Inheritance diagram for LTIEmbeddedImage:

Inheritance graph
[legend]
Collaboration diagram for LTIEmbeddedImage:

Collaboration graph
[legend]

List of all members.

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 LTIEmbeddedImagecreate (void)

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


Detailed Description

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.


Member Enumeration Documentation

Enumerator:
DoNothing 
FromMerge 
FromSourceRectangle 

Definition at line 51 of file lti_embeddedImage.h.


Constructor & Destructor Documentation

LTIEmbeddedImage::LTIEmbeddedImage ( void   )  [protected]

virtual LTIEmbeddedImage::~LTIEmbeddedImage ( void   )  [protected, virtual]


Member Function Documentation

static LTIEmbeddedImage* LTIEmbeddedImage::create ( void   )  [static]

Reimplemented in LTICropFilter.

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.

Parameters:
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

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.

Parameters:
mag magnification to determine width at
width the image width at the magnification
height the image height at the magnification
Returns:
status code indicating success or failure

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.

Parameters:
scene the scene to be charged for
Returns:
the cost to encode the given scene

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.

Parameters:
decodeScene the scene that would be given to read()
readerScene the scene that is the actual scene passed the underlying image reader
Returns:
true if readerScene is not empty

Reimplemented from LTIImageFilter.

LT_STATUS LTIEmbeddedImage::setFillingBackground ( bool  fill  ) 

Parameters:
fill set to true to fill the background
Returns:
success or failure

bool LTIEmbeddedImage::getFillingBackground ( void   )  const

Returns:
true if background to be filled

LT_STATUS LTIEmbeddedImage::setFillMethod ( LTIPixelFillMethod  method,
double  fuzzyThreshold 
)

Parameters:
method fill method enum. See LTIPixelFillMethod
fuzzyThreshold fill method enum. See LTIPixelFillMethod

LTIPixelFillMethod LTIEmbeddedImage::getFillMethod ( void   )  const

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.

Parameters:
scene the area pertaining to this request
Returns:
a bitfield itemizing the encoding modifications

Reimplemented from LTIImageFilter.

lt_int32 LTIEmbeddedImage::getChildXPosAtMag ( double  mag  )  const

lt_int32 LTIEmbeddedImage::getChildYPosAtMag ( double  mag  )  const

bool LTIEmbeddedImage::getChildScene ( const LTIScene parentScene,
LTIScene childScene 
) const

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.

Parameters:
pixelProps the band selection
fullScene the full scene to be read
Returns:
status code indicating success or failure

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.

Parameters:
stripBuffer the buffer to read the pixels into
stripScene the scene for this strip being decoded
Returns:
status code indicating success or failure

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.

Returns:
status code indicating success or failure

Reimplemented from LTIImageFilter.


The documentation for this class was generated from the following file:

LizardTech