isce3 0.25.0
Loading...
Searching...
No Matches
cuOverSampler.h
1/*
2 * @file cuOverSampler.h
3 * @brief Oversampling with FFT padding method
4 *
5 * Define cuOverSampler class, to save fftw plans and perform oversampling calculations
6 * For float images use cuOverSamplerR2R
7 * For complex images use cuOverSamplerC2C
8 * @todo use template class to unify these two classes
9 */
10
11#ifndef __CUOVERSAMPLER_H
12#define __CUOVERSAMPLER_H
13
14#include "cuArrays.h"
15#include "cudaUtil.h"
16
17#include <fftw3.h>
18
19namespace isce3::matchtemplate::pycuampcor {
20
21// FFT Oversampler for complex images
22class cuOverSamplerC2C
23{
24private:
25 fftwf_plan forwardPlan; // forward fft handle
26 fftwf_plan backwardPlan; // backward fft handle
27 cuArrays<float2> *workIn; // work array to hold forward fft data
28 cuArrays<float2> *workOut; // work array to hold padded data
29public:
30 // disable the default constructor
31 cuOverSamplerC2C() = delete;
32 // constructor
33 cuOverSamplerC2C(cuArrays<float2> *imagesIn, cuArrays<float2> *imagesOut,
34 int inNX, int inNY, int outNX, int outNY, int nImages);
35 // execute oversampling
36 void execute(cuArrays<float2> *imagesIn, cuArrays<float2> *imagesOut, int deramp_method=0);
37 // destructor
39};
40
41// FFT Oversampler for complex images
42class cuOverSamplerR2R
43{
44private:
45 fftwf_plan forwardPlan;
46 fftwf_plan backwardPlan;
47 cuArrays<float2> *workSizeIn;
48 cuArrays<float2> *workSizeOut;
49
50public:
51 cuOverSamplerR2R() = delete;
52 cuOverSamplerR2R(int inNX, int inNY, int outNX, int outNY, int nImages);
53 void execute(cuArrays<float> *imagesIn, cuArrays<float> *imagesOut);
55};
56
57} // namespace
58
59#endif //__CUOVERSAMPLER_H
60// end of file
61
62
63
~cuOverSamplerC2C()
destructor
Definition cuOverSampler.cpp:84
void execute(cuArrays< float2 > *imagesIn, cuArrays< float2 > *imagesOut, int deramp_method=0)
Execute fft oversampling.
Definition cuOverSampler.cpp:75
void execute(cuArrays< float > *imagesIn, cuArrays< float > *imagesOut)
Execute fft oversampling.
Definition cuOverSampler.cpp:148
~cuOverSamplerR2R()
destructor
Definition cuOverSampler.cpp:158
Header file for cuArrays class.
Various cuda related parameters and utilities.

Generated for ISCE3.0 by doxygen 1.13.2.