18 #ifndef QGSNINECELLFILTER_H
19 #define QGSNINECELLFILTER_H
23 #include "qgis_analysis.h"
39 QgsNineCellFilter(
const QString &inputFile,
const QString &outputFile,
const QString &outputFormat );
47 int processRaster(
QgsFeedback *feedback =
nullptr );
54 double zFactor()
const {
return mZFactor; }
81 float *x12,
float *x22,
float *x32,
82 float *x13,
float *x23,
float *x33 ) = 0;
95 GDALDriverH openOutputDriver();
108 int processRasterCPU(
QgsFeedback *feedback =
nullptr );
118 int processRasterGPU(
const QString &source,
QgsFeedback *feedback =
nullptr );
125 virtual void addExtraRasterParams( std::vector<float> ¶ms )
130 virtual const QString openClProgramBaseName()
const
143 double mCellSizeX = -1.0;
144 double mCellSizeY = -1.0;
146 float mInputNodataValue = -1.0;
148 float mOutputNodataValue = -1.0;
150 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.