MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
LTIImageFilter Class Reference

abstract class for implementing an image transform More...

#include <lti_imageFilter.h>

Inheritance diagram for LTIImageFilter:
Collaboration diagram for LTIImageFilter:

Public Member Functions

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 LTIPixelgetPixelProps () const
 get the pixel properties of the image More...
 
const LTIPixelgetBackgroundPixel () const
 get the values of the background pixel More...
 
const LTIPixelgetNoDataPixel () const
 get the values of the "no data" (transparency) pixel More...
 
const LTIPixelLookupTablegetPixelLookupTable () const
 get the color lookup table, if any More...
 
const LTIPixelgetMinDynamicRange () const
 get the minimum dynamic range value of image More...
 
const LTIPixelgetMaxDynamicRange () const
 get the maximum dynamic range value of image More...
 
const LTIGeoCoordgetGeoCoord () const
 get the geographic coordinates of the image More...
 
bool isGeoCoordImplicit () const
 is geo information "real" or not More...
 
const LTIMetadataDatabasegetMetadata () const
 get the metadata associated with the image 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...
 
void setProgressDelegate (LTIProgressDelegate *delegate)
 set progress delegate More...
 
LTIProgressDelegategetProgressDelegate () const
 get progress delegate More...
 
void setInterruptDelegate (LTIInterruptDelegate *delegate)
 set interrupt delegate More...
 
LTIInterruptDelegategetInterruptDelegate () 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...
 
virtual lt_uint32 getModifications (const LTIScene &scene) const
 get the modification bitfield for this image More...
 
LT_STATUS overrideBackgroundPixel (const LTIPixel *backgroundPixel)
 override the background color of the image More...
 
LT_STATUS overrideNoDataPixel (const LTIPixel *nodataPixel)
 override the "no data" (transparency) color of the image More...
 
LT_STATUS overrideGeoCoord (const LTIGeoCoord &geoCoord)
 override the geographic coordinates of the image More...
 
LT_STATUS overrideDynamicRange (const LTIPixel &drmin, const LTIPixel &drmax)
 override the dynamic range of the image More...
 
LT_STATUS overridePixelBPS (lt_uint8)
 override the bits-per-sample of the image's (sample's) datatype More...
 
LT_STATUS overridePixelLookupTable (const LTIPixelLookupTable *pixelLookupTable)
 override the CLUT of the image More...
 
LT_STATUS overrideMetadata (const LTIMetadataDatabase &metadata)
 override the metadata of the image More...
 
LTIMaskSource * getMask () const
 
bool getPipelineInfo (LTIPipelineInfo info) const
 
LTIImageStagegetPreviousStage (void) const
 
- Public Member Functions inherited from LTIImageStage
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...
 
- Public Member Functions inherited from LTIImage
lt_uint16 getNumBands () const
 get number of bands 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...
 
LTIPixelcreateBackgroundPixel () const
 return new background pixel More...
 
- Public Member Functions inherited from LTIReferenceCountedObject
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...
 

Protected Member Functions

 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)
 
- Protected Member Functions inherited from LTIImageStage
 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 LTIScenegetFullScene () const
 get full scene More...
 
- Protected Member Functions inherited from LTIImage
 LTIImage (void)
 
virtual ~LTIImage (void)
 
- Protected Member Functions inherited from LTIReferenceCountedObject
 LTIReferenceCountedObject (void)
 
virtual ~LTIReferenceCountedObject (void)
 

Detailed Description

The LTIImageFilter abstract class extends the LTIImageStage so that it can be used as an intermediate stage in an image pipeline. This is the base class for such classes as the colorspace transformer, image cropper, etc.

Definition at line 29 of file lti_imageFilter.h.

Constructor & Destructor Documentation

LTIImageFilter::LTIImageFilter ( void  )
protected
virtual LTIImageFilter::~LTIImageFilter ( void  )
protectedvirtual

Member Function Documentation

LT_STATUS LTIImageFilter::decodeBegin ( const LTIPixel pixelProps,
const LTIScene fullScene 
)
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.

Parameters
pixelPropsthe band selection
fullScenethe full scene to be read
Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter, and LTIWatermarkFilter.

LT_STATUS LTIImageFilter::decodeEnd ( void  )
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.

Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter, and LTIWatermarkFilter.

LT_STATUS LTIImageFilter::decodeStrip ( LTISceneBuffer stripBuffer,
const LTIScene stripScene 
)
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.

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

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter, and LTIWatermarkFilter.

const LTIPixel* LTIImageFilter::getBackgroundPixel ( ) const
virtual

This function returns a pointer to an object containing the values of the background pixel of the image. If the pointer is NULL, no background color has been set for the image.

