MrSID Decode SDK for Raster Reference Manual  9.5.4.4709
LTIRawImageReader Class Reference

class for reading RAW files More...

#include <lti_rawImageReader.h>

Inheritance diagram for LTIRawImageReader:
LTIGeoImageReader 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 LTIBBBImageReader

Public Member Functions

LT_STATUS initialize (LTIOStreamInf *stream, const LTIPixel &pixelProps, lt_uint32 width, lt_uint32 height, bool useWorldFile=true)
 initialize (stream) More...
 
LT_STATUS initialize (const LTFileSpec &fileSpec, const LTIPixel &pixelProps, lt_uint32 width, lt_uint32 height, bool useWorldFile=true)
 initialize (FileSpec) More...
 
LT_STATUS initialize (const char *file, const LTIPixel &pixelProps, lt_uint32 width, lt_uint32 height, bool useWorldFile=true)
 initialize (char*) More...
 
Properties of the RAW image

These must be called prior to calling initialize(), unlike most other SDK objects.

void setStreamOwnership (bool takeOwnership)
 set stream ownership More...
 
void setRowBytes (lt_uint32 rowBytes)
 sets the number of bytes in each row More...
 
void setLayout (LTILayout layout)
 sets the layout or organization of the raw data More...
 
void setSkipBytes (lt_int64 leadingBytes, lt_int64 trailingBytes=0)
 sets the number of bytes to skip at the beginning and end of the file More...
 
void setByteOrder (LTIEndian byteOrder)
 sets endianness of input file More...
 
- Public Member Functions inherited from LTIImageReader
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...
 
LTIMaskSource * getMask () const
 
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...
 
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...
 
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...
 
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...
 

Static Public Member Functions

static LTIRawImageReadercreate (void)
 

Protected Member Functions

 LTIRawImageReader (void)
 
