13#ifndef GDALALG_RASTER_NODATA_TO_ALPHA_INCLUDED
14#define GDALALG_RASTER_NODATA_TO_ALPHA_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterNoDataToAlphaAlgorithm
25 :
public GDALRasterPipelineStepAlgorithm
28 static constexpr const char *NAME =
"nodata-to-alpha";
29 static constexpr const char *DESCRIPTION =
30 "Replace nodata value(s) with an alpha band.";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_nodata_to_alpha.html";
34 explicit GDALRasterNoDataToAlphaAlgorithm(
bool standaloneStep =
false);
37 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
39 std::vector<double> m_nodata{};
42 std::unique_ptr<GDALDataset> m_tempDS{};
49class GDALRasterNoDataToAlphaAlgorithmStandalone final
50 :
public GDALRasterNoDataToAlphaAlgorithm
53 GDALRasterNoDataToAlphaAlgorithmStandalone()
54 : GDALRasterNoDataToAlphaAlgorithm( true)
58 ~GDALRasterNoDataToAlphaAlgorithmStandalone()
override;