te::rp::ClassifierSAMStrategy Class Reference

Spectral Angle Mapper classification strategy. More...

#include <ClassifierSAMStrategy.h>

Inheritance diagram for te::rp::ClassifierSAMStrategy:
te::rp::ClassifierStrategy

Classes

class  Parameters
 Classifier Parameters. More...
 

Public Types

typedef std::map< ClassIDT, SamplesTClassesSamplesT
 Classes samples container type definition. More...
 
typedef boost::shared_ptr< ClassesSamplesTClassesSamplesTPtr
 A shared pointer to a multi classes samples container type definition. More...
 
typedef unsigned int ClassIDT
 Class ID type definition (zero means invalid ID). More...
 
typedef std::vector< SampleTSamplesT
 Class samples container type definition. More...
 
typedef std::vector< double > SampleT
 Class sample type definition. More...
 

Public Member Functions

 ClassifierSAMStrategy ()
 
void enableMultiThread (const bool &enable)
 Enable / disable the use of multiple threads. More...
 
void enableOutputPalette (const bool enabled)
 Enable (true) or disable (false) the creation of a paletted output raster. More...
 
void enableProgressInterface (const bool &enable)
 Enable / disable the progress interface. More...
 
void enableRasterCache (const bool &enable)
 Enable / disable the use of raster data cache. More...
 
bool execute () throw (te::rp::Exception)
 Executes the classification strategy. More...
 
void getMetaData (std::map< std::string, std::string > &metadata) const
 Returns strategy-dependent metadata. More...
 
bool initialize (ClassifierStrategyParameters const *const strategyParams) throw (te::rp::Exception)
 Initialize the classification strategy. More...
 
std::unique_ptr< te::rst::RasterreleaseOutputRaster ()
 Returns a pointer to the output raster or a void pointer if there is none. More...
 
void setInputPolygons (const std::vector< te::gm::Polygon * > &polygonsPtrs)
 Set the input polygons. More...
 
void setInputRaster (const te::rst::Raster &raster)
 Set the input raster. More...
 
void setInputRasterBands (const std::vector< unsigned int > &rasterBands)
 Set the input raste bandsr. More...
 
void setUserOutputPalette (std::vector< te::rst::BandProperty::ColorEntry > &userPalette)
 Set the output user palette. More...
 
 ~ClassifierSAMStrategy ()
 

Protected Member Functions

bool createOutputRaster (const std::vector< int > &bandsDataTypes, const std::vector< double > &noDataValues)
 Create the output raster using the EXPANSIBLE driver. More...
 
bool setOutputRasterPalette (const unsigned int size)
 Create and set the output raster palette folowing the current internal settings. More...
 

Protected Attributes

std::vector< ClassIDTm_classesIndex2ID
 An class index ordered vector of classes IDs;. More...
 
SamplesT m_classesMeans
 Classes means. More...
 
bool m_createRasterPalette
 Enable (true) or disable (false) the creation of a paletted output raster. More...
 
bool m_enableMultiThread
 Enable or disable the use multipe threads. More...
 
bool m_enableRasterCache
 Enable or disable the use a raster data cache. More...
 
ClassIDT m_highestTrainClassID
 
ClassifierSAMStrategy::Parameters m_initParams
 Initialization parameters. More...
 
std::vector< te::gm::Polygon * > const * m_inputPolygonsPtr
 Input polygons. More...
 
std::vector< unsigned int > m_inputRasterBands
 Input raster bands. More...
 
te::rst::Raster const * m_inputRasterPtr
 A pointer to the input raster. More...
 
bool m_isInitialized
 Is this instance initialized? More...
 
std::map< std::string, std::string > m_metaData
 Strategy-dependent metadata. More...
 
std::unique_ptr< te::rst::Rasterm_outputRasterPtr
 A pointer to the output raster. More...
 
bool m_progressInterfaceEnabled
 Progress interface status. More...
 