virtual ~ LTIRawImageReader (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...
 
const char * getSourceName (void) const
 
- Protected Member Functions inherited from LTIGeoImageReader
 LTIGeoImageReader (bool supportBandSelection)
 
LT_STATUS init (bool useWorldFile)
 
bool getUseWorldFile () const
 
LT_STATUS readWorldFile (const LTFileSpec &file, bool &changed, bool doUseWorldFileTest=true)
 
LT_STATUS readWorldFile (LTIOStreamInf &stream, bool &changed, bool doUseWorldFileTest=true)
 
- Protected Member Functions inherited from LTIImageReader
 LTIImageReader (bool supportBandSelection)
 
LT_STATUS init (const LTIImage *image=NULL)
 
LT_STATUS loadMetadataIntoObjects (const LTIMetadataDatabase &fileMetadata, LTIPixel &pixelProps, bool updatePixelProps, bool updateGeoCoord)
 
- 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
 
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

LTFileSpecm_fileSpec
 
- Protected Attributes inherited from LTIImageReader
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

This class reads a RAW image.

The RAW format used is simple packed BIP form.

Examples:
Pipeline.cpp.

Definition at line 30 of file lti_rawImageReader.h.

Constructor & Destructor Documentation

§ LTIRawImageReader()

LTIRawImageReader::LTIRawImageReader ( void  )
protected

§ ~ LTIRawImageReader()

virtual LTIRawImageReader::~ LTIRawImageReader ( void  )
protectedvirtual

Member Function Documentation

§ create()

static LTIRawImageReader* LTIRawImageReader::create ( void  )
static
Examples:
Pipeline.cpp.

§ decodeBegin()

LT_STATUS LTIRawImageReader::decodeBegin ( const LTIPixel pixelProps,
const LTIScene fullScene 
)
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.

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

Implements LTIImageStage.

§ decodeEnd()

LT_STATUS LTIRawImageReader::decodeEnd ( void  )
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.

Returns
status code indicating success or failure

Implements LTIImageStage.

§ decodeStrip()

LT_STATUS LTIRawImageReader::decodeStrip ( LTISceneBuffer stripBuffer,
const LTIScene stripScene 
)
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.

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

Implements LTIImageStage.

§ getSourceName()

const char* LTIRawImageReader::getSourceName ( void  ) const
protectedvirtual

Implements LTIImageReader.

§ initialize() [1/3]

LT_STATUS LTIRawImageReader::initialize ( LTIOStreamInf stream,
const LTIPixel pixelProps,
lt_uint32  width,
lt_uint32  height,
bool  useWorldFile = true 
)

This function constructs an LTIImageReader using the data in the stream with the image properties specified. The input taken from a stream.

Parameters
streamstream containing the RAW image data (may not be NULL)
pixelPropsthe pixel properties of the image (colorspace, datatype, etc)
widththe width of the image
heightthe height of the image
useWorldFileuse world file information if available
Examples:
Pipeline.cpp.

§ initialize() [2/3]

LT_STATUS LTIRawImageReader::initialize ( const LTFileSpec fileSpec,
const LTIPixel pixelProps,
lt_uint32  width,
lt_uint32  height,
bool  useWorldFile = true 
)

This function constructs an LTIImageReader using the data in the stream with the image properties specified. The input taken from a stream, and the background and nodata pixels may be specified.

Parameters
fileSpecfile containing the RAW image data
pixelPropsthe pixel properties of the image (colorspace, datatype, etc)
widththe width of the image
heightthe height of the image
useWorldFileuse world file information if available

§ initialize() [3/3]

LT_STATUS LTIRawImageReader::initialize ( const char *  file,
const LTIPixel pixelProps,
lt_uint32  width,
lt_uint32  height,
bool  useWorldFile = true 
)

This function constructs an LTIImageReader using the data in the stream with the image properties specified. The input taken from a stream, and the background and nodata pixels may be specified.

Parameters
filefile containing the RAW image data (may not be NULL)
pixelPropsthe pixel properties of the image (colorspace, datatype, etc)
widththe width of the image
heightthe height of the image
useWorldFileuse world file information if available

§ setByteOrder()

void LTIRawImageReader::setByteOrder ( LTIEndian  byteOrder)

Sets the byte order or endianness of the input file.

Note
This must be called prior to calling initialize().
Parameters
byteOrderthe endian setting to use

§ setLayout()

void LTIRawImageReader::setLayout ( LTILayout  layout)

Sets the layout or organization of the raw data.

If not set, the default is BIP format.

Note
This must be called prior to calling initialize().
Parameters
layoutthe layout of the raw data

§ setRowBytes()

void LTIRawImageReader::setRowBytes ( lt_uint32  rowBytes)

Sets the number of bytes in each row.

If not set, the bytes per row is simply the number of data items per row times the size of a data item. (Note that a "data item" in this case may be either a pixel or a sample, depending on the layout being used.)

Note
This must be called prior to calling initialize().
Parameters
rowBytesthe number of bytes per row

§ setSkipBytes()

void LTIRawImageReader::setSkipBytes ( lt_int64  leadingBytes,
lt_int64  trailingBytes = 0 
)

Sets the number of bytes to skip at the beginning of the file and the end of the file. (The "ending skip bytes" property is sometimes required because LTIRawImageReader::initialize() does a sanity check to make sure the number of data bytes in the file is equal to the number of bytes needed for the given width, height, etc.

Note
This must be called prior to calling initialize().
Parameters
leadingBytesthe number of bytes to skip at the top
trailingBytesthe number of bytes to skip at the bottom

§ setStreamOwnership()

void LTIRawImageReader::setStreamOwnership ( bool  takeOwnership)

Sets the ownership of the stream, to indicate responsibility for deleting the stream when done. This only pertains to objects which were passed a stream in the ctor.

If not set, the default is for the object to not take ownership of the stream.

Note
This must be called prior to calling initialize().
Parameters
takeOwnershipset to true to have the reader delete the stream

Member Data Documentation

§ m_fileSpec

LTFileSpec* LTIRawImageReader::m_fileSpec
protected

Definition at line 184 of file lti_rawImageReader.h.


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

LizardTech