MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
LTIDynamicRangeFilter Class Reference

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

#include <lti_dynamicRangeFilter.h>

Inheritance diagram for LTIDynamicRangeFilter:

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
 
virtual lt_uint32 getModifications (const LTIScene &scene) const
 
const LTIPixelgetSrcMin () const
 
const LTIPixelgetSrcMax () const
 
LT_STATUS setSrcMinMax (const LTIPixel &srcMin, const LTIPixel &srcMax)
 
LT_STATUS setDstMinMax (const LTIPixel &srcMin, const LTIPixel &srcMax)
 
void setPixelFillMethod (LTIPixelFillMethod method, double fuzzyThreshold)
 
LT_STATUS reinit (void)
 

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)
 
LT_STATUS decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene)
 
LT_STATUS decodeEnd (void)
 

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 
)
protected
LT_STATUS LTIDynamicRangeFilter::decodeEnd ( void  )
protected
LT_STATUS LTIDynamicRangeFilter::decodeStrip ( LTISceneBuffer stripBuffer,
const LTIScene stripScene 
)
protected
virtual lt_int64 LTIDynamicRangeFilter::getEncodingCost ( const LTIScene scene) const
virtual
virtual lt_uint32 LTIDynamicRangeFilter::getModifications ( const LTIScene scene) const
virtual
const LTIPixel& LTIDynamicRangeFilter::getSrcMax ( ) const
inline

Definition at line 99 of file lti_dynamicRangeFilter.h.

const LTIPixel& LTIDynamicRangeFilter::getSrcMin ( ) const
inline

Definition at line 98 of file lti_dynamicRangeFilter.h.

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::reinit ( void  )
LT_STATUS LTIDynamicRangeFilter::setDstMinMax ( const LTIPixel srcMin,
const LTIPixel srcMax 
)
void LTIDynamicRangeFilter::setPixelFillMethod ( LTIPixelFillMethod  method,
double  fuzzyThreshold 
)
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