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;
104 AbstractParameters* clone() const;
134 AbstractParameters* clone() const;
151 bool isInitialized() const;
164 typedef
bool (
Filter::*FilterMethodPointerT)( const
te::rst::Raster& srcRaster,
165 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
166 const
unsigned int dstBandIdx, const
bool useProgress );
168 bool m_isInitialized;
172 double** m_convBuffer;
174 unsigned int m_convBufferLines;
176 unsigned int m_convBufferColumns;
178 double** m_convMatrix;
180 unsigned int m_convMatrixLines;
182 unsigned int m_convMatrixColumns;
192 bool RobertsFilter( const
te::rst::Raster& srcRaster,
193 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
194 const
unsigned int dstBandIdx, const
bool useProgress );
204 bool SobelFilter( const
te::rst::Raster& srcRaster,
205 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
206 const
unsigned int dstBandIdx, const
bool useProgress );
216 bool MeanFilter( const
te::rst::Raster& srcRaster,
217 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
218 const
unsigned int dstBandIdx, const
bool useProgress );
228 bool ModeFilter( const
te::rst::Raster& srcRaster,
229 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
230 const
unsigned int dstBandIdx, const
bool useProgress );
240 bool MedianFilter( const
te::rst::Raster& srcRaster,
241 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
242 const
unsigned int dstBandIdx, const
bool useProgress );
252 bool DilationFilter( const
te::rst::Raster& srcRaster,
253 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
254 const
unsigned int dstBandIdx, const
bool useProgress );
264 bool ErosionFilter( const
te::rst::Raster& srcRaster,
265 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
266 const
unsigned int dstBandIdx, const
bool useProgress );
276 bool UserDefinedFilter( const
te::rst::Raster& srcRaster,
277 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
278 const
unsigned int dstBandIdx, const
bool useProgress );
284 static
bool OrderFunction(
double i,
double j);
291 void ResetConvBuffer(
unsigned int lines,
unsigned int columns);
299 void UpdateConvBuffer(const
te::rst::Band& inBand,
unsigned int line);
306 void ResetConvMatrix(
unsigned int lines,
unsigned int columns);
311 void setMorfConvMatrix();
Raster Processing algorithm output parameters base interface.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
Raster Processing algorithm base interface class.
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.
An abstract class for raster data strucutures.
#define TERPEXPORT
You can use this macro in order to export/import classes and functions from this module.
A series of well-known filtering algorithms for images, linear and non-linear..
Filter output parameters.
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).