isce3 0.25.0
Loading...
Searching...
No Matches
gpuGeometry.h
1#pragma once
2
3#include <optional>
4
5#include <isce3/core/forward.h>
6#include <isce3/cuda/core/forward.h>
7#include <isce3/cuda/geometry/forward.h>
8#include <isce3/geometry/forward.h>
9
10#include <isce3/core/Common.h>
11#include <isce3/geometry/detail/Rdr2Geo.h>
12
13namespace isce3 { namespace cuda { namespace geometry {
14
15using cartesian_t = isce3::core::Vec3;
16
24CUDA_DEV int rdr2geo(double, double, double, const isce3::cuda::core::OrbitView&,
25 const isce3::core::Ellipsoid&, const gpuDEMInterpolator&,
26 isce3::core::Vec3&, double, isce3::core::LookSide, double,
27 int, int);
28
51CUDA_DEV int rdr2geo(const isce3::core::Pixel& pixel,
52 const isce3::core::Basis& TCNbasis,
53 const isce3::core::Vec3& pos, const isce3::core::Vec3& vel,
54 const isce3::core::Ellipsoid& ellipsoid,
55 const gpuDEMInterpolator& demInterp,
56 isce3::core::Vec3& targetLLH, isce3::core::LookSide side,
57 double threshold, int maxIter, int extraIter);
58
78CUDA_DEV int rdr2geo_bracket(double aztime, double slantRange, double doppler,
79 const isce3::cuda::core::OrbitView& orbit,
80 const isce3::core::Ellipsoid& ellipsoid, const gpuDEMInterpolator& dem,
81 isce3::core::Vec3& targetXYZ, double wvl, isce3::core::LookSide side,
82 double tolHeight = isce3::geometry::detail::DEFAULT_TOL_HEIGHT,
83 double lookMin = 0.0, double lookMax = M_PI / 2);
84
105CUDA_DEV int geo2rdr(const isce3::core::Vec3& inputLLH,
106 const isce3::core::Ellipsoid& ellipsoid,
107 const isce3::cuda::core::OrbitView& orbit,
108 const isce3::cuda::core::gpuLUT1d<double>& doppler,
109 double* aztime, double* slantRange, double wavelength,
110 isce3::core::LookSide side, double threshold, int maxIter,
111 double deltaRange);
112
133CUDA_DEV int geo2rdr(const isce3::core::Vec3& inputLLH,
134 const isce3::core::Ellipsoid& ellipsoid,
135 const isce3::cuda::core::OrbitView& orbit,
136 const isce3::cuda::core::gpuLUT2d<double>& doppler,
137 double* aztime, double* slantRange, double wavelength,
138 isce3::core::LookSide side, double threshold, int maxIter,
139 double deltaRange);
140
158CUDA_DEV int geo2rdr_bracket(const isce3::core::Vec3& x,
159 const isce3::cuda::core::OrbitView& orbit,
160 const isce3::cuda::core::gpuLUT2d<double>& doppler, double* aztime,
161 double* range, const double wavelength,
162 const isce3::core::LookSide side, const double dt,
163 std::optional<double> timeStart = std::nullopt,
164 std::optional<double> timeEnd = std::nullopt);
165
166
168CUDA_HOST int rdr2geo_h(const isce3::core::Pixel&, const isce3::core::Basis&,
169 const isce3::core::Vec3& pos,
170 const isce3::core::Vec3& vel,
171 const isce3::core::Ellipsoid&,
172 isce3::geometry::DEMInterpolator&, cartesian_t&,
173 isce3::core::LookSide, double, int, int);
174
176CUDA_HOST int geo2rdr_h(const cartesian_t&, const isce3::core::Ellipsoid&,
177 const isce3::core::Orbit&,
178 const isce3::core::LUT1d<double>&, double&, double&,
179 double, isce3::core::LookSide, double, int, double);
180
181CUDA_HOST
182int rdr2geo_bracket_h(double aztime, double slantRange, double doppler,
183 const isce3::core::Orbit& orbit,
184 const isce3::core::Ellipsoid& ellipsoid,
185 const isce3::geometry::DEMInterpolator& dem,
186 isce3::core::Vec3& targetXYZ, double wavelength,
187 isce3::core::LookSide side, double tolHeight, double lookMin,
188 double lookMax);
189
190CUDA_HOST int geo2rdr_bracket_h(const isce3::core::Vec3&,
191 const isce3::core::Orbit&, const isce3::core::LUT2d<double>&, double&,
192 double&, double, isce3::core::LookSide, double,
193 std::optional<double> = std::nullopt,
194 std::optional<double> = std::nullopt);
195
196}}} // namespace isce3::cuda::geometry
197
200CUDA_GLOBAL void createProjection(isce3::cuda::core::ProjectionBase**, int);
201
204CUDA_GLOBAL void deleteProjection(isce3::cuda::core::ProjectionBase**);
Definition gpuDEMInterpolator.h:15
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5
Abstract base class for individual projections.
Definition gpuProjections.h:23

Generated for ISCE3.0 by doxygen 1.13.2.