isce3 0.25.0
Loading...
Searching...
No Matches
cuAmpcorParameter.h
Go to the documentation of this file.
1
8
9#ifndef __CUAMPCORPARAMETER_H
10#define __CUAMPCORPARAMETER_H
11
12#include <string>
13#include <vector>
14
15namespace isce3::matchtemplate::pycuampcor {
16
25
34
35class cuAmpcorParameter{
36public:
37
38 // TODO this is to avoid memory issues due to copying the non-owning pointers
39 // we should use RAII ownership so these can be trivially defaulted
40 cuAmpcorParameter(const cuAmpcorParameter&) = delete;
41 cuAmpcorParameter& operator=(const cuAmpcorParameter&) = delete;
42 cuAmpcorParameter(cuAmpcorParameter&&) = delete;
43 cuAmpcorParameter& operator=(cuAmpcorParameter&&) = delete;
44
49
50 // chip or window size for raw data
55
58 // search range is (-halfSearchRangeRaw, halfSearchRangeRaw)
59
62
66
67 // chip or window size after oversampling
73
74 // strides between chips/windows
77
78 // Zoom in region near location of max correlation
81
84
85
87
88 //reference image
89 std::string referenceImageName;
93
94 //secondary image
95 std::string secondaryImageName;
99
100 // total number of chips/windows
104
105 // number of chips/windows in a batch/chunk
112
115
118 std::vector<int> referenceStartPixelDown;
119 std::vector<int> referenceStartPixelAcross;
120 std::vector<int> secondaryStartPixelDown;
121 std::vector<int> secondaryStartPixelAcross;
124 std::vector<int> grossOffsetDown;
125 std::vector<int> grossOffsetAcross;
127
132 std::vector<int> referenceChunkHeight;
133 std::vector<int> referenceChunkWidth;
134 std::vector<int> secondaryChunkHeight;
135 std::vector<int> secondaryChunkWidth;
136 int maxReferenceChunkHeight, maxReferenceChunkWidth;
137 int maxSecondaryChunkHeight, maxSecondaryChunkWidth;
138
140 std::string offsetImageName;
141 std::string snrImageName;
142 std::string covImageName;
143 std::string corrImageName;
144
145 // Class constructor and default parameters setter
147 // Class descontructor
148 ~cuAmpcorParameter();
149
150 // Allocate various arrays after the number of Windows is given
151 void allocateArrays();
152
153 // Three methods to set reference/secondary starting pixels and gross offsets from input reference start pixel(s) and gross offset(s)
154 // 1 (int *, int *, int *, int *): varying reference start pixels and gross offsets
155 // 2 (int, int, int *, int *): fixed reference start pixel (first window) and varying gross offsets
156 // 3 (int, int, int, int): fixed reference start pixel(first window) and fixed gross offsets
157 void setStartPixels(int*, int*, int*, int*);
158 void setStartPixels(int, int, int*, int*);
159 void setStartPixels(int, int, int, int);
160 // set starting pixels for each chunk
161 void setChunkStartPixels();
162 // check whether all chunks/windows are within the image range
164 // Process other parameters after Python Input
165 void setupParameters();
166
167};
168
169} // namespace
170
171#endif //__CUAMPCORPARAMETER_H
void checkPixelInImageRange()
check whether reference and secondary windows are within the image range
Definition cuAmpcorParameter.cpp:258
int searchWindowSizeWidthRawZoomIn
search window width used for zoom in
Definition cuAmpcorParameter.h:61
void setChunkStartPixels()
set starting pixels for each chunk
Definition cuAmpcorParameter.cpp:191
int corrStatWindowSize
correlation surface size used to estimate snr
Definition cuAmpcorParameter.h:63
std::vector< int > referenceChunkStartPixelAcross
reference starting pixels for each chunk (across)
Definition cuAmpcorParameter.h:129
int windowSizeHeightRaw
Template window height (original size)
Definition cuAmpcorParameter.h:51
int corrRawZoomInWidth
correlation surface width used for oversampling
Definition cuAmpcorParameter.h:65
int maxSecondaryChunkWidth
max secondary chunk size
Definition cuAmpcorParameter.h:137
int numberWindowDown
number of total windows (down)
Definition cuAmpcorParameter.h:101
std::string referenceImageName
reference SLC image name
Definition cuAmpcorParameter.h:89
int numberWindowAcross
number of total windows (across)
Definition cuAmpcorParameter.h:102
float thresholdSNR
Threshold of Signal noise ratio to remove noisy data.
Definition cuAmpcorParameter.h:86
int mmapSizeInGB
size for mmap buffer(useMmap=1) or a cpu memory buffer (useMmap=0)
Definition cuAmpcorParameter.h:114
std::string grossOffsetImageName
gross offset output filename
Definition cuAmpcorParameter.h:139
int nStreams
Number of streams to asynchonize data transfers and compute kernels.
Definition cuAmpcorParameter.h:47
int numberChunkAcross
number of chunks (across)
Definition cuAmpcorParameter.h:110
std::vector< int > referenceStartPixelAcross
reference starting pixels for each window (across)
Definition cuAmpcorParameter.h:119
int secondaryImageHeight
secondary image height
Definition cuAmpcorParameter.h:97
std::vector< int > secondaryStartPixelDown
secondary starting pixels for each window (down)
Definition cuAmpcorParameter.h:120
int referenceStartPixelAcross0
first starting pixel in reference image (across)
Definition cuAmpcorParameter.h:117
void setStartPixels(int *, int *, int *, int *)
Set starting pixels for reference and secondary windows from arrays set also gross offsets between re...
Definition cuAmpcorParameter.cpp:138
std::string covImageName
Output variance filename.
Definition cuAmpcorParameter.h:142
std::vector< int > referenceChunkStartPixelDown
reference starting pixels for each chunk (down)
Definition cuAmpcorParameter.h:128
std::vector< int > referenceChunkHeight
reference chunk height
Definition cuAmpcorParameter.h:132
int zoomWindowSize
Zoom-in window size in correlation surface (same for down and across directions)
Definition cuAmpcorParameter.h:79
int deviceID
Targeted GPU device ID: use -1 to auto select.
Definition cuAmpcorParameter.h:46
int corrRawZoomInHeight
correlation surface height used for oversampling
Definition cuAmpcorParameter.h:64
int oversamplingMethod
correlation surface oversampling method 0 = fft (default) 1 = sinc
Definition cuAmpcorParameter.h:83
int grossOffsetAcross0
gross offset static component (across)
Definition cuAmpcorParameter.h:123
int windowSizeWidthRaw
Template window width (original size)
Definition cuAmpcorParameter.h:52
int numberWindowDownInChunk
number of windows processed in a chunk (down)
Definition cuAmpcorParameter.h:106
std::string corrImageName
Output cross-correlation peak filename.
Definition cuAmpcorParameter.h:143
std::vector< int > secondaryChunkStartPixelDown
secondary starting pixels for each chunk (down)
Definition cuAmpcorParameter.h:130
std::vector< int > secondaryChunkStartPixelAcross
secondary starting pixels for each chunk (across)
Definition cuAmpcorParameter.h:131
int referenceStartPixelDown0
first starting pixel in reference image (down)
Definition cuAmpcorParameter.h:116
int grossOffsetDown0
gross offset static component (down)
Definition cuAmpcorParameter.h:122
std::vector< int > grossOffsetAcross
Gross offsets between reference and secondary windows (across)
Definition cuAmpcorParameter.h:125
int secondaryImageWidth
secondary image width
Definition cuAmpcorParameter.h:98
int skipSampleDownRaw
Skip size between neighboring windows in Down direction (original size)
Definition cuAmpcorParameter.h:75
int halfZoomWindowSizeRaw
half of zoomWindowSize/rawDataOversamplingFactor
Definition cuAmpcorParameter.h:80
int referenceImageHeight
reference image height
Definition cuAmpcorParameter.h:91
int halfSearchRangeDownRaw
(searchWindowSizeHeightRaw-windowSizeHeightRaw)/2
Definition cuAmpcorParameter.h:56
int searchWindowSizeHeight
Search window height (oversampled size)
Definition cuAmpcorParameter.h:71
int numberWindowsInChunk
numberWindowDownInChunk*numberWindowAcrossInChunk
Definition cuAmpcorParameter.h:108
std::vector< int > grossOffsetDown
Gross offsets between reference and secondary windows (down)
Definition cuAmpcorParameter.h:124
int maxReferenceChunkWidth
max reference chunk size
Definition cuAmpcorParameter.h:136
int imageDataType2
secondary image data type, 2=cfloat=complex=float2 1=float
Definition cuAmpcorParameter.h:96
std::vector< int > referenceChunkWidth
reference chunk width
Definition cuAmpcorParameter.h:133
int mergeGrossOffset
whether to merge gross offsets into the final offsets
Definition cuAmpcorParameter.h:126
int numberChunks
total number of chunks
Definition cuAmpcorParameter.h:111
int numberWindows
numberWindowDown*numberWindowAcross
Definition cuAmpcorParameter.h:103
int searchWindowSizeWidthRaw
Search window width (orignal size)
Definition cuAmpcorParameter.h:54
int searchWindowSizeHeightRawZoomIn
search window height used for zoom in
Definition cuAmpcorParameter.h:60
int rawDataOversamplingFactor
Raw data overampling factor (from original size to oversampled size)
Definition cuAmpcorParameter.h:68
std::string offsetImageName
Offset fields output filename.
Definition cuAmpcorParameter.h:140
int searchWindowSizeHeightRaw
Search window height (original size)
Definition cuAmpcorParameter.h:53
std::vector< int > secondaryStartPixelAcross
secondary starting pixels for each window (across)
Definition cuAmpcorParameter.h:121
int referenceImageWidth
reference image width
Definition cuAmpcorParameter.h:92
cuAmpcorParameter()
Constructor for cuAmpcorParameter class also sets the default/initial values of various parameters.
Definition cuAmpcorParameter.cpp:20
std::vector< int > referenceStartPixelDown
reference starting pixels for each window (down)
Definition cuAmpcorParameter.h:118
std::vector< int > secondaryChunkHeight
secondary chunk height
Definition cuAmpcorParameter.h:134
int searchWindowSizeWidth
Search window width (oversampled size)
Definition cuAmpcorParameter.h:72
std::string snrImageName
Output SNR filename.
Definition cuAmpcorParameter.h:141
int skipSampleAcrossRaw
Skip size between neighboring windows in across direction (original size)
Definition cuAmpcorParameter.h:76
int derampMethod
Method for deramping 0=None, 1=average.
Definition cuAmpcorParameter.h:48
int windowSizeHeight
Template window length (oversampled size)
Definition cuAmpcorParameter.h:69
int windowSizeWidth
Template window width (original size)
Definition cuAmpcorParameter.h:70
int halfSearchRangeAcrossRaw
(searchWindowSizeWidthRaw-windowSizeWidthRaw)/2
Definition cuAmpcorParameter.h:57
int algorithm
Cross-correlation algorithm: 0=freq domain (default) 1=time domain.
Definition cuAmpcorParameter.h:45
std::vector< int > secondaryChunkWidth
secondary chunk width
Definition cuAmpcorParameter.h:135
int useMmap
whether to use mmap 0=not 1=yes (default = 0)
Definition cuAmpcorParameter.h:113
std::string secondaryImageName
secondary SLC image name
Definition cuAmpcorParameter.h:95
void setupParameters()
To determine other process parameters after reading essential parameters from python.
Definition cuAmpcorParameter.cpp:72
int numberChunkDown
number of chunks (down)
Definition cuAmpcorParameter.h:109
int oversamplingFactor
Oversampling factor for interpolating correlation surface.
Definition cuAmpcorParameter.h:82
int imageDataType1
reference image data type, 2=cfloat=complex=float2 1=float
Definition cuAmpcorParameter.h:90
int numberWindowAcrossInChunk
number of windows processed in a chunk (across)
Definition cuAmpcorParameter.h:107

Generated for ISCE3.0 by doxygen 1.13.2.