13#ifndef GDALALG_RASTER_PANSHARPEN_INCLUDED
14#define GDALALG_RASTER_PANSHARPEN_INCLUDED
16#include "gdalalg_raster_pipeline.h"
24class GDALRasterPansharpenAlgorithm
25 :
public GDALRasterPipelineStepAlgorithm
28 static constexpr const char *NAME =
"pansharpen";
29 static constexpr const char *DESCRIPTION =
30 "Perform a pansharpen operation.";
31 static constexpr const char *HELP_URL =
32 "/programs/gdal_raster_pansharpen.html";
34 explicit GDALRasterPansharpenAlgorithm(
bool standaloneStep =
false);
37 static ConstructorOptions GetConstructorOptions(
bool standaloneStep);
38 bool RunStep(GDALPipelineStepRunContext &ctxt)
override;
40 std::vector<GDALArgDatasetValue> m_spectralDatasets{};
41 std::string m_resampling =
"cubic";
42 std::vector<double> m_weights{};
44 std::string m_spatialExtentAdjustment =
"union";
49 std::string m_numThreadsStr{
"ALL_CPUS"};
56class GDALRasterPansharpenAlgorithmStandalone final
57 :
public GDALRasterPansharpenAlgorithm
60 GDALRasterPansharpenAlgorithmStandalone()
61 : GDALRasterPansharpenAlgorithm( true)
65 ~GDALRasterPansharpenAlgorithmStandalone()
override;