MrSID Decode SDK for Raster Reference Manual  9.0.0.3864
LTIDynamicRangeFilter Class Reference

change dynamic range or datatype of the samples of the image More...

#include <lti_dynamicRangeFilter.h>

Inheritance diagram for LTIDynamicRangeFilter:
LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIImageFilter > > LTIOverrideBackgroundPixel< LTIImageFilter > LTIOverridePixelPropsData LTIImageFilter LTIOverrideBackgroundPixelData LTIImageStage LTIImage LTIReferenceCountedObject

Public Member Functions

LT_STATUS initialize (LTIImageStage *srcImage, const LTIPixel *srcDRMin=NULL, const LTIPixel *srcDRMax=NULL, LTIDataType dstDataType=LTI_DATATYPE_INVALID)
 initializer More...
 
LT_STATUS initialize (LTIImageStage *srcImage, LTIDataType dstDataType)
 initializer (for compatibly with LTIDataTypeTransformer) More...
 
LT_STATUS initialize (LTIImageStage *srcImage, const LTIPixel *srcMin, const LTIPixel *srcMax, const LTIPixel &dstMin, const LTIPixel &dstMax)
 initializer More...
 
virtual 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 setSrcMinMax (const LTIPixel &srcMin, const LTIPixel &srcMax)
 
LT_STATUS setDstMinMax (const LTIPixel &srcMin, const LTIPixel &srcMax)
 
- Public Member Functions inherited from LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIImageFilter > >
const LTIPixelgetPixelProps () const
 get the pixel properties of the image 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...
 
LT_STATUS overridePixelBPS (lt_uint8 bps)
 override the bits-per-sample of the image's (sample's) datatype More...
 
LT_STATUS overrideDynamicRange (const LTIPixel &drmin, const LTIPixel &drmax)
 override the dynamic range of the image More...
 
- Public Member Functions inherited from LTIOverrideBackgroundPixel< LTIImageFilter >
const LTIPixelgetBackgroundPixel () const
 get the values of the background pixel More...
 
const LTIPixelgetNoDataPixel () const
 get the values of the "no data" (transparency) pixel 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...
 
- Public Member Functions inherited from LTIImageFilter
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 LTIPixelLookupTablegetPixelLookupTable () const
 get the color lookup table, if any 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...
 
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...
 
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...
 

Static Public Member Functions

static LTIDynamicRangeFiltercreate (void)
 
static LT_STATUS push (LTIImageStage *&pipeline, const LTIPixel &pixelProps, bool applyDynamicRange)
 
static LT_STATUS transformBuffer (const LTIPixel &srcMin, const LTIPixel &srcMax, const LTISceneBuffer &srcBuffer, const LTIPixel &dstMin, const LTIPixel &dstMax, LTISceneBuffer &dstBuffer, lt_uint32 numCols, lt_uint32 numRows)
 
static LT_STATUS transformPixel (const LTIPixel &srcMin, const LTIPixel &srcMax, const LTIPixel &srcPixel, const LTIPixel &dstMin, const LTIPixel &dstMax, LTIPixel &dstPixel)
 

Protected Member Functions

 LTIDynamicRangeFilter (void)
 
virtual ~LTIDynamicRangeFilter (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...
 
- Protected Member Functions inherited from LTIImageFilter
 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)
 
- Protected Member Functions inherited from LTIOverrideBackgroundPixelData
 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...
 
- Protected Member Functions inherited from LTIOverridePixelPropsData
 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...
 

Additional Inherited Members

- Protected Attributes inherited from LTIOverrideBackgroundPixelData
LTIPixelm_backgroundPixel
 
LTIPixelm_nodataPixel
 
- Protected Attributes inherited from LTIOverridePixelPropsData
LTIPixelm_pixelProps
 
LTIPixelm_drminPixel
 
LTIPixelm_drmaxPixel
 

Detailed Description

Adjusts the sample values to fit the given dynamic range and datatype.

Definition at line 33 of file lti_dynamicRangeFilter.h.

Constructor & Destructor Documentation

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

Member Function Documentation

static LTIDynamicRangeFilter* LTIDynamicRangeFilter::create ( void  )
static
LT_STATUS LTIDynamicRangeFilter::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.

LT_STATUS LTIDynamicRangeFilter::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.

LT_STATUS LTIDynamicRangeFilter::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.

virtual lt_int64 LTIDynamicRangeFilter::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.

virtual lt_uint32 LTIDynamicRangeFilter::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

Reimplemented from LTIImageFilter.

LT_STATUS LTIDynamicRangeFilter::initialize ( LTIImageStage srcImage,
const LTIPixel srcDRMin = NULL,
const LTIPixel srcDRMax = NULL,
LTIDataType  dstDataType = LTI_DATATYPE_INVALID 
)

Creates an image stage with the sample data adjusted from the given dynamic range values to the full dynamic range of the given datatype. If not specified, the target datatype will be that of the source image. If not specified, the filter will get the dynamic range from the source image (i.e., it will use whatever is in the image metadata).

Note
the filter will stretch dynamic range on a per-band basis
Parameters
srcImagethe base image
srcDRMinthe minimum dynamic range value of the source data
srcDRMaxthe maximum dynamic range value of the source data
dstDataTypethe datatype of the new image stage
LT_STATUS LTIDynamicRangeFilter::initialize ( LTIImageStage srcImage,
LTIDataType  dstDataType 
)

This initializer will cause the filter to do a straight datatype conversion of the source image. Advertised dynamic range in the source image will be translated to the appropriate value for the new datatype.

Parameters
srcImagethe base image
dstDataTypethe datatype of the new image stage
LT_STATUS LTIDynamicRangeFilter::initialize ( LTIImageStage srcImage,
const LTIPixel srcMin,
const LTIPixel srcMax,
const LTIPixel dstMin,
const LTIPixel dstMax 
)

Adjusts the sample data of the source image by scaling it from the given source and destination dynamic range pixels. Samples falling outside of the given source range will be clipped to the range.

Note
the filter will stretch dynamic range on a per-band basis
Parameters
srcImagethe base image
srcMinminimum of the dynamic range present in the source
srcMaxmaximum of the dynamic range present in the source
dstMinminimum bound of desired output dynamic range
dstMaxmaximum bound of desired output dynamic range
static LT_STATUS LTIDynamicRangeFilter::push ( LTIImageStage *&  pipeline,
const LTIPixel pixelProps,
bool  applyDynamicRange 
)
static
LT_STATUS LTIDynamicRangeFilter::setDstMinMax ( const LTIPixel srcMin,
const LTIPixel srcMax 
)
LT_STATUS LTIDynamicRangeFilter::setSrcMinMax ( const LTIPixel srcMin,
const LTIPixel srcMax 
)
static LT_STATUS LTIDynamicRangeFilter::transformBuffer ( const LTIPixel srcMin,
const LTIPixel srcMax,
const LTISceneBuffer srcBuffer,
const LTIPixel dstMin,
const LTIPixel dstMax,
LTISceneBuffer dstBuffer,
lt_uint32  numCols,
lt_uint32  numRows 
)
static
static LT_STATUS LTIDynamicRangeFilter::transformPixel ( const LTIPixel srcMin,
const LTIPixel srcMax,
const LTIPixel srcPixel,
const LTIPixel dstMin,
const LTIPixel dstMax,
LTIPixel dstPixel 
)
static

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

LizardTech