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;
102 AbstractParameters* clone() const;
132 AbstractParameters* clone() const;
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;
170 double** m_convBuffer;
172 unsigned int m_convBufferLines;
174 unsigned int m_convBufferColumns;
184 bool RobertsFilter( const
te::rst::Raster& srcRaster,
185 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
186 const
unsigned int dstBandIdx, const
bool useProgress );
196 bool SobelFilter( const
te::rst::Raster& srcRaster,
197 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
198 const
unsigned int dstBandIdx, const
bool useProgress );
208 bool MeanFilter( const
te::rst::Raster& srcRaster,
209 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
210 const
unsigned int dstBandIdx, const
bool useProgress );
220 bool ModeFilter( const
te::rst::Raster& srcRaster,
221 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
222 const
unsigned int dstBandIdx, const
bool useProgress );
232 bool MedianFilter( const
te::rst::Raster& srcRaster,
233 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
234 const
unsigned int dstBandIdx, const
bool useProgress );
244 bool DilationFilter( const
te::rst::Raster& srcRaster,
245 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
246 const
unsigned int dstBandIdx, const
bool useProgress );
256 bool ErosionFilter( const
te::rst::Raster& srcRaster,
257 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
258 const
unsigned int dstBandIdx, const
bool useProgress );
268 bool UserDefinedFilter( const
te::rst::Raster& srcRaster,
269 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
270 const
unsigned int dstBandIdx, const
bool useProgress );
276 static
bool OrderFunction(
double i,
double j);
283 void ResetConvBuffer(
unsigned int lines,
unsigned int columns);
291 void UpdateConvBuffer(const
te::rst::Band& inBand,
unsigned int line);
297 void ConvBufferRoolup(
unsigned int count);
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).