MrSID Decode SDK for Raster Reference Manual 9.5.4.4709

- Main Page
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | List of all members
LTIMultiResFilter Class Reference

add resolutions to the image More...

`#include <lti_multiresFilter.h>`

Inheritance diagram for LTIMultiResFilter:
[legend]
Collaboration diagram for LTIMultiResFilter:
[legend]

## Public Member Functions
LT_STATUS | initialize (LTIImageStage *srcImage)
| initializer More...
LT_STATUS | initialize (LTIImageStage *srcImage, lt_int8 scaleFactor)
| initializer (for compatibly with the old LTIStaticZoomFilter) More...
LT_STATUS | initialize (LTIImageStage *srcImage, double deltaMag, double minMag, double maxMag)
LT_STATUS | getDimsAtMag (double mag, lt_uint32 &width, lt_uint32 &height) const
| get image width and height at given magnification 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...
bool | getPipelineInfo (LTIPipelineInfo info) const
LT_STATUS | setResampleMethod (LTIResampleMethod resampleMethod)
| Set resampling method. More...
LT_STATUS | setResamplePixelCenter (bool usePixelCenter)
void | setMagSnapThreshold (double threshold)
void | setDeltaMagXY (double deltaMagX, double deltaMagY)
Public Member Functions inherited from LTIOverrideDimensions< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > > > >
lt_uint32 | getWidth () const
| get image width More...
lt_uint32 | getHeight () const
| get image height More...
Public Member Functions inherited from LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > > >
const LTIGeoCoord & | getGeoCoord () const
| get the geographic coordinates of the image More...
bool | isGeoCoordImplicit () const
| is geo information "real" or not More...
LT_STATUS | overrideGeoCoord (const LTIGeoCoord &geoCoord)
| override the geographic coordinates of the image More...
Public Member Functions inherited from LTIOverrideMagnification< LTIOverrideStripHeight< LTIImageFilter > >
double | getMinMagnification () const
| get the minimum magnification More...
double | getMaxMagnification () const
| get the maximum magnification More...
Public Member Functions inherited from LTIOverrideStripHeight< LTIImageFilter >
lt_uint32 | getStripHeight () const
| get strip height More...
LT_STATUS | setStripHeight (lt_uint32 stripHeight)
| set the strip height More...
Public Member Functions inherited from LTIImageFilter
const LTIPixel & | getPixelProps () const
| get the pixel properties of the image More...
const LTIPixel * | getBackgroundPixel () const
| get the values of the background pixel More...
const LTIPixel * | getNoDataPixel () const
| get the values of the "no data" (transparency) pixel More...
const LTIPixelLookupTable * | getPixelLookupTable () const
| get the color lookup table, if any More...
const LTIPixel & | getMinDynamicRange () const
| get the minimum dynamic range value of image More...
const LTIPixel & | getMaxDynamicRange () const
| get the maximum dynamic range value of image More...
const LTIMetadataDatabase & | getMetadata () const
| get the metadata associated with the image More...
bool | isSelective () const
| check if image supports "random access" decoding More...
LT_STATUS | getMetadataBlob (const char *type, LTIOStreamInf *&stream) const
| extract the metadata associated with the image of the given type More...
void | setProgressDelegate (LTIProgressDelegate *delegate)
| set progress delegate More...
LTIProgressDelegate * | getProgressDelegate () const
| get progress delegate More...
void | setInterruptDelegate (LTIInterruptDelegate *delegate)
| set interrupt delegate More...
LTIInterruptDelegate * | getInterruptDelegate () const
| get interrupt delegate 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 | 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
LTIImageStage * | getPreviousStage (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...
lt_uint16 | getNumBandsWithoutAlpha () const
| get number of bands without alpha 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...
LTIPixel * | createBackgroundPixel () 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 LTIMultiResFilter * | create (void)
static double | magForIcon (const LTIImage &image, lt_uint32 iconSize)
static double | magForIcon (lt_uint32 width, lt_uint32 height, lt_uint32 iconSize)
static LT_STATUS | push (LTIImageStage *&pipeline, const LTIScene &dstScene, LTIResampleMethod method=LTI_RESAMPLE_NEAREST)
static LT_STATUS | push (LTIImageStage *&pipeline, double mag, LTIResampleMethod method=LTI_RESAMPLE_NEAREST)

## Protected Types
enum | Mode { MODE_INVALID, MODE_RESAMPLE, MODE_PASSTHROUGH, MODE_DOWNSAMPLE_FULLREAD, MODE_ALL_AT_ONCE }
enum | { kMaxMagnification = 512 }

## Protected Member Functions
| LTIMultiResFilter (void)
virtual | ~LTIMultiResFilter (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...
bool | getChildScene (const LTIScene &scene, Mode &mode, double &xScale, double &yScale, LTIScene &childScene) const

## Additional Inherited Members
Protected Attributes inherited from LTIOverrideStripHeightData
lt_uint32 | m_stripHeight
Protected Attributes inherited from LTIOverrideMagnificationData
double | m_minMag
double | m_maxMag
Protected Attributes inherited from LTIOverrideGeoCoordData
LTIGeoCoord * | m_geoCoord
bool | m_geoCoordImplicit
Protected Attributes inherited from LTIOverrideDimensionsData
lt_uint32 | m_width
lt_uint32 | m_height

## Detailed Description

Extends the magnification range of an image, to allow decodes at different resolutions than the image stage would normally allow.

Note that this class is not the same as at the LTIStaticZoomFilter class, which scales the magnification statically for the pipeline when initially constructed. This class allows for the zoom level to be extended for an individual decode operation.

Definition at line 39 of file lti_multiresFilter.h.

## Member Enumeration Documentation

anonymous enum
| protected

Enumerator
kMaxMagnification |

Definition at line 143 of file lti_multiresFilter.h.

enum LTIMultiResFilter::Mode
| protected

Enumerator
MODE_INVALID |
MODE_RESAMPLE |
MODE_PASSTHROUGH |
MODE_DOWNSAMPLE_FULLREAD |
MODE_ALL_AT_ONCE |

Definition at line 128 of file lti_multiresFilter.h.

## Constructor & Destructor Documentation

LTIMultiResFilter::LTIMultiResFilter | ( | void | ) |  |
| protected

virtual LTIMultiResFilter::~LTIMultiResFilter | ( | void | ) |  |
| protected virtual

## Member Function Documentation

static LTIMultiResFilter* LTIMultiResFilter::create | ( | void | ) |  |
| static

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

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

bool LTIMultiResFilter::getChildScene | ( | const LTIScene & | scene,
|  | Mode & | mode,
|  | double & | xScale,
|  | double & | yScale,
|  | LTIScene & | childScene
| ) |  | const
| protected

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

virtual lt_uint32 LTIMultiResFilter::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.

bool LTIMultiResFilter::getPipelineInfo | ( | LTIPipelineInfo | info) |  | const
| virtual

Reimplemented from LTIImageFilter.

bool LTIMultiResFilter::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 LTIMultiResFilter::initialize | ( | LTIImageStage * | srcImage) |  |

Creates an image stage which can be decoded at arbitrary magnifications.

Normally image stages will only support a limited set of magnification values for the LTIScene passed to LTIImageStage::read() – often, only 1.0. This class will perform any needed resampling on the fly so that arbitrary (power-of-two) magnifications are supported.

Parameters

  srcImage | the base image

LT_STATUS LTIMultiResFilter::initialize | ( | LTIImageStage * | srcImage,
|  | lt_int8 | scaleFactor
| ) |  |

Magnifies the image by the scale factor given. The image width, height, geographic resolution, etc, are all updated accordingly.

A positive scale factor performs a "res-up" operation, while a negative scale factor will reduce the image. That is, a scale factor of 2 will double the image size, e.g. from a magnification of 1.0 to 2.0, while a scale factor of -2 will halve the image size, e.g. from a magnification of 1.0 to 0.5.

Parameters

  srcImage | the base image
  scaleFactor | the integer scale factor

LT_STATUS LTIMultiResFilter::initialize | ( | LTIImageStage * | srcImage,
|  | double | deltaMag,
|  | double | minMag,
|  | double | maxMag
| ) |  |

static double LTIMultiResFilter::magForIcon | ( | const LTIImage & | image,
|  | lt_uint32 | iconSize
| ) |  |
| static

static double LTIMultiResFilter::magForIcon | ( | lt_uint32 | width,
|  | lt_uint32 | height,
|  | lt_uint32 | iconSize
| ) |  |
| static

static LT_STATUS LTIMultiResFilter::push | ( | LTIImageStage *& | pipeline,
|  | const LTIScene & | dstScene,
|  | LTIResampleMethod | method = `LTI_RESAMPLE_NEAREST`
| ) |  |
| static

static LT_STATUS LTIMultiResFilter::push | ( | LTIImageStage *& | pipeline,
|  | double | mag,
|  | LTIResampleMethod | method = `LTI_RESAMPLE_NEAREST`
| ) |  |
| static

void LTIMultiResFilter::setDeltaMagXY | ( | double | deltaMagX,
|  | double | deltaMagY
| ) |  |

void LTIMultiResFilter::setMagSnapThreshold | ( | double | threshold) |  |

LT_STATUS LTIMultiResFilter::setResampleMethod | ( | LTIResampleMethod | resampleMethod) |  |

Parameters

  resampleMethod | resampling method See LTIResampleMethod

LT_STATUS LTIMultiResFilter::setResamplePixelCenter | ( | bool | usePixelCenter) |  |

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

- lti_multiresFilter.h

LizardTech