Returns
pointer to the background pixel

Implements LTIImage.

Reimplemented in LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > >, LTIOverrideBackgroundPixel< LTIImageFilter >, and LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > >.

LT_STATUS LTIImageFilter::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
magmagnification to determine width at
widththe image width at the magnification
heightthe image height at the magnification
Returns
status code indicating success or failure

Implements LTIImage.

Reimplemented in LTIMultiResFilter.

Examples:
DecodeJP2ToBBB.cpp, DecodeJP2ToJPG.cpp, DecodeMrSIDToRaw.cpp, and DecodeMrSIDToTIFF.cpp.
lt_int64 LTIImageFilter::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
scenethe scene to be charged for
Returns
the cost to encode the given scene

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter, and MrSIDImageReader.

const LTIGeoCoord& LTIImageFilter::getGeoCoord ( ) const
virtual

This function returns the geographic coordinates of the image.

Note that if the image has no explicit geographic coordinate information, e.g. stored within the metadata of a file, the geographic coordinates are implicitly set (upperleft is (0,-height), resolution is (1,-1))

Returns
a pointer to an object containing the geographic coordinates

Implements LTIImage.

Reimplemented in LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > > >, and LTIOverrideGeoCoord< LTIImageFilter >.

Examples:
GeoScene.cpp, and ImageInfo.cpp.
lt_uint32 LTIImageFilter::getHeight ( ) const
virtual
LTIInterruptDelegate* LTIImageFilter::getInterruptDelegate ( ) const
virtual

This function returns the object's interrupt delegate.

The function will return NULL if no delegate has been set.

Derived classes should call this method from within their read() methods so that they can determine if the user has requested that the read operation should be aborted.

Returns
a pointer to the delegate object (or NULL if no delegate has been set)

Implements LTIImageStage.

LTIMaskSource* LTIImageFilter::getMask ( ) const
virtual

Implements LTIImageStage.

const LTIPixel& LTIImageFilter::getMaxDynamicRange ( ) const
virtual

This function returns the pixels of maximum value of the dynamic range of the image.

Returns
pixel object with the maximum dynamic range values

Implements LTIImage.

Reimplemented in LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > > >, LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIImageFilter > >, and LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > > >.

double LTIImageFilter::getMaxMagnification ( ) const
virtual

This function returns the maximum magnification of the image. Images that do not support "zooming in" will return 1.0; images that support "res-up", e.g. MrSID, will return a value less than 1.0.

Returns
the maximum magnification

Implements LTIImage.

Reimplemented in LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > >.

Examples:
ImageInfo.cpp.
const LTIMetadataDatabase& LTIImageFilter::getMetadata ( ) const
virtual

This function returns a reference to the object containing the metadata associated with the image.

Returns
a reference to the metadata database

Implements LTIImage.

Reimplemented in LTIOverrideMetadata< LTIImageFilter >.

Examples:
MetadataDump.cpp.
const LTIPixel& LTIImageFilter::getMinDynamicRange ( ) const
virtual

This function returns the pixels of minimum value of the dynamic range of the image.

Returns
pixel object with the minimum dynamic range values

Implements LTIImage.

Reimplemented in LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > > >, LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIImageFilter > >, and LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > > >.

double LTIImageFilter::getMinMagnification ( ) const
virtual

This function returns the minimum magnification of the image. Images that do not support "zooming out" will return 1.0; images that contain "overviews", e.g. MrSID, will return a value greater than 1.0.

Returns
the minimum magnification

Implements LTIImage.

Reimplemented in LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > >.

Examples:
ImageInfo.cpp.
virtual lt_uint32 LTIImageFilter::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
scenethe area pertaining to this request
Returns
a bitfield itemizing the encoding modifications

Implements LTIImage.

Reimplemented in J2KImageReader, LTIBandSelectFilter, LTIEmbeddedImage, LTIDynamicRangeFilter, LTIMultiResFilter, MrSIDImageReader, LTIColorTransformer, LTIViewerImageFilter, LTIWatermarkFilter, and LTITranslationFilter.

const LTIPixel* LTIImageFilter::getNoDataPixel ( ) const
virtual

This function returns a pointer to an object containing the values of the no data pixel of the image. If the pointer is NULL, no transparency color has been set for the image.

Returns
pointer to the no data pixel

Implements LTIImage.

Reimplemented in LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > >, LTIOverrideBackgroundPixel< LTIImageFilter >, and LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > >.

Examples:
ImageInfo.cpp.
bool LTIImageFilter::getPipelineInfo ( LTIPipelineInfo  info) const
virtual

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter.

