GDAL

- Main Page
- Related Pages
- Classes
- Files
- Download
- Issue Tracker

- File List
- File Members

gdalwarper.h
Go to the documentation of this file.
1 /******************************************************************************
2 * $Id: gdalwarper.h 37035 2016-12-29 16:08:53Z goatbar $
3 *
4 * Project: GDAL High Performance Warper
5 * Purpose: Prototypes, and definitions for warping related work.
6 * Author: Frank Warmerdam, warmerdam@pobox.com
7 *
8 ******************************************************************************
9 * Copyright (c) 2003, Frank Warmerdam
10 * Copyright (c) 2009-2012, Even Rouault <even dot rouault at mines-paris dot org>
11 *
12 * Permission is hereby granted, free of charge, to any person obtaining a
13 * copy of this software and associated documentation files (the "Software"),
14 * to deal in the Software without restriction, including without limitation
15 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 * and/or sell copies of the Software, and to permit persons to whom the
17 * Software is furnished to do so, subject to the following conditions:
18 *
19 * The above copyright notice and this permission notice shall be included
20 * in all copies or substantial portions of the Software.
21 *
22 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 * DEALINGS IN THE SOFTWARE.
29 ****************************************************************************/
30
31 #ifndef GDALWARPER_H_INCLUDED
32 #define GDALWARPER_H_INCLUDED
33
42 #include "gdal_alg.h"
43 #include "cpl_minixml.h"
44 #include "cpl_multiproc.h"
45
46 CPL_C_START
47
48 /* Note: values are selected to be consistent with GDALRIOResampleAlg of gcore/gdal.h */
50 typedef enum { GRA_NearestNeighbour=0, GRA_Bilinear=1, GRA_Cubic=2, GRA_CubicSpline=3, GRA_Lanczos=4, GRA_Average=5, GRA_Mode=6,
58 /* GRA_Gauss=7 reserved. */ GRA_Max=8, GRA_Min=9, GRA_Med=10, GRA_Q1=11, GRA_Q3=12
64 } GDALResampleAlg;
65
67 typedef enum { GWKAOM_Average=1, GWKAOM_Fmode=2, GWKAOM_Imode=3, GWKAOM_Max=4, GWKAOM_Min=5, GWKAOM_Quant=6
74 } GWKAverageOrModeAlg;
75
77 typedef int
78 (*GDALMaskFunc)( void *pMaskFuncArg,
79 int nBandCount, GDALDataType eType,
80 int nXOff, int nYOff,
81 int nXSize, int nYSize,
82 GByte **papabyImageData,
83 int bMaskIsFloat, void *pMask );
84
85 CPLErr CPL_DLL
86 GDALWarpNoDataMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType,
87 int nXOff, int nYOff, int nXSize, int nYSize,
88 GByte **papabyImageData, int bMaskIsFloat,
89 void *pValidityMask, int* pbOutAllValid );
90
91 CPLErr CPL_DLL
92 GDALWarpDstAlphaMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType,
93 int nXOff, int nYOff, int nXSize, int nYSize,
94 GByte ** /*ppImageData */,
95 int bMaskIsFloat, void *pValidityMask );
96 CPLErr CPL_DLL
97 GDALWarpSrcAlphaMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType,
98 int nXOff, int nYOff, int nXSize, int nYSize,
99 GByte ** /*ppImageData */,
100 int bMaskIsFloat, void *pValidityMask, int* pbOutAllOpaque );
101
102 CPLErr CPL_DLL
103 GDALWarpSrcMaskMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType,
104 int nXOff, int nYOff, int nXSize, int nYSize,
105 GByte ** /*ppImageData */,
106 int bMaskIsFloat, void *pValidityMask );
107
108 CPLErr CPL_DLL
109 GDALWarpCutlineMasker( void *pMaskFuncArg, int nBandCount, GDALDataType eType,
110 int nXOff, int nYOff, int nXSize, int nYSize,
111 GByte ** /* ppImageData */,
112 int bMaskIsFloat, void *pValidityMask );
115 /************************************************************************/
116 /* GDALWarpOptions */
117 /************************************************************************/
118
120 typedef struct {
121
122 char **papszWarpOptions;
123
125 double dfWarpMemoryLimit;
126
128 GDALResampleAlg eResampleAlg;
129
132 GDALDataType eWorkingDataType;
133
135 GDALDatasetH hSrcDS;
136
138 GDALDatasetH hDstDS;
139
141 int nBandCount;
142
144 int *panSrcBands;
145
147 int *panDstBands;
148
150 int nSrcAlphaBand;
151
153 int nDstAlphaBand;
154
156 double *padfSrcNoDataReal;
159 double *padfSrcNoDataImag;
160
162 double *padfDstNoDataReal;
165 double *padfDstNoDataImag;
166
169 GDALProgressFunc pfnProgress;
170
172 void *pProgressArg;
173
175 GDALTransformerFunc pfnTransformer;
176
178 void *pTransformerArg;
179
181 GDALMaskFunc *papfnSrcPerBandValidityMaskFunc;
183 void **papSrcPerBandValidityMaskFuncArg;
184
186 GDALMaskFunc pfnSrcValidityMaskFunc;
188 void *pSrcValidityMaskFuncArg;
189
191 GDALMaskFunc pfnSrcDensityMaskFunc;
193 void *pSrcDensityMaskFuncArg;
194
196 GDALMaskFunc pfnDstDensityMaskFunc;
198 void *pDstDensityMaskFuncArg;
199
201 GDALMaskFunc pfnDstValidityMaskFunc;
203 void *pDstValidityMaskFuncArg;
204
206 CPLErr (*pfnPreWarpChunkProcessor)( void *pKern, void *pArg );
208 void *pPreWarpProcessorArg;
209
211 CPLErr (*pfnPostWarpChunkProcessor)( void *pKern, void *pArg);
213 void *pPostWarpProcessorArg;
214
216 void *hCutline;
217
219 double dfCutlineBlendDist;
220
221 } GDALWarpOptions;
222
223 GDALWarpOptions CPL_DLL * CPL_STDCALL GDALCreateWarpOptions(void);
224 void CPL_DLL CPL_STDCALL GDALDestroyWarpOptions( GDALWarpOptions * );
225 GDALWarpOptions CPL_DLL * CPL_STDCALL
226 GDALCloneWarpOptions( const GDALWarpOptions * );
227
229 CPLXMLNode CPL_DLL * CPL_STDCALL
230 GDALSerializeWarpOptions( const GDALWarpOptions * );
231 GDALWarpOptions CPL_DLL * CPL_STDCALL
232 GDALDeserializeWarpOptions( CPLXMLNode * );
235 /************************************************************************/
236 /* GDALReprojectImage() */
237 /************************************************************************/
238
239 CPLErr CPL_DLL CPL_STDCALL
240 GDALReprojectImage( GDALDatasetH hSrcDS, const char *pszSrcWKT,
241 GDALDatasetH hDstDS, const char *pszDstWKT,
242 GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit,
243 double dfMaxError,
244 GDALProgressFunc pfnProgress, void *pProgressArg,
245 GDALWarpOptions *psOptions );
246
247 CPLErr CPL_DLL CPL_STDCALL
248 GDALCreateAndReprojectImage( GDALDatasetH hSrcDS, const char *pszSrcWKT,
249 const char *pszDstFilename, const char *pszDstWKT,
250 GDALDriverH hDstDriver, char **papszCreateOptions,
251 GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit,
252 double dfMaxError,
253 GDALProgressFunc pfnProgress, void *pProgressArg,
254 GDALWarpOptions *psOptions );
255
256 /************************************************************************/
257 /* VRTWarpedDataset */
258 /************************************************************************/
259
260 GDALDatasetH CPL_DLL CPL_STDCALL
261 GDALAutoCreateWarpedVRT( GDALDatasetH hSrcDS,
262 const char *pszSrcWKT, const char *pszDstWKT,
263 GDALResampleAlg eResampleAlg,
264 double dfMaxError, const GDALWarpOptions *psOptions );
265
266 GDALDatasetH CPL_DLL CPL_STDCALL
267 GDALCreateWarpedVRT( GDALDatasetH hSrcDS,
268 int nPixels, int nLines, double *padfGeoTransform,
269 GDALWarpOptions *psOptions );
270
271 CPLErr CPL_DLL CPL_STDCALL
272 GDALInitializeWarpedVRT( GDALDatasetH hDS,
273 GDALWarpOptions *psWO );
274
275 CPL_C_END
276
277 #ifdef __cplusplus
278
279 /************************************************************************/
280 /* GDALWarpKernel */
281 /* */
282
288 #define WARP_EXTRA_ELTS 1
289
297 class CPL_DLL GDALWarpKernel
298 {
299 public:
301 char **papszWarpOptions;
302
304 GDALResampleAlg eResample;
306 GDALDataType eWorkingDataType;
308 int nBands;
309
311 int nSrcXSize;
313 int nSrcYSize;
315 int nSrcXExtraSize;
317 int nSrcYExtraSize;
319 GByte **papabySrcImage;
320
322 GUInt32 **papanBandSrcValid;
324 GUInt32 *panUnifiedSrcValid;
326 float *pafUnifiedSrcDensity;
327
329 int nDstXSize;
331 int nDstYSize;
333 GByte **papabyDstImage;
335 GUInt32 *panDstValid;
337 float *pafDstDensity;
338
340 double dfXScale;
342 double dfYScale;
344 double dfXFilter;
346 double dfYFilter;
348 int nXRadius;
350 int nYRadius;
352 int nFiltInitX;
354 int nFiltInitY;
355
357 int nSrcXOff;
359 int nSrcYOff;
360
362 int nDstXOff;
364 int nDstYOff;
365
367 GDALTransformerFunc pfnTransformer;
369 void *pTransformerArg;
370
372 GDALProgressFunc pfnProgress;
374 void *pProgress;
375
377 double dfProgressBase;
379 double dfProgressScale;
380
382 double *padfDstNoDataReal;
383
386 void *psThreadData;
389 GDALWarpKernel();
390 virtual ~GDALWarpKernel();
391
392 CPLErr Validate();
393 CPLErr PerformWarp();
394 };
395
397 void* GWKThreadsCreate(char** papszWarpOptions,
398 GDALTransformerFunc pfnTransformer,
399 void* pTransformerArg);
400 void GWKThreadsEnd(void* psThreadDataIn);
403 /************************************************************************/
404 /* GDALWarpOperation() */
405 /* */
406 /* This object is application created, or created by a higher */
407 /* level convenience function. It is responsible for */
408 /* subdividing the operation into chunks, loading and saving */
409 /* imagery, and establishing the varios validity and density */
410 /* masks. Actual resampling is done by the GDALWarpKernel. */
411 /************************************************************************/
412
414 typedef struct _GDALWarpChunk GDALWarpChunk;
417 class CPL_DLL GDALWarpOperation {
418 private:
419 GDALWarpOptions *psOptions;
420
421 void WipeOptions();
422 int ValidateOptions();
423
424 CPLErr ComputeSourceWindow( int nDstXOff, int nDstYOff,
425 int nDstXSize, int nDstYSize,
426 int *pnSrcXOff, int *pnSrcYOff,
427 int *pnSrcXSize, int *pnSrcYSize,
428 int *pnSrcXExtraSize, int *pnSrcYExtraSize,
429 double* pdfSrcFillRatio );
430
431 static CPLErr CreateKernelMask( GDALWarpKernel *, int iBand,
432 const char *pszType );
433
434 CPLMutex *hIOMutex;
435 CPLMutex *hWarpMutex;
436
437 int nChunkListCount;
438 int nChunkListMax;
439 GDALWarpChunk *pasChunkList;
440
441 int bReportTimings;
442 unsigned long nLastTimeReported;
443
444 void *psThreadData;
445
446 void WipeChunkList();
447 CPLErr CollectChunkList( int nDstXOff, int nDstYOff,
448 int nDstXSize, int nDstYSize );
449 void ReportTiming( const char * );
450
451 public:
452 GDALWarpOperation();
453 virtual ~GDALWarpOperation();
454
455 CPLErr Initialize( const GDALWarpOptions *psNewOptions );
456
457 const GDALWarpOptions *GetOptions();
458
459 CPLErr ChunkAndWarpImage( int nDstXOff, int nDstYOff,
460 int nDstXSize, int nDstYSize );
461 CPLErr ChunkAndWarpMulti( int nDstXOff, int nDstYOff,
462 int nDstXSize, int nDstYSize );
463 CPLErr WarpRegion( int nDstXOff, int nDstYOff,
464 int nDstXSize, int nDstYSize,
465 int nSrcXOff=0, int nSrcYOff=0,
466 int nSrcXSize=0, int nSrcYSize=0,
467 double dfProgressBase=0.0, double dfProgressScale=1.0);
468 CPLErr WarpRegion( int nDstXOff, int nDstYOff,
469 int nDstXSize, int nDstYSize,
470 int nSrcXOff, int nSrcYOff,
471 int nSrcXSize, int nSrcYSize,
472 int nSrcXExtraSize, int nSrcYExtraSize,
473 double dfProgressBase, double dfProgressScale);
474 CPLErr WarpRegionToBuffer( int nDstXOff, int nDstYOff,
475 int nDstXSize, int nDstYSize,
476 void *pDataBuf,
477 GDALDataType eBufDataType,
478 int nSrcXOff=0, int nSrcYOff=0,
479 int nSrcXSize=0, int nSrcYSize=0,
480 double dfProgressBase=0.0, double dfProgressScale=1.0);
481 CPLErr WarpRegionToBuffer( int nDstXOff, int nDstYOff,
482 int nDstXSize, int nDstYSize,
483 void *pDataBuf,
484 GDALDataType eBufDataType,
485 int nSrcXOff, int nSrcYOff,
486 int nSrcXSize, int nSrcYSize,
487 int nSrcXExtraSize, int nSrcYExtraSize,
488 double dfProgressBase, double dfProgressScale);
489 };
490
491 #endif /* def __cplusplus */
492
493 CPL_C_START
494
496 typedef void * GDALWarpOperationH;
497
498 GDALWarpOperationH CPL_DLL GDALCreateWarpOperation(const GDALWarpOptions* );
499 void CPL_DLL GDALDestroyWarpOperation( GDALWarpOperationH );
500 CPLErr CPL_DLL GDALChunkAndWarpImage( GDALWarpOperationH, int, int, int, int );
501 CPLErr CPL_DLL GDALChunkAndWarpMulti( GDALWarpOperationH, int, int, int, int );
502 CPLErr CPL_DLL GDALWarpRegion( GDALWarpOperationH,
503 int, int, int, int, int, int, int, int );
504 CPLErr CPL_DLL GDALWarpRegionToBuffer( GDALWarpOperationH, int, int, int, int,
505 void *, GDALDataType,
506 int, int, int, int );
507
508 /************************************************************************/
509 /* Warping kernel functions */
510 /************************************************************************/
511
513 int GWKGetFilterRadius(GDALResampleAlg eResampleAlg);
514
515 typedef double (*FilterFuncType)(double dfX);
516 FilterFuncType GWKGetFilterFunc(GDALResampleAlg eResampleAlg);
517
518 // TODO(schwehr): Can padfVals be a const pointer?
519 typedef double (*FilterFunc4ValuesType)(double* padfVals);
520 FilterFunc4ValuesType GWKGetFilterFunc4Values(GDALResampleAlg eResampleAlg);
523 CPL_C_END
524
525 #endif /* ndef GDAL_ALG_H_INCLUDED */
GDALWarpOptions::pDstValidityMaskFuncArg
void * pDstValidityMaskFuncArg
Unused.
Definition: gdalwarper.h:203
GDALWarpKernel::nSrcXOff
int nSrcXOff
X offset of the source buffer regarding the top-left corner of the image.
Definition: gdalwarper.h:357
GRA_Q3
Definition: gdalwarper.h:63
GDALWarpKernel::nFiltInitX
int nFiltInitX
X filtering offset.
Definition: gdalwarper.h:352
GDALWarpKernel::nSrcXExtraSize
int nSrcXExtraSize
Extra pixels (included in nSrcXSize) reserved for filter window.
Definition: gdalwarper.h:315
GDALDataType
GDALDataType
Definition: gdal.h:57
GDALWarpKernel::dfYScale
double dfYScale
Y resampling scale, i.e.
Definition: gdalwarper.h:342
CPLXMLNode
Document node structure.
Definition: cpl_minixml.h:66
GDALWarpKernel
This class represents the lowest level of abstraction of warping.
Definition: gdalwarper.h:297
cpl_minixml.h
Definitions for CPL mini XML Parser/Serializer.
GRA_CubicSpline
Definition: gdalwarper.h:54
GRA_Med
Definition: gdalwarper.h:61
GDALWarpKernel::papabySrcImage
GByte ** papabySrcImage
Array of nBands source images of size nSrcXSize * nSrcYSize.
Definition: gdalwarper.h:319
CPL_C_START
#define CPL_C_START
Macro to start a block of C symbols.
Definition: cpl_port.h:352
GDALWarpKernel::dfXScale
double dfXScale
X resampling scale, i.e.
Definition: gdalwarper.h:340
GWKAOM_Min
Definition: gdalwarper.h:72
GDALInitializeWarpedVRT
CPLErr GDALInitializeWarpedVRT(GDALDatasetH hDS, GDALWarpOptions *psWO)
Set warp info on virtual warped dataset.
Definition: vrtwarped.cpp:1049
GDALWarpKernel::panUnifiedSrcValid
GUInt32 * panUnifiedSrcValid
Unified validity mask of size (nSrcXSize * nSrcYSize + WARP_EXTRA_ELTS) / 8.
Definition: gdalwarper.h:324
GDALWarpKernel::nDstXSize
int nDstXSize
Width of the destination image.
Definition: gdalwarper.h:329
GDALWarpOptions::panDstBands
int * panDstBands
Definition: gdalwarper.h:147
GDALWarpOptions::pProgressArg
void * pProgressArg
Definition: gdalwarper.h:172
GDALWarpKernel::nDstXOff
int nDstXOff
X offset of the destination buffer regarding the top-left corner of the image.
Definition: gdalwarper.h:362
GUInt32
unsigned int GUInt32
Unsigned int32 type.
Definition: cpl_port.h:199
GDALWarpOptions::dfWarpMemoryLimit
double dfWarpMemoryLimit
Definition: gdalwarper.h:125
GDALWarpOptions::nSrcAlphaBand
int nSrcAlphaBand
Definition: gdalwarper.h:150
GRA_Q1
Definition: gdalwarper.h:62
GDALDatasetH
void * GDALDatasetH
Opaque type used for the C bindings of the C++ GDALDataset class.
Definition: gdal.h:241
GByte
unsigned char GByte
Unsigned byte type.
Definition: cpl_port.h:207
GDALWarpOptions::pfnSrcDensityMaskFunc
GDALMaskFunc pfnSrcDensityMaskFunc
Unused.
Definition: gdalwarper.h:191
GDALWarpRegionToBuffer
CPLErr GDALWarpRegionToBuffer(GDALWarpOperationH, int, int, int, int, void *, GDALDataType, int, int, int, int)
Definition: gdalwarpoperation.cpp:2188
GDALWarpKernel::papszWarpOptions
char ** papszWarpOptions
Warp options.
Definition: gdalwarper.h:301
GDALWarpOptions::papSrcPerBandValidityMaskFuncArg
void ** papSrcPerBandValidityMaskFuncArg
Unused.
Definition: gdalwarper.h:183
GRA_Lanczos
Definition: gdalwarper.h:55
GDALWarpOptions::pSrcDensityMaskFuncArg
void * pSrcDensityMaskFuncArg
Unused.
Definition: gdalwarper.h:193
GRA_Average
Definition: gdalwarper.h:56
GDALWarpOptions::pPostWarpProcessorArg
void * pPostWarpProcessorArg
Unused.
Definition: gdalwarper.h:213
GDALWarpKernel::panDstValid
GUInt32 * panDstValid
Validify mask of size (nDstXSize * nDstYSize) / 8.
Definition: gdalwarper.h:335
GDALWarpOptions::padfDstNoDataReal
double * padfDstNoDataReal
Definition: gdalwarper.h:162
GWKAverageOrModeAlg
GWKAverageOrModeAlg
Definition: gdalwarper.h:67
GDALWarpKernel::eWorkingDataType
GDALDataType eWorkingDataType
Working data type.
Definition: gdalwarper.h:306
GDALWarpKernel::pafUnifiedSrcDensity
float * pafUnifiedSrcDensity
Unified source density of size nSrcXSize * nSrcYSize + WARP_EXTRA_ELTS.
Definition: gdalwarper.h:326
GDALWarpOptions::padfSrcNoDataImag
double * padfSrcNoDataImag
Definition: gdalwarper.h:159
GDALWarpKernel::nFiltInitY
int nFiltInitY
Y filtering offset.
Definition: gdalwarper.h:354
GDALWarpOptions::eResampleAlg
GDALResampleAlg eResampleAlg
Definition: gdalwarper.h:128
GDALChunkAndWarpMulti
CPLErr GDALChunkAndWarpMulti(GDALWarpOperationH, int, int, int, int)
Definition: gdalwarpoperation.cpp:1057
GDALWarpOptions::pfnDstValidityMaskFunc
GDALMaskFunc pfnDstValidityMaskFunc
Unused.
Definition: gdalwarper.h:201
GDALWarpRegion
CPLErr GDALWarpRegion(GDALWarpOperationH, int, int, int, int, int, int, int, int)
Definition: gdalwarpoperation.cpp:1584
GDALCreateWarpedVRT
GDALDatasetH GDALCreateWarpedVRT(GDALDatasetH hSrcDS, int nPixels, int nLines, double *padfGeoTransform, GDALWarpOptions *psOptions)
Create virtual warped dataset.
Definition: vrtwarped.cpp:242
GWKAOM_Average
Definition: gdalwarper.h:68
GDALWarpOptions::pfnTransformer
GDALTransformerFunc pfnTransformer
Definition: gdalwarper.h:175
GDALWarpKernel::dfProgressScale
double dfProgressScale
Scale value for progress computation.
Definition: gdalwarper.h:379
GDALDestroyWarpOperation
void GDALDestroyWarpOperation(GDALWarpOperationH)
Definition: gdalwarpoperation.cpp:690
GDALDestroyWarpOptions
void GDALDestroyWarpOptions(GDALWarpOptions *)
Destroy a warp options structure.
Definition: gdalwarper.cpp:1274
GDALWarpOptions::pSrcValidityMaskFuncArg
void * pSrcValidityMaskFuncArg
Unused.
Definition: gdalwarper.h:188
GDALReprojectImage
CPLErr GDALReprojectImage(GDALDatasetH hSrcDS, const char *pszSrcWKT, GDALDatasetH hDstDS, const char *pszDstWKT, GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit, double dfMaxError, GDALProgressFunc pfnProgress, void *pProgressArg, GDALWarpOptions *psOptions)
Reproject image.
Definition: gdalwarper.cpp:97
GDALWarpOptions::padfDstNoDataImag
double * padfDstNoDataImag
Definition: gdalwarper.h:165
GDALWarpOptions::pfnSrcValidityMaskFunc
GDALMaskFunc pfnSrcValidityMaskFunc
Unused.
Definition: gdalwarper.h:186
GWKAOM_Fmode
Definition: gdalwarper.h:69
GRA_Min
Definition: gdalwarper.h:60
GWKAOM_Max
Definition: gdalwarper.h:71
GDALWarpOptions::pfnDstDensityMaskFunc
GDALMaskFunc pfnDstDensityMaskFunc
Unused.
Definition: gdalwarper.h:196
GDALWarpKernel::nDstYOff
int nDstYOff
Y offset of the destination buffer regarding the top-left corner of the image.
Definition: gdalwarper.h:364
GDALWarpKernel::eResample
GDALResampleAlg eResample
Resample algorithm.
Definition: gdalwarper.h:304
GDALWarpOptions::pPreWarpProcessorArg
void * pPreWarpProcessorArg
Unused.
Definition: gdalwarper.h:208
GDALResampleAlg
GDALResampleAlg
Definition: gdalwarper.h:50
GDALWarpKernel::dfProgressBase
double dfProgressBase
Base/offset value for progress computation.
Definition: gdalwarper.h:377
GDALWarpOptions
Warp control options for use with GDALWarpOperation::Initialize()
Definition: gdalwarper.h:120
GDALWarpOptions::pfnProgress
GDALProgressFunc pfnProgress
Definition: gdalwarper.h:169
GDALWarpOptions::pDstDensityMaskFuncArg
void * pDstDensityMaskFuncArg
Unused.
Definition: gdalwarper.h:198
GRA_Cubic
Definition: gdalwarper.h:53
GDALWarpKernel::nSrcYExtraSize
int nSrcYExtraSize
Extra pixels (included in nSrcYSize) reserved for filter window.
Definition: gdalwarper.h:317
GDALWarpOperation
High level image warping class.
Definition: gdalwarper.h:417
GDALWarpKernel::nXRadius
int nXRadius
X size of window to filter.
Definition: gdalwarper.h:348
GDALCloneWarpOptions
GDALWarpOptions * GDALCloneWarpOptions(const GDALWarpOptions *)
Clone a warp options structure.
Definition: gdalwarper.cpp:1315
GDALWarpOptions::pTransformerArg
void * pTransformerArg
Definition: gdalwarper.h:178
GDALWarpKernel::nSrcYSize
int nSrcYSize
Height of the source image.
Definition: gdalwarper.h:313
GDALWarpKernel::pfnProgress
GDALProgressFunc pfnProgress
Progress function.
Definition: gdalwarper.h:372
GRA_Max
Definition: gdalwarper.h:59
GRA_Bilinear
Definition: gdalwarper.h:52
GDALWarpOptions::panSrcBands
int * panSrcBands
Definition: gdalwarper.h:144
GDALWarpKernel::padfDstNoDataReal
double * padfDstNoDataReal
Array of nBands value for destination nodata.
Definition: gdalwarper.h:382
GDALTransformerFunc
int(* GDALTransformerFunc)(void *pTransformerArg, int bDstToSrc, int nPointCount, double *x, double *y, double *z, int *panSuccess)
Definition: gdal_alg.h:114
GDALDriverH
void * GDALDriverH
Opaque type used for the C bindings of the C++ GDALDriver class.
Definition: gdal.h:247
GDALWarpOptions::papszWarpOptions
char ** papszWarpOptions
A string list of additional options controlling the warp operation in name=value format.
Definition: gdalwarper.h:122
GDALWarpKernel::nDstYSize
int nDstYSize
Height of the destination image.
Definition: gdalwarper.h:331
GDALCreateWarpOptions
GDALWarpOptions * GDALCreateWarpOptions(void)
Create a warp options structure.
Definition: gdalwarper.cpp:1255
GWKAOM_Quant
Definition: gdalwarper.h:73
GDALWarpKernel::dfXFilter
double dfXFilter
X size of filter kernel.
Definition: gdalwarper.h:344
GDALWarpKernel::nBands
int nBands
Number of input and output bands (excluding alpha bands)
Definition: gdalwarper.h:308
GDALChunkAndWarpImage
CPLErr GDALChunkAndWarpImage(GDALWarpOperationH, int, int, int, int)
Definition: gdalwarpoperation.cpp:817
GRA_NearestNeighbour
Definition: gdalwarper.h:51
gdal_alg.h
Public (C callable) GDAL algorithm entry points, and definitions.
GDALWarpKernel::pTransformerArg
void * pTransformerArg
User data provided to pfnTransformer.
Definition: gdalwarper.h:369
GDALWarpOptions::papfnSrcPerBandValidityMaskFunc
GDALMaskFunc * papfnSrcPerBandValidityMaskFunc
Unused.
Definition: gdalwarper.h:181
GDALWarpKernel::nSrcXSize
int nSrcXSize
Width of the source image.
Definition: gdalwarper.h:311
GDALWarpOptions::hSrcDS
GDALDatasetH hSrcDS
Definition: gdalwarper.h:135
GDALWarpOptions::nBandCount
int nBandCount
Definition: gdalwarper.h:141
GDALWarpKernel::pafDstDensity
float * pafDstDensity
Destination density of size nDstXSize * nDstYSize.
Definition: gdalwarper.h:337
GDALWarpOptions::eWorkingDataType
GDALDataType eWorkingDataType
Definition: gdalwarper.h:132
GDALCreateAndReprojectImage
CPLErr GDALCreateAndReprojectImage(GDALDatasetH hSrcDS, const char *pszSrcWKT, const char *pszDstFilename, const char *pszDstWKT, GDALDriverH hDstDriver, char **papszCreateOptions, GDALResampleAlg eResampleAlg, double dfWarpMemoryLimit, double dfMaxError, GDALProgressFunc pfnProgress, void *pProgressArg, GDALWarpOptions *psOptions)
Reproject an image and create the target reprojected image.
Definition: gdalwarper.cpp:269
CPL_C_END
#define CPL_C_END
Macro to end a block of C symbols.
Definition: cpl_port.h:354
GDALWarpKernel::pfnTransformer
GDALTransformerFunc pfnTransformer
Pixel transformation function.
Definition: gdalwarper.h:367
GDALWarpKernel::nYRadius
int nYRadius
Y size of window to filter.
Definition: gdalwarper.h:350
GDALWarpOptions::hDstDS
GDALDatasetH hDstDS
Definition: gdalwarper.h:138
GRA_Mode
Definition: gdalwarper.h:57
GDALWarpOptions::hCutline
void * hCutline
Definition: gdalwarper.h:216
GDALWarpKernel::dfYFilter
double dfYFilter
Y size of filter kernel.
Definition: gdalwarper.h:346
GDALWarpOptions::dfCutlineBlendDist
double dfCutlineBlendDist
Definition: gdalwarper.h:219
GDALAutoCreateWarpedVRT
GDALDatasetH GDALAutoCreateWarpedVRT(GDALDatasetH hSrcDS, const char *pszSrcWKT, const char *pszDstWKT, GDALResampleAlg eResampleAlg, double dfMaxError, const GDALWarpOptions *psOptions)
Create virtual warped dataset automatically.
Definition: vrtwarped.cpp:100
GDALWarpOptions::padfSrcNoDataReal
double * padfSrcNoDataReal
Definition: gdalwarper.h:156
GDALWarpOperationH
void * GDALWarpOperationH
Opaque type representing a GDALWarpOperation object.
Definition: gdalwarper.h:496
GDALWarpKernel::pProgress
void * pProgress
User data provided to pfnProgress.
Definition: gdalwarper.h:374
GDALWarpKernel::nSrcYOff
int nSrcYOff
Y offset of the source buffer regarding the top-left corner of the image.
Definition: gdalwarper.h:359
GWKAOM_Imode
Definition: gdalwarper.h:70
CPLErr
CPLErr
Error category.
Definition: cpl_error.h:52
GDALCreateWarpOperation
GDALWarpOperationH GDALCreateWarpOperation(const GDALWarpOptions *)
Definition: gdalwarpoperation.cpp:669
GDALWarpKernel::papabyDstImage
GByte ** papabyDstImage
Array of nBands destination images of size nDstXSize * nDstYSize.
Definition: gdalwarper.h:333
GDALWarpOptions::nDstAlphaBand
int nDstAlphaBand
Definition: gdalwarper.h:153
GDALWarpKernel::papanBandSrcValid
GUInt32 ** papanBandSrcValid
Array of nBands validity mask of size (nSrcXSize * nSrcYSize + WARP_EXTRA_ELTS) / 8...
Definition: gdalwarper.h:322

Generated for GDAL by 1.8.9.1.