isce3 0.25.0
Loading...
Searching...
No Matches
GDALImage.h
Go to the documentation of this file.
1
9
10// code guard
11#ifndef __GDALIMAGE_H
12#define __GDALIMAGE_H
13
14// dependencies
15#include <string>
16#include <gdal_priv.h>
17#include <cpl_conv.h>
18
19namespace isce3::matchtemplate::pycuampcor {
20
21class GDALImage{
22public:
23 // specify the types
24 using size_t = std::size_t;
25
26private:
27 int _height;
28 int _width;
29
30 void * _memPtr = NULL;
31
32 int _pixelSize;
33
34 int _isComplex;
35
36 size_t _bufferSize;
37 int _useMmap;
38
39 // GDAL temporary objects
40 GDALDataType _dataType;
41 CPLVirtualMem * _poBandVirtualMem = NULL;
42 GDALDataset * _poDataset = NULL;
43 GDALRasterBand * _poBand = NULL;
44
45public:
46 //disable default constructor
47 GDALImage() = delete;
48 // constructor
49 GDALImage(std::string fn, int band=1, int cacheSizeInGB=0, int useMmap=1);
50 // destructor
51 ~GDALImage();
52
53 // get class properties
54 void * getmemPtr()
55 {
56 return(_memPtr);
57 }
58
59 int getHeight() {
60 return (_height);
61 }
62
63 int getWidth()
64 {
65 return (_width);
66 }
67
68 int getPixelSize()
69 {
70 return _pixelSize;
71 }
72
73 bool isComplex()
74 {
75 return _isComplex;
76 }
77
78 // load data from cpu buffer to gpu
79 void loadToDevice(void *dArray, size_t h_offset, size_t w_offset, size_t h_tile, size_t w_tile);
80
81};
82
83} // namespace
84
85#endif //__GDALIMAGE_H
86// end of file
void loadToDevice(void *dArray, size_t h_offset, size_t w_offset, size_t h_tile, size_t w_tile)
Load a tile of data h_tile x w_tile from CPU to GPU.
Definition GDALImage.cpp:117
~GDALImage()
destructor
Definition GDALImage.cpp:165

Generated for ISCE3.0 by doxygen 1.13.2.