MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
|
create a single mosaicked image from a set of images More...
#include <lti_mosaicFilter.h>
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_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... | |
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... | |
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 |
![]() | |
lt_uint32 | getWidth () const |
get image width More... | |
lt_uint32 | getHeight () const |
get image height More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
lt_uint32 | getStripHeight () const |
get strip height More... | |
LT_STATUS | setStripHeight (lt_uint32 stripHeight) |
set the strip height 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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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... | |
LTIPixel * | createBackgroundPixel () const |
return new background pixel More... | |
![]() | |
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... | |
![]() | |
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 LTIScene & | getFullScene () const |
get full scene More... | |
![]() | |
LTIImage (void) | |
virtual | ~LTIImage (void) |
![]() | |
LTIReferenceCountedObject (void) | |
virtual | ~LTIReferenceCountedObject (void) |
![]() | |
LTIOverrideMetadataData () | |
~LTIOverrideMetadataData () | |
LT_STATUS | createMetadata (const LTIMetadataDatabase *metadata) |
LTIMetadataDatabase & | getMetadata () |
![]() | |
LTIOverridePixelLookupTablesData () | |
~LTIOverridePixelLookupTablesData () | |
LT_STATUS | setPixelLookupTable (const LTIPixelLookupTable *pixelLookupTable) |
set the color lookup table More... | |
![]() | |
LTIOverrideDelegatesData () | |
![]() | |
LTIOverrideStripHeightData () | |
![]() | |
LTIOverrideIsSelectiveData () | |
void | setIsSelective (bool enable) |
set image to support "random access" More... | |
![]() | |
LTIOverrideMagnificationData () | |
LT_STATUS | setMagnification (double minMag, double maxMag) |
set the minimum and maximum magnifications of the image properties More... | |
![]() | |
LTIOverrideGeoCoordData () | |
~LTIOverrideGeoCoordData () | |
LT_STATUS | setGeoCoord (const LTIGeoCoord &geoCoord) |
set the geographic coordinates of the image More... | |
LT_STATUS | setDefaultGeoCoord (const LTIImage &image) |
set the geographic coordinates of the image More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
LTIOverrideDimensionsData () | |
LT_STATUS | setDimensions (lt_uint32 width, lt_uint32 height) |
set width and height of the image More... | |
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.
Enumerator | |
---|---|
DoNothing | |
FromMerge | |
FromSourceRectangle |
Definition at line 58 of file lti_mosaicFilter.h.
|
protected |
|
protectedvirtual |
|
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.
imageStageManager | manages the set of input images |
useMultires | allow images with incompatible resolution |
|
static |
|
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.
pixelProps | the band selection |
fullScene | the full scene to be read |
Implements LTIImageStage.
|
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.
Implements LTIImageStage.
|
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.
stripBuffer | the buffer to read the pixels into |
stripScene | the scene for this strip being decoded |
Implements LTIImageStage.
LT_STATUS LTIMosaicFilter::forEachImageStageInScene | ( | const LTIScene & | scene, |
InSceneCallback & | callback | ||
) |
bool LTIMosaicFilter::getDeleteImages | ( | void | ) | const |
|
virtual |
This function returns the width and height of the image, in pixels, relative to the given magnification.
mag | magnification to determine width at |
width | the image width at the magnification |
height | the image height at the magnification |
Implements LTIImage.
|
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.
scene | the scene to be charged for |
Implements LTIImageStage.
LTIPixelFillMethod LTIMosaicFilter::getFillMethod | ( | void | ) | const |
See setFillMethod().
double LTIMosaicFilter::getFuzzyThreshold | ( | void | ) | const |
LTIImageStageManager& LTIMosaicFilter::getImageStageManager | ( | void | ) | const |
|
virtual |
Implements LTIImageStage.
This function returns a bitfield describing what kinds of modifications have been made to the image during and since its initial encoding.
scene | the area pertaining to this request |
Implements LTIImage.
double LTIMosaicFilter::getOverviewMag | ( | void | ) | const |
bool LTIMosaicFilter::getOverviewReaderScene | ( | const LTIScene & | decodeScene, |
LTIScene & | mosaicScene, | ||
LTIScene & | readerScene | ||
) | const |
|
virtual |
Implements LTIImageStage.
|
virtual |
Get the scene that will be sent to the underlying LTIImageReader. This is useful in some complex pipelines.
decodeScene | the scene that would be given to read() |
readerScene | the scene that is the actual scene passed the underlying image reader |
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.
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 | ||
) |
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 | ) |
resampleMethod | resampling method See LTIResampleMethod |
LizardTech |