13#ifndef GDALALG_RASTER_FILL_NODATA_INCLUDED
14#define GDALALG_RASTER_FILL_NODATA_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterFillNodataAlgorithm
25 :
public GDALRasterPipelineNonNativelyStreamingAlgorithm
28 static constexpr const char *NAME =
"fill-nodata";
29 static constexpr const char *DESCRIPTION =
30 "Fill nodata raster regions by interpolation from edges.";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_fill_nodata.html";
34 explicit GDALRasterFillNodataAlgorithm(
35 bool standaloneStep =
false) noexcept;
38 bool RunStep(GDALPipelineStepRunContext &ctxt) override;
41 int m_maxDistance = 100;
43 int m_smoothingIterations = 0;
47 GDALArgDatasetValue m_maskDataset{};
49 std::string m_strategy =
"invdist";
56class GDALRasterFillNodataAlgorithmStandalone final
57 :
public GDALRasterFillNodataAlgorithm
60 GDALRasterFillNodataAlgorithmStandalone()
61 : GDALRasterFillNodataAlgorithm( true)
65 ~GDALRasterFillNodataAlgorithmStandalone()
override;