Go to the documentation of this file.
30 #ifndef GDALPANSHARPEN_H_INCLUDED
31 #define GDALPANSHARPEN_H_INCLUDED
76 int nInputSpectralBands;
87 int nOutPansharpenedBands;
90 int *panOutPansharpenedBands;
122 int nXOff,
int nYOff,
123 int nXSize,
int nYSize,
136 #include <sys/time.h>
147 const void* pPanBuffer;
148 const void* pUpsampledSpectralBuffer;
183 } GDALPansharpenResampleJob;
193 std::vector<int> anInputBands{};
194 std::vector<GDALDataset*> aVDS{};
195 std::vector<GDALRasterBand*> aMSBands{};
196 int bPositiveWeights = TRUE;
198 int nKernelRadius = 0;
200 static void PansharpenJobThreadFunc(
void* pUserData);
201 static void PansharpenResampleJobThreadFunc(
void* pUserData);
203 template<
class WorkDataType,
class OutDataType>
void WeightedBroveyWithNoData(
204 const WorkDataType* pPanBuffer,
205 const WorkDataType* pUpsampledSpectralBuffer,
206 OutDataType* pDataBuf,
209 WorkDataType nMaxValue)
const;
210 template<
class WorkDataType,
class OutDataType,
int bHasBitDepth>
void WeightedBrovey3(
211 const WorkDataType* pPanBuffer,
212 const WorkDataType* pUpsampledSpectralBuffer,
213 OutDataType* pDataBuf,
216 WorkDataType nMaxValue)
const;
219 template<
class WorkDataType,
class OutDataType>
void WeightedBrovey(
220 const WorkDataType* pPanBuffer,
221 const WorkDataType* pUpsampledSpectralBuffer,
222 OutDataType* pDataBuf,
225 WorkDataType nMaxValue)
const;
226 template<
class WorkDataType>
CPLErr WeightedBrovey(
227 const WorkDataType* pPanBuffer,
228 const WorkDataType* pUpsampledSpectralBuffer,
233 WorkDataType nMaxValue)
const;
236 template<
class WorkDataType>
CPLErr WeightedBrovey(
237 const WorkDataType* pPanBuffer,
238 const WorkDataType* pUpsampledSpectralBuffer,
242 size_t nBandValues)
const;
243 template<
class T>
void WeightedBroveyPositiveWeights(
245 const T* pUpsampledSpectralBuffer,
251 template<
class T,
int NINPUT,
int NOUTPUT>
size_t WeightedBroveyPositiveWeightsInternal(
253 const T* pUpsampledSpectralBuffer,
260 template<
class T>
void WeightedBroveyGByteOrUInt16(
262 const T* pUpsampledSpectralBuffer,
269 const void* pPanBuffer,
270 const void* pUpsampledSpectralBuffer,
281 int nXSize,
int nYSize,
GDALPansharpenAlg
Pansharpening algorithms.
Definition: gdalpansharpen.h:46
GDALPansharpenOperationH GDALCreatePansharpenOperation(const GDALPansharpenOptions *)
Instantiate a pansharpening operation.
Definition: gdalpansharpen.cpp:1748
GDALPansharpenOptions * GDALCreatePansharpenOptions(void)
Create pansharpening options.
Definition: gdalpansharpen.cpp:68
GDALDataType
Definition: gdal.h:59
Pansharpening options.
Definition: gdalpansharpen.h:54
CPLErr Initialize(const GDALPansharpenOptions *psOptions)
Initialize the pansharpening operation.
Definition: gdalpansharpen.cpp:193
A set of associated raster bands, usually from one file.
Definition: gdal_priv.h:334
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:336
void GDALDestroyPansharpenOptions(GDALPansharpenOptions *)
Destroy pansharpening options.
Definition: gdalpansharpen.cpp:89
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:338
GDALPansharpenOptions * GDALClonePansharpenOptions(const GDALPansharpenOptions *psOptions)
Clone pansharpening options.
Definition: gdalpansharpen.cpp:113
Definition: gdalpansharpen.h:49
GIntBig GSpacing
Type to express pixel, line or band spacing.
Definition: gdal.h:272
~GDALPansharpenOperation()
Pansharpening operation destructor.
Definition: gdalpansharpen.cpp:174
Pool of worker threads.
Definition: cpl_worker_thread_pool.h:74
GDALPansharpenOperation()
Pansharpening operation constructor.
void GDALDestroyPansharpenOperation(GDALPansharpenOperationH)
Destroy a pansharpening operation.
Definition: gdalpansharpen.cpp:1769
CPLErr ProcessRegion(int nXOff, int nYOff, int nXSize, int nYSize, void *pDataBuf, GDALDataType eBufDataType)
Executes a pansharpening operation on a rectangular region of the resulting dataset.
Definition: gdalpansharpen.cpp:1045
Pansharpening operation class.
Definition: gdalpansharpen.h:187
CPLErr
Error category.
Definition: cpl_error.h:51
CPLErr GDALPansharpenProcessRegion(GDALPansharpenOperationH hOperation, int nXOff, int nYOff, int nXSize, int nYSize, void *pDataBuf, GDALDataType eBufDataType)
Executes a pansharpening operation on a rectangular region of the resulting dataset.
Definition: gdalpansharpen.cpp:1803
GDALRIOResampleAlg
RasterIO() resampling method.
Definition: gdal.h:127
void * GDALPansharpenOperationH
Definition: gdalpansharpen.h:116
GDALPansharpenOptions * GetOptions()
Return options.
Definition: gdalpansharpen.cpp:1728
void * GDALRasterBandH
Opaque type used for the C bindings of the C++ GDALRasterBand class.
Definition: gdal.h:257
#define CPL_DISALLOW_COPY_ASSIGN(ClassName)
Helper to remove the copy and assignment constructors so that the compiler will not generate the defa...
Definition: cpl_port.h:995
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:206
Generated for GDAL by
1.8.16.