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

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

create a single mosaicked image from a set of images More...

`#include <lti_mosaicFilter.h>`

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

## Classes
class | InSceneCallback

## Public Types
enum | AlphaMode { DoNothing, FromMerge, FromSourceRectangle }

## Public Member Functions
LT_STATUS | initialize (LTIImageStageManager *imageStageManager, const LTIPixel *backgroundPixel, bool useMultires, bool mergeMetadata=true, AlphaMode alphaMode=DoNothing)
| initializer More...
LT_STATUS | getDimsAtMag (double mag, lt_uint32 &width, lt_uint32 &height) const
| get image width and height at given magnification More...
lt_uint32 | getModifications (const LTIScene &scene) const
| get the modification bitfield for this image More...
LT_STATUS | getMetadataBlob (const char *type, LTIOStreamInf *&stream) const
| extract the metadata associated with the image of the given type 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...
LTIMaskSource * | getMask () const
bool | getPipelineInfo (LTIPipelineInfo info) const
void | setFillMethod (LTIPixelFillMethod method, double fuzzyThreshold)
| Set the fill method which controls how noData pixels are matched. More...
LTIPixelFillMethod | getFillMethod (void) const
| Get the fill method. More...
double | getFuzzyThreshold (void) const
void | setResampleMethod (LTIResampleMethod resampleMethod)
| Set resampling method. More...
void | setMagSnapThreshold (double threshold)
LTIResampleMethod | getResampleMethod (void) const
| Get the fill method. More...
void | setResamplePixelCenter (bool usePixelCenter)
bool | getReaderScene (lt_uint32 child, const LTIScene &decodeScene, LTIScene &mosaicScene, LTIScene &readerScene) const
bool | getOverviewReaderScene (const LTIScene &decodeScene, LTIScene &mosaicScene, LTIScene &readerScene) const
LT_STATUS | forEachImageStageInScene (const LTIScene &scene, InSceneCallback &callback)
void | setDeleteImages (bool deleteImages)
bool | getDeleteImages (void) const
LT_STATUS | loadImage (lt_uint32 i, LTIEmbeddedImage *&embedded, LTIImageStage *&raw)
LT_STATUS | closeImage (lt_uint32 i)
LT_STATUS | setPipelineBuilder (LTIPipelineBuilder *pipelineBuilder)
const LTIRTree & | getRTree (void) const
LTIImageStageManager & | getImageStageManager (void) const
bool | hasOverviewImage (void) const
double | getOverviewMag (void) const
Public Member Functions inherited from LTIOverrideDimensions< LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > > >
lt_uint32 | getWidth () const
| get image width More...
lt_uint32 | getHeight () const
| get image height More...
Public Member Functions inherited from LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > >
const LTIPixel & | getPixelProps () const
| get the pixel properties of the image 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...
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< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > >
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...
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 LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > >
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< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > >
double | getMinMagnification () const
| get the minimum magnification More...
double | getMaxMagnification () const
| get the maximum magnification More...
Public Member Functions inherited from LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > >
bool | isSelective () const
| check if image supports "random access" decoding More...
Public Member Functions inherited from LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > >
lt_uint32 | getStripHeight () const
| get strip height More...
LT_STATUS | setStripHeight (lt_uint32 stripHeight)
| set the strip height More...
Public Member Functions inherited from LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > >
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...
Public Member Functions inherited from LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > >
const LTIPixelLookupTable * | getPixelLookupTable () const
| get the color lookup table, if any More...
LT_STATUS | overridePixelLookupTable (const LTIPixelLookupTable *pixelLookupTable)
| override the CLUT of the image More...
Public Member Functions inherited from LTIOverrideMetadata< LTIImageStage >
const LTIMetadataDatabase & | getMetadata () const
| get the metadata associated with the image More...
LT_STATUS | overrideMetadata (const LTIMetadataDatabase &metadata)
| override the metadata of the image More...
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 LTIMosaicFilter * | create (void)
static LT_STATUS | checkResolutionConformance (LTIImageStageManager *imageStageManager, bool useMultires)
| Check if a set of images can be mosaicked together. More...

