MrSID Decode SDK for Raster Reference Manual  9.1.0.4045
LTIImageReader Class Referenceabstract

abstract class for implementing an image reader More...

#include <lti_imageReader.h>

Inheritance diagram for LTIImageReader:
LTIOverrideDimensions< LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > > > LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > > LTIOverrideDimensionsData LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > LTIOverridePixelPropsData LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > LTIOverrideBackgroundPixelData LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > LTIOverrideGeoCoordData LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > LTIOverrideMagnificationData LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > LTIOverrideIsSelectiveData LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > LTIOverrideStripHeightData LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > LTIOverrideDelegatesData LTIOverrideMetadata< LTIImageStage > LTIOverridePixelLookupTablesData LTIImageStage LTIOverrideMetadataData LTIImage LTIReferenceCountedObject LTIGeoImageReader LTIRawImageReader MrSIDSingleImageReaderBase Nitf::ImageReader LTIBBBImageReader

Public Member Functions

LT_STATUS getDimsAtMag (double mag, lt_uint32 &width, lt_uint32 &height) const
 get image width and height at given magnification More...
 
virtual LTIMaskSource * getMask () const
 
virtual bool getPipelineInfo (LTIPipelineInfo info) const
 
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...
 
LT_STATUS readBegin (const LTIPixel &pixelProps, const LTIScene &fullScene)
 start strip-based read More...
 
LT_STATUS readStrip (LTISceneBuffer &buffer, const LTIScene &stripScene)
 read a strip from the image More...
 
LT_STATUS readEnd (void)
 finish strip-based read More...
 
- Public Member Functions inherited from LTIOverrideDimensions< LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > > >
lt_uint32 getWidth () const
 
lt_uint32 getHeight () const
 
- Public Member Functions inherited from LTIOverridePixelProps< LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > > >
const LTIPixelgetPixelProps () const
 
const LTIPixelgetMinDynamicRange () const
 
const LTIPixelgetMaxDynamicRange () const
 
LT_STATUS overridePixelBPS (lt_uint8 bps)
 
LT_STATUS overrideDynamicRange (const LTIPixel &drmin, const LTIPixel &drmax)
 
- Public Member Functions inherited from LTIOverrideBackgroundPixel< LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > > >
const LTIPixelgetBackgroundPixel () const
 
const LTIPixelgetNoDataPixel () const
 
LT_STATUS overrideBackgroundPixel (const LTIPixel *backgroundPixel)
 
LT_STATUS overrideNoDataPixel (const LTIPixel *nodataPixel)
 
- Public Member Functions inherited from LTIOverrideGeoCoord< LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > > >
const LTIGeoCoordgetGeoCoord () const
 
bool isGeoCoordImplicit () const
 
LT_STATUS overrideGeoCoord (const LTIGeoCoord &geoCoord)
 
- Public Member Functions inherited from LTIOverrideMagnification< LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > > >
double getMinMagnification () const
 
double getMaxMagnification () const
 
- Public Member Functions inherited from LTIOverrideIsSelective< LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > > >
bool isSelective () const
 
- Public Member Functions inherited from LTIOverrideStripHeight< LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > > >
lt_uint32 getStripHeight () const
 
LT_STATUS setStripHeight (lt_uint32 stripHeight)
 
- Public Member Functions inherited from LTIOverrideDelegates< LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > > >
void setProgressDelegate (LTIProgressDelegate *delegate)
 
LTIProgressDelegategetProgressDelegate () const
 
void setInterruptDelegate (LTIInterruptDelegate *delegate)
 
LTIInterruptDelegategetInterruptDelegate () const
 
- Public Member Functions inherited from LTIOverridePixelLookupTables< LTIOverrideMetadata< LTIImageStage > >
const LTIPixelLookupTablegetPixelLookupTable () const
 
LT_STATUS overridePixelLookupTable (const LTIPixelLookupTable *pixelLookupTable)
 
- Public Member Functions inherited from LTIOverrideMetadata< LTIImageStage >
const LTIMetadataDatabasegetMetadata () const
 
LT_STATUS overrideMetadata (const LTIMetadataDatabase &metadata)
 
- Public Member Functions inherited from LTIImageStage
LT_STATUS read (const LTIScene &scene, LTISceneBuffer &buffer)
 read (decode) a scene from the image 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...
 

Protected Member Functions

 LTIImageReader (bool supportBandSelection)
 
LT_STATUS init (const LTIImage *image=NULL)
 
LT_STATUS loadMetadataIntoObjects (const LTIMetadataDatabase &fileMetadata, LTIPixel &pixelProps, bool updatePixelProps, bool updateGeoCoord)
 
virtual const char * getSourceName (void) const =0
 
- 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
 
virtual LT_STATUS decodeBegin (const LTIPixel &pixelProps, const LTIScene &fullScene)=0
 start strip-based read More...
 
virtual LT_STATUS decodeStrip (LTISceneBuffer &stripBuffer, const LTIScene &stripScene)=0
 read a strip from the image More...
 
virtual LT_STATUS decodeEnd (void)=0
 finish strip-based read More...
 
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 LTIOverrideMetadataData
 LTIOverrideMetadataData ()
 
 ~LTIOverrideMetadataData ()
 
LT_STATUS createMetadata (const LTIMetadataDatabase *metadata)
 
LTIMetadataDatabasegetMetadata ()
 