std::vector< te::rst::BandProperty::ColorEntrym_userOutputPalette
 User output raster palette (it must be large enough to accomodate all classifyier generated classes or an empty vector to automatically generate an random palette. More...
 

Detailed Description

Spectral Angle Mapper classification strategy.

This algorithm maps the spectral similarity of input raster to the given reference spectra wich can be either laboratory of field spectra. This method assumes that the data have been reduced to apparent reflectance with all dark current and path radiance biases removed. Reference: The spectral image processing system (SIPS)- interactive visualization and analysis of imaging spectrometer data. Kruse, F. A.; Lefkoff, A. B.; Boardman, J. W.; Heidebrecht, K. B.; Shapiro, A. T.; Barloon, P. J.; Goetz, A. F. H. The earth and space science information system (ESSIS). AIP Conference Proceedings, Volume 283, pp. 192-201 (1993).

Definition at line 55 of file ClassifierSAMStrategy.h.

Member Typedef Documentation

Classes samples container type definition.

Definition at line 65 of file ClassifierSAMStrategy.h.

A shared pointer to a multi classes samples container type definition.

Definition at line 67 of file ClassifierSAMStrategy.h.

Class ID type definition (zero means invalid ID).

Definition at line 59 of file ClassifierSAMStrategy.h.

Class samples container type definition.

Definition at line 63 of file ClassifierSAMStrategy.h.

typedef std::vector< double > te::rp::ClassifierSAMStrategy::SampleT

Class sample type definition.

Definition at line 61 of file ClassifierSAMStrategy.h.

Constructor & Destructor Documentation

te::rp::ClassifierSAMStrategy::ClassifierSAMStrategy ( )
te::rp::ClassifierSAMStrategy::~ClassifierSAMStrategy ( )

Member Function Documentation

bool te::rp::ClassifierStrategy::createOutputRaster ( const std::vector< int > &  bandsDataTypes,
const std::vector< double > &  noDataValues 
)
protectedinherited

Create the output raster using the EXPANSIBLE driver.

Parameters
bandsDataTypesBands data types.
noDataValuesA vector of no-data values for each band.
Returns
true if ok,false on errors.
Note
A pointer to the created raster will be handled by m_outputRasterPtr.
void te::rp::ClassifierStrategy::enableMultiThread ( const bool &  enable)
inherited

Enable / disable the use of multiple threads.

Parameters
enableEnable (true) or disable (false) the use of multiple threads.
void te::rp::ClassifierStrategy::enableOutputPalette ( const bool  enabled)
inherited

Enable (true) or disable (false) the creation of a paletted output raster.

Parameters
enabledEnable (true) or disable (false) the creation of a paletted output raster.
void te::rp::ClassifierStrategy::enableProgressInterface ( const bool &  enable)
inherited

Enable / disable the progress interface.

Parameters
enableEnable (true) or disable (false) the progress interface.
void te::rp::ClassifierStrategy::enableRasterCache ( const bool &  enable)
inherited

Enable / disable the use of raster data cache.

Parameters
enableEnable (true) or disable (false) the use of raster cache.
bool te::rp::ClassifierSAMStrategy::execute ( )
throw (te::rp::Exception
)
virtual

Executes the classification strategy.

Returns
true if OK, false on errors.

Implements te::rp::ClassifierStrategy.

void te::rp::ClassifierStrategy::getMetaData ( std::map< std::string, std::string > &  metadata) const
inherited

Returns strategy-dependent metadata.

Parameters
metadataStrategy-dependent metadata.
bool te::rp::ClassifierSAMStrategy::initialize ( ClassifierStrategyParameters const *const  strategyParams)
throw (te::rp::Exception
)
virtual

Initialize the classification strategy.

Parameters
strategyParamsA pointer to the user given specific classification strategy parameters ou NULL if no parameters are present.
Returns
true if OK, false on errors.

Implements te::rp::ClassifierStrategy.

std::unique_ptr< te::rst::Raster > te::rp::ClassifierStrategy::releaseOutputRaster ( )
inherited

Returns a pointer to the output raster or a void pointer if there is none.

Returns
Returns a pointer to the output raster or a void pointer if there is none.
Note
The caller of this method must take the ownership of the returned object.
void te::rp::ClassifierStrategy::setInputPolygons ( const std::vector< te::gm::Polygon * > &  polygonsPtrs)
inherited

Set the input polygons.

Parameters
polygonsPtrsInput polygons pointers.
Note
The caller of this method must keep the ownership of the objects.
void te::rp::ClassifierStrategy::setInputRaster ( const te::rst::Raster raster)
inherited

Set the input raster.

Parameters
rasterInput raster.
void te::rp::ClassifierStrategy::setInputRasterBands ( const std::vector< unsigned int > &  rasterBands)
inherited

Set the input raste bandsr.

Parameters
rasterBandsInput raster bands.
bool te::rp::ClassifierStrategy::setOutputRasterPalette ( const unsigned int  size)
protectedinherited

Create and set the output raster palette folowing the current internal settings.

Parameters
sizePalette size.
Returns
true if ok,false on errors.
void te::rp::ClassifierStrategy::setUserOutputPalette ( std::vector< te::rst::BandProperty::ColorEntry > &  userPalette)
inherited

Set the output user palette.

Parameters
userPaletteUser output raster palette (it must be large enough to accomodate all classifyier generated classes or an empty vector to automatically generate an random palette.

Member Data Documentation

std::vector< ClassIDT > te::rp::ClassifierSAMStrategy::m_classesIndex2ID
protected

An class index ordered vector of classes IDs;.

Definition at line 116 of file ClassifierSAMStrategy.h.

SamplesT te::rp::ClassifierSAMStrategy::m_classesMeans
protected

Classes means.

Definition at line 114 of file ClassifierSAMStrategy.h.

bool te::rp::ClassifierStrategy::m_createRasterPalette
protectedinherited

Enable (true) or disable (false) the creation of a paletted output raster.

Definition at line 157 of file ClassifierStrategy.h.

bool te::rp::ClassifierStrategy::m_enableMultiThread
protectedinherited

Enable or disable the use multipe threads.

Definition at line 152 of file ClassifierStrategy.h.

bool te::rp::ClassifierStrategy::m_enableRasterCache
protectedinherited

Enable or disable the use a raster data cache.

Definition at line 147 of file ClassifierStrategy.h.

ClassIDT te::rp::ClassifierSAMStrategy::m_highestTrainClassID
protected

Definition at line 110 of file ClassifierSAMStrategy.h.

ClassifierSAMStrategy::Parameters te::rp::ClassifierSAMStrategy::m_initParams
protected

Initialization parameters.

Definition at line 112 of file ClassifierSAMStrategy.h.

std::vector<te::gm::Polygon*> const* te::rp::ClassifierStrategy::m_inputPolygonsPtr
protectedinherited

Input polygons.

Definition at line 172 of file ClassifierStrategy.h.

std::vector<unsigned int> te::rp::ClassifierStrategy::m_inputRasterBands
protectedinherited

Input raster bands.

Definition at line 167 of file ClassifierStrategy.h.

te::rst::Raster const* te::rp::ClassifierStrategy::m_inputRasterPtr
protectedinherited

A pointer to the input raster.

Definition at line 137 of file ClassifierStrategy.h.

bool te::rp::ClassifierSAMStrategy::m_isInitialized
protected

Is this instance initialized?

Definition at line 108 of file ClassifierSAMStrategy.h.

std::map< std::string, std::string > te::rp::ClassifierStrategy::m_metaData
protectedinherited

Strategy-dependent metadata.

Definition at line 177 of file ClassifierStrategy.h.

std::unique_ptr< te::rst::Raster > te::rp::ClassifierStrategy::m_outputRasterPtr
protectedinherited

A pointer to the output raster.

Definition at line 162 of file ClassifierStrategy.h.

bool te::rp::ClassifierStrategy::m_progressInterfaceEnabled
protectedinherited

Progress interface status.

Definition at line 142 of file ClassifierStrategy.h.

std::vector< te::rst::BandProperty::ColorEntry > te::rp::ClassifierStrategy::m_userOutputPalette
protectedinherited

User output raster palette (it must be large enough to accomodate all classifyier generated classes or an empty vector to automatically generate an random palette.

Definition at line 182 of file ClassifierStrategy.h.


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