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.