- Protected Member Functions inherited from LTIOverridePixelLookupTablesData
 LTIOverridePixelLookupTablesData ()
 
 ~LTIOverridePixelLookupTablesData ()
 
LT_STATUS setPixelLookupTable (const LTIPixelLookupTable *pixelLookupTable)
 set the color lookup table More...
 
- Protected Member Functions inherited from LTIOverrideDelegatesData
 LTIOverrideDelegatesData ()
 
- Protected Member Functions inherited from LTIOverrideStripHeightData
 LTIOverrideStripHeightData ()
 
- Protected Member Functions inherited from LTIOverrideIsSelectiveData
 LTIOverrideIsSelectiveData ()
 
void setIsSelective (bool enable)
 set image to support "random access" More...
 
- Protected Member Functions inherited from LTIOverrideMagnificationData
 LTIOverrideMagnificationData ()
 
LT_STATUS setMagnification (double minMag, double maxMag)
 set the minimum and maximum magnifications of the image properties More...
 
- Protected Member Functions inherited from LTIOverrideGeoCoordData
 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...
 
- 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...
 
- Protected Member Functions inherited from LTIOverrideDimensionsData
 LTIOverrideDimensionsData ()
 
LT_STATUS setDimensions (lt_uint32 width, lt_uint32 height)
 set width and height of the image More...
 

Protected Attributes

const bool m_supportBandSelection
 
- Protected Attributes inherited from LTIOverrideMetadataData
LTIMetadataDatabasem_metadata
 
- Protected Attributes inherited from LTIOverridePixelLookupTablesData
LTIPixelLookupTablem_pixelLookupTable
 
- Protected Attributes inherited from LTIOverrideDelegatesData
LTIProgressDelegatem_progressDelegate
 
LTIInterruptDelegatem_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
LTIGeoCoordm_geoCoord
 
bool m_geoCoordImplicit
 
- Protected Attributes inherited from LTIOverrideBackgroundPixelData
LTIPixelm_backgroundPixel
 
LTIPixelm_nodataPixel
 
- Protected Attributes inherited from LTIOverridePixelPropsData
LTIPixelm_pixelProps
 
LTIPixelm_drminPixel
 
LTIPixelm_drmaxPixel
 
- Protected Attributes inherited from LTIOverrideDimensionsData
lt_uint32 m_width
 
lt_uint32 m_height
 

Detailed Description

The LTIImageReader abstract class extends the LTIImageStage so that it can be used as a decoder for an image format, i.e. the "end" of an image pipeline. This is the base class for such classes as the MrSIDImageReader.

Examples:
DerivedImageReader.cpp.

Definition at line 33 of file lti_imageReader.h.

Constructor & Destructor Documentation

LTIImageReader::LTIImageReader ( bool  supportBandSelection)
protected

Member Function Documentation

LT_STATUS LTIImageReader::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
magmagnification to determine width at
widththe image width at the magnification
heightthe image height at the magnification
Returns
status code indicating success or failure

Implements LTIImage.

Reimplemented in Nitf::ImageReader.

lt_int64 LTIImageReader::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.

Reimplemented in MrSIDSingleImageReaderBase.

virtual LTIMaskSource* LTIImageReader::getMask ( ) const
virtual

Implements LTIImageStage.

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

Implements LTIImage.

Reimplemented in MrSIDSingleImageReaderBase.

virtual bool LTIImageReader::getPipelineInfo ( LTIPipelineInfo  info) const
virtual

Implements LTIImageStage.

bool LTIImageReader::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
decodeScenethe scene that would be given to read()
readerScenethe scene that is the actual scene passed the underlying image reader
Returns
true if readerScene is not empty

Implements LTIImageStage.

virtual const char* LTIImageReader::getSourceName ( void  ) const
protectedpure virtual
LT_STATUS LTIImageReader::init ( const LTIImage image = NULL)
protected
LT_STATUS LTIImageReader::loadMetadataIntoObjects ( const LTIMetadataDatabase fileMetadata,
LTIPixel pixelProps,
bool  updatePixelProps,
bool  updateGeoCoord 
)
protected
LT_STATUS LTIImageReader::readBegin ( const LTIPixel pixelProps,
const LTIScene fullScene 
)
virtual

This function is called by read() before readStrip() is called. It should not be called directly except in certain rare circumstances.

Derived classes should not override.

Parameters
pixelPropsthe band selection
fullScenethe full scene to be read
Returns
status code indicating success or failure

Reimplemented from LTIImageStage.

LT_STATUS LTIImageReader::readEnd ( void  )
virtual

This function is called by read() after readStrip() is called. It should not be called directly except in certain rare circumstances.

Derived classes should not override.

Returns
status code indicating success or failure

Reimplemented from LTIImageStage.

LT_STATUS LTIImageReader::readStrip ( LTISceneBuffer buffer,
const LTIScene stripScene 
)
virtual

This function decodes a scene from the image and puts the pixels into the given buffer. It is called by read(), and should not be called directly except in certain rare circumstances.

The scene must lie within the boundaries of the image.

Derived classes should not override this method.

Derived classes should use the progress and interrupt delegates when the read operation can be expected to take a significant amount of time to complete.

Parameters
bufferthe buffer to read the pixels into
stripScenethe scene for this strip being decoded
Returns
status code indicating success or failure

Reimplemented from LTIImageStage.

Member Data Documentation

const bool LTIImageReader::m_supportBandSelection
protected

Definition at line 81 of file lti_imageReader.h.


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

LizardTech