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;
137 AbstractParameters* clone() const;
154 bool isInitialized() const;
167 typedef
bool (
Filter::*FilterMethodPointerT)( const
te::rst::Raster& srcRaster,
168 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
169 const
unsigned int dstBandIdx, const
bool useProgress );
171 bool m_isInitialized;
175 double** m_convBuffer;
177 unsigned int m_convBufferLines;
179 unsigned int m_convBufferColumns;
181 double** m_convMatrix;
183 unsigned int m_convMatrixLines;
185 unsigned int m_convMatrixColumns;
195 bool RobertsFilter( const
te::rst::Raster& srcRaster,
196 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
197 const
unsigned int dstBandIdx, const
bool useProgress );
207 bool SobelFilter( const
te::rst::Raster& srcRaster,
208 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
209 const
unsigned int dstBandIdx, const
bool useProgress );
219 bool MeanFilter( const
te::rst::Raster& srcRaster,
220 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
221 const
unsigned int dstBandIdx, const
bool useProgress );
231 bool ModeFilter( const
te::rst::Raster& srcRaster,
232 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
233 const
unsigned int dstBandIdx, const
bool useProgress );
243 bool MedianFilter( const
te::rst::Raster& srcRaster,
244 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
245 const
unsigned int dstBandIdx, const
bool useProgress );
255 bool DilationFilter( const
te::rst::Raster& srcRaster,
256 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
257 const
unsigned int dstBandIdx, const
bool useProgress );
267 bool ErosionFilter( const
te::rst::Raster& srcRaster,
268 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
269 const
unsigned int dstBandIdx, const
bool useProgress );
279 bool UserDefinedFilter( const
te::rst::Raster& srcRaster,
280 const
unsigned int srcBandIdx,
te::rst::Raster& dstRaster,
281 const
unsigned int dstBandIdx, const
bool useProgress );
287 static
bool OrderFunction(
double i,
double j);
294 void ResetConvBuffer(
unsigned int lines,
unsigned int columns);
302 void UpdateConvBuffer(const
te::rst::Band& inBand,
unsigned int line);
309 void ResetConvMatrix(
unsigned int lines,
unsigned int columns);
314 void setMorfConvMatrix();
Raster Processing algorithm output parameters base interface.
Raster Processing algorithm base interface.
Filter output parameters.
std::string m_rType
Output raster data source type (as described in te::raster::RasterFactory ).
std::unique_ptr< te::rst::Raster > m_outputRasterPtr
A pointer the ge generated output raster (label image).
std::map< std::string, std::string > m_rInfo
The necessary information to create the raster (as described in te::raster::RasterFactory).
OutputParameters(const OutputParameters &)
void reset() _NOEXCEPT_OP(false)
Clear all internal allocated resources and reset the parameters instance to its initial state.
A series of well-known filtering algorithms for images, linear and non-linear..
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.