const LTIPixelLookupTable* LTIImageFilter::getPixelLookupTable ( ) const
virtual

This function returns a pointer the color lookup table, used for indexed or palletized images. Will return NULL if no table is used.

Returns
pointer to the pixel lookup table

Implements LTIImage.

LTIImageStage* LTIImageFilter::getPreviousStage ( void  ) const
LTIProgressDelegate* LTIImageFilter::getProgressDelegate ( ) const
virtual

This function returns the object's progress delegate.

The function will return NULL if no delegate has been set.

Derived classes should call this method from within their read() methods so that they can inform the user of the progress of the read operation.

Returns
a pointer to the delegate object (or NULL if no delegate has been set)

Implements LTIImageStage.

bool LTIImageFilter::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
decodeScenethe scene that would be given to read()
readerScenethe scene that is the actual scene passed the underlying image reader
Returns
true if readerScene is not empty

Implements LTIImageStage.

Reimplemented in LTIMultiResFilter.

lt_uint32 LTIImageFilter::getStripHeight ( ) const
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.

Returns
the strip height

Implements LTIImageStage.

Reimplemented in LTIOverrideStripHeight< LTIImageFilter >.

LT_STATUS LTIImageFilter::init ( LTIImageStage previousStage)
protected
bool LTIImageFilter::isGeoCoordImplicit ( ) const
virtual

This function returns true if the geo information is implicit, i.e. the source image did not have native geo coord info.

Returns
true if and only if the geo information is not "real"

Implements LTIImage.

Reimplemented in LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > > >, and LTIOverrideGeoCoord< LTIImageFilter >.

bool LTIImageFilter::isSelective ( ) const
virtual

Some formats, notably JPEG, do not support "selective" decoding. That is, they require that scenes being decoding must march in order down the scanlines of the image. Formats like TIFF and MrSID, however, are "selective": any scene can be requested at any time.

Returns
true if and only if the image supports arbitrary scene requests

Implements LTIImage.

LT_STATUS LTIImageFilter::overrideBackgroundPixel ( const LTIPixel backgroundPixel)
virtual

This function is used to set the background color of the image.

Parameters
backgroundPixelthe data for the background color
Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > >, LTIOverrideBackgroundPixel< LTIImageFilter >, and LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > >.

LT_STATUS LTIImageFilter::overrideGeoCoord ( const LTIGeoCoord geoCoord)
virtual

This function is used to set the geographic coordinates of the image.

Parameters
geoCoordthe geographic coordinate information
Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > > >, and LTIOverrideGeoCoord< LTIImageFilter >.

LT_STATUS LTIImageFilter::overrideMetadata ( const LTIMetadataDatabase metadata)
virtual
LT_STATUS LTIImageFilter::overrideNoDataPixel ( const LTIPixel nodataPixel)
virtual

This function is used to set the "no data" or transparency color of the image.

Parameters
nodataPixelthe data for the transparency color
Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIImageFilter > >, LTIOverrideBackgroundPixel< LTIImageFilter >, and LTIOverrideBackgroundPixel< LTIOverrideMetadata< LTIImageFilter > >.

LT_STATUS LTIImageFilter::overridePixelLookupTable ( const LTIPixelLookupTable pixelLookupTable)
virtual

Implements LTIImageStage.

void LTIImageFilter::releasePreviousStageNow ( void  )
protected
void LTIImageFilter::setInterruptDelegate ( LTIInterruptDelegate delegate)
virtual

This function sets the interrupt delegate, which is used in a callback-like fashion by the calling application to asynchronously indicate that a read() operation should be halted without completing.

Passing NULL to this function should remove the LTIImageStage's current delegate, if any.

Note this function does not take ownership of the delegate object.

Parameters
delegatea pointer to the delegate object to be used by the image reader

Implements LTIImageStage.

Examples:
InterruptDelegate.cpp.
void LTIImageFilter::setProgressDelegate ( LTIProgressDelegate delegate)
virtual

This function sets the progress delegate, which is used in a callback-like fashion to report percent-complete of a read() operation back to the calling application.

Passing NULL to this function should remove the LTIImageStage's current delegate, if any.

Note this function does not take ownership of the delegate object.

Parameters
delegatea pointer to the delegate object to be used by the image reader

Implements LTIImageStage.

Examples:
ProgressDelegate.cpp.
LT_STATUS LTIImageFilter::setStripHeight ( lt_uint32  stripHeight)
virtual

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.)

Parameters
stripHeightthe number of rows to decode at one time
Returns
status code indicating success or failure

Implements LTIImageStage.

Reimplemented in LTIOverrideStripHeight< LTIImageFilter >.


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

LizardTech