18#ifndef QGSNINECELLFILTER_H
19#define QGSNINECELLFILTER_H
23#include "qgis_analysis.h"
41 QgsNineCellFilter(
const QString &inputFile,
const QString &outputFile,
const QString &outputFormat );
49 int processRaster(
QgsFeedback *feedback =
nullptr );
56 double zFactor()
const {
return mZFactor; }
98 virtual float processNineCellWindow(
float *x11,
float *x21,
float *x31,
float *x12,
float *x22,
float *x32,
float *x13,
float *x23,
float *x33 ) = 0;
111 GDALDriverH openOutputDriver();
124 int processRasterCPU(
QgsFeedback *feedback =
nullptr );
134 int processRasterGPU(
const QString &source,
QgsFeedback *feedback =
nullptr );
141 virtual void addExtraRasterParams( std::vector<float> ¶ms )
146 virtual const QString openClProgramBaseName()
const
159 double mCellSizeX = -1.0;
160 double mCellSizeY = -1.0;
162 double mInputNodataValue = -1.0;
164 double mOutputNodataValue = -9999.0;
166 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...
QStringList creationOptions() const
Returns the list of data source creation options which will be used when creating the output raster f...
QStringList mCreationOptions
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 setCreationOptions(const QStringList &list)
Sets a list of data source creation options to use when creating the output raster file.
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.