18 #ifndef QGSNINECELLFILTER_H 
   19 #define QGSNINECELLFILTER_H 
   23 #include "qgis_analysis.h" 
   40     QgsNineCellFilter( 
const QString &inputFile, 
const QString &outputFile, 
const QString &outputFormat );
 
   48     int processRaster( 
QgsFeedback *feedback = 
nullptr );
 
   55     double zFactor()
 const { 
return mZFactor; }
 
   82                                          float *x12, 
float *x22, 
float *x32,
 
   83                                          float *x13, 
float *x23, 
float *x33 ) = 0;
 
   96     GDALDriverH openOutputDriver();
 
  109     int processRasterCPU( 
QgsFeedback *feedback = 
nullptr );
 
  119     int processRasterGPU( 
const QString &source, 
QgsFeedback *feedback = 
nullptr );
 
  126     virtual void addExtraRasterParams( std::vector<float> ¶ms )
 
  131     virtual const QString openClProgramBaseName()
 const 
  144     double mCellSizeX = -1.0;
 
  145     double mCellSizeY = -1.0;
 
  147     float mInputNodataValue = -1.0;
 
  149     float mOutputNodataValue = -1.0;
 
  151     double mZFactor = 1.0;
 
Base class for feedback objects to be used for cancellation of something running in a worker thread.
Base class for raster analysis methods that work with a 3x3 cell filter and calculate the value of ea...
virtual float processNineCellWindow(float *x11, float *x21, float *x31, float *x12, float *x22, float *x32, float *x13, float *x23, float *x33)=0
Calculates output value from nine input values.
virtual ~QgsNineCellFilter()=default
void setCellSizeX(double size)
void setOutputNodataValue(double value)
void setInputNodataValue(double value)
void setZFactor(double factor)
void setCellSizeY(double size)
double inputNodataValue() const
double outputNodataValue() const
std::unique_ptr< std::remove_pointer< GDALDatasetH >::type, GDALDatasetCloser > dataset_unique_ptr
Scoped GDAL dataset.