## Protected Member Functions
| LTIMosaicFilter (void)
virtual | ~LTIMosaicFilter (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...

## Additional Inherited Members
Protected Attributes inherited from LTIOverrideMetadataData
LTIMetadataDatabase * | m_metadata
Protected Attributes inherited from LTIOverridePixelLookupTablesData
LTIPixelLookupTable * | m_pixelLookupTable
Protected Attributes inherited from LTIOverrideDelegatesData
LTIProgressDelegate * | m_progressDelegate
LTIInterruptDelegate * | m_interruptDelegate
Protected Attributes inherited from LTIOverrideStripHeightData
lt_uint32 | m_stripHeight
Protected Attributes inherited from LTIOverrideIsSelectiveData
bool | m_isSelective
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 LTIOverrideBackgroundPixelData
LTIPixel * | m_backgroundPixel
LTIPixel * | m_nodataPixel
Protected Attributes inherited from LTIOverridePixelPropsData
LTIPixel * | m_pixelProps
LTIPixel * | m_drminPixel
LTIPixel * | m_drmaxPixel
Protected Attributes inherited from LTIOverrideDimensionsData
lt_uint32 | m_width
lt_uint32 | m_height

## Detailed Description

This class create a single mosaicked image from a set of images.

The set of input images are all assumed to be in the same coordinate space. In general, all the images must have the same resolution; differences that are within a small epsilon or exactly a power of two are optionally allowed.

Definition at line 43 of file lti_mosaicFilter.h.

## Member Enumeration Documentation

enum LTIMosaicFilter::AlphaMode

Enumerator
DoNothing |
FromMerge |
FromSourceRectangle |

Definition at line 58 of file lti_mosaicFilter.h.

## Constructor & Destructor Documentation

LTIMosaicFilter::LTIMosaicFilter | ( | void | ) |  |
| protected

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

## Member Function Documentation

static LT_STATUS LTIMosaicFilter::checkResolutionConformance | ( | LTIImageStageManager * | imageStageManager,
|  | bool | useMultires
| ) |  |
| static

The parameters to this function mirror those of the constructor: this function will return LT_STS_Success if and only if the images' resolutions are such that a mosaic can be produced.

Parameters

  imageStageManager | manages the set of input images
  useMultires | allow images with incompatible resolution

Returns
  status code indicating success or failure

LT_STATUS LTIMosaicFilter::closeImage | ( | lt_uint32 | i) |  |

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

LT_STATUS LTIMosaicFilter::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

Implements LTIImageStage.

LT_STATUS LTIMosaicFilter::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

Implements LTIImageStage.

LT_STATUS LTIMosaicFilter::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

Implements LTIImageStage.

LT_STATUS LTIMosaicFilter::forEachImageStageInScene | ( | const LTIScene & | scene,
|  | InSceneCallback & | callback
| ) |  |

bool LTIMosaicFilter::getDeleteImages | ( | void | ) |  | const

LT_STATUS LTIMosaicFilter::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

Implements LTIImage.

lt_int64 LTIMosaicFilter::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

Implements LTIImageStage.

LTIPixelFillMethod LTIMosaicFilter::getFillMethod | ( | void | ) |  | const

See setFillMethod().

double LTIMosaicFilter::getFuzzyThreshold | ( | void | ) |  | const

LTIImageStageManager& LTIMosaicFilter::getImageStageManager | ( | void | ) |  | const

LTIMaskSource* LTIMosaicFilter::getMask | ( | ) |  | const
| virtual

Implements LTIImageStage.

LT_STATUS LTIMosaicFilter::getMetadataBlob | ( | const char * | type,
|  | LTIOStreamInf *& | stream
| ) |  | const
| virtual

This function returns XMP or EXIF metadata as a blob.

Parameters

  type | type of metadata to extract (xmp|exif)
  stream | output stream containing the asked for metadata. The caller must delete the returned stream.

Returns
  status code indicating success or failure

Implements LTIImage.

lt_uint32 LTIMosaicFilter::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

Implements LTIImage.

double LTIMosaicFilter::getOverviewMag | ( | void | ) |  | const

bool LTIMosaicFilter::getOverviewReaderScene | ( | const LTIScene & | decodeScene,
|  | LTIScene & | mosaicScene,
|  | LTIScene & | readerScene
| ) |  | const

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

Implements LTIImageStage.

bool LTIMosaicFilter::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

Implements LTIImageStage.

bool LTIMosaicFilter::getReaderScene | ( | lt_uint32 | child,
|  | const LTIScene & | decodeScene,
|  | LTIScene & | mosaicScene,
|  | LTIScene & | readerScene
| ) |  | const

LTIResampleMethod LTIMosaicFilter::getResampleMethod | ( | void | ) |  | const

See setResampleMethod().

const LTIRTree& LTIMosaicFilter::getRTree | ( | void | ) |  | const

bool LTIMosaicFilter::hasOverviewImage | ( | void | ) |  | const

LT_STATUS LTIMosaicFilter::initialize | ( | LTIImageStageManager * | imageStageManager,
|  | const LTIPixel * | backgroundPixel,
|  | bool | useMultires,
|  | bool | mergeMetadata = `true`,
|  | AlphaMode | alphaMode = `DoNothing`
| ) |  |

Creates an image stage which is a mosaic of the set of input images.

In order to create a mosaic, the ground resolution of all component images must match exactly or be offset by a power of two. For example, two images having 1m resolution can be mosaicked with an image having .5m resolution. However, an image with 1ft resolution will cause an error condition. Slight variations in resolution will be automatically tolerated to accommodate differences in floating-point representation.

The "useMultires" flag will allow images to be mosaicked that do not have compatible ground resolution. Setting this flag will cause some images in the mosaic to be resampled to achieve compatible resolution.

Transparency settings are honored by the mosaic process.

Parameters

  imageStageManager | manages the set of input images
  backgroundPixel | color to use for the background of the mosaic
  useMultires | resample images with incompatible resolution
  mergeMetadata | merge input-file-name, input-file-size and modifications

LT_STATUS LTIMosaicFilter::loadImage | ( | lt_uint32 | i,
|  | LTIEmbeddedImage *& | embedded,
|  | LTIImageStage *& | raw
| ) |  |

void LTIMosaicFilter::setDeleteImages | ( | bool | deleteImages) |  |

void LTIMosaicFilter::setFillMethod | ( | LTIPixelFillMethod | method,
|  | double | fuzzyThreshold
| ) |  |

Parameters

  method | fill method enum. See LTIPixelFillMethod
  fuzzyThreshold | fill method enum. See LTIPixelFillMethod

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

LT_STATUS LTIMosaicFilter::setPipelineBuilder | ( | LTIPipelineBuilder * | pipelineBuilder) |  |

void LTIMosaicFilter::setResampleMethod | ( | LTIResampleMethod | resampleMethod) |  |

Parameters

  resampleMethod | resampling method See LTIResampleMethod

void LTIMosaicFilter::setResamplePixelCenter | ( | bool | usePixelCenter) |  |

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

- lti_mosaicFilter.h

LizardTech