25 #ifndef __TERRALIB_RP_INTERNAL_FILTER_H 
   26 #define __TERRALIB_RP_INTERNAL_FILTER_H 
   29 #include "../raster/Raster.h" 
   32 #include <boost/numeric/ublas/io.hpp> 
   33 #include <boost/numeric/ublas/matrix.hpp> 
   70               UserDefinedWindowT = 8, 
 
   87             boost::numeric::ublas::matrix<double> 
m_window; 
 
   96             void reset() throw( te::rp::Exception );
 
  102             AbstractParameters* clone() const;
 
  126             void reset() throw( te::rp::Exception );
 
  132             AbstractParameters* clone() const;
 
  140         bool execute( AlgorithmOutputParameters& outputParams ) throw( te::rp::Exception );
 
  143         void reset() throw( te::rp::Exception );
 
  149         bool isInitialized() const;
 
  162         typedef 
bool (
Filter::*FilterMethodPointerT)( const te::rst::Raster& srcRaster,
 
  163           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  164           const 
unsigned int dstBandIdx, const 
bool useProgress );
 
  166         bool m_isInitialized; 
 
  178         bool RobertsFilter( const te::rst::Raster& srcRaster,
 
  179           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  180           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  190         bool SobelFilter( const te::rst::Raster& srcRaster,
 
  191           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  192           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  202         bool MeanFilter( const te::rst::Raster& srcRaster,
 
  203           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  204           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  214         bool ModeFilter( const te::rst::Raster& srcRaster,
 
  215           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  216           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  226         bool MedianFilter( const te::rst::Raster& srcRaster,
 
  227           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  228           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  238         bool DilationFilter( const te::rst::Raster& srcRaster,
 
  239           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  240           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  250         bool ErosionFilter( const te::rst::Raster& srcRaster,
 
  251           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  252           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  262         bool UserDefinedFilter( const te::rst::Raster& srcRaster,
 
  263           const 
unsigned int srcBandIdx, te::rst::Raster& dstRaster,
 
  264           const 
unsigned int dstBandIdx, const 
bool useProgress  );
 
  270         static 
bool OrderFunction(
double i, 
double j);
 
bool m_enableProgress
Enable/Disable the progress interface (default:false). 
 
std::auto_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image). 
 
Filter output parameters. 
 
unsigned int m_windowH
The height of the convolution window. (commonly 3, with W=3 to make a 3x3 window, and so on) ...
 
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory). 
 
Raster Processing algorithm base interface class. 
 
Raster Processing algorithm base interface. 
 
unsigned int m_iterationsNumber
The number of iterations to perform (default:1). 
 
std::vector< unsigned int > m_inRasterBands
Bands to be used from the input raster 1. 
 
boost::numeric::ublas::matrix< double > m_window
User defined convolution window. (The size must be equal to m_windowH x m_windowW) ...
 
unsigned int m_windowW
The width of the convolution window. 
 
A series of well-known filtering algorithms for images, linear and non-linear.. 
 
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ). 
 
Raster Processing algorithm output parameters base interface. 
 
te::rst::Raster const * m_inRasterPtr
Input raster. 
 
An abstract class for raster data strucutures. 
 
FilterType m_filterType
The edge filter type. 
 
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module. 
 
Raster Processing algorithm input parameters base interface.