isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
gpuGeometry.h
1 #pragma once
2 
3 #include <isce3/core/forward.h>
4 #include <isce3/cuda/core/forward.h>
5 #include <isce3/cuda/geometry/forward.h>
6 #include <isce3/geometry/forward.h>
7 
8 #include <isce3/core/Common.h>
9 
10 namespace isce3 { namespace cuda { namespace geometry {
11 
12 using cartesian_t = isce3::core::Vec3;
13 
21 CUDA_DEV int rdr2geo(double, double, double, const isce3::cuda::core::OrbitView&,
22  const isce3::core::Ellipsoid&, const gpuDEMInterpolator&,
23  isce3::core::Vec3&, double, isce3::core::LookSide, double,
24  int, int);
25 
48 CUDA_DEV int rdr2geo(const isce3::core::Pixel& pixel,
49  const isce3::core::Basis& TCNbasis,
50  const isce3::core::Vec3& pos, const isce3::core::Vec3& vel,
51  const isce3::core::Ellipsoid& ellipsoid,
52  const gpuDEMInterpolator& demInterp,
54  double threshold, int maxIter, int extraIter);
55 
76 CUDA_DEV int geo2rdr(const isce3::core::Vec3& inputLLH,
77  const isce3::core::Ellipsoid& ellipsoid,
78  const isce3::cuda::core::OrbitView& orbit,
80  double* aztime, double* slantRange, double wavelength,
81  isce3::core::LookSide side, double threshold, int maxIter,
82  double deltaRange);
83 
104 CUDA_DEV int geo2rdr(const isce3::core::Vec3& inputLLH,
105  const isce3::core::Ellipsoid& ellipsoid,
106  const isce3::cuda::core::OrbitView& orbit,
108  double* aztime, double* slantRange, double wavelength,
109  isce3::core::LookSide side, double threshold, int maxIter,
110  double deltaRange);
111 
113 CUDA_HOST int rdr2geo_h(const isce3::core::Pixel&, const isce3::core::Basis&,
114  const isce3::core::Vec3& pos,
115  const isce3::core::Vec3& vel,
116  const isce3::core::Ellipsoid&,
117  isce3::geometry::DEMInterpolator&, cartesian_t&,
118  isce3::core::LookSide, double, int, int);
119 
121 CUDA_HOST int geo2rdr_h(const cartesian_t&, const isce3::core::Ellipsoid&,
122  const isce3::core::Orbit&,
123  const isce3::core::LUT1d<double>&, double&, double&,
124  double, isce3::core::LookSide, double, int, double);
125 
126 }}} // namespace isce3::cuda::geometry
127 
130 CUDA_GLOBAL void createProjection(isce3::cuda::core::ProjectionBase**, int);
131 
134 CUDA_GLOBAL void deleteProjection(isce3::cuda::core::ProjectionBase**);
Data structure to store Ellipsoid information.
Definition: Ellipsoid.h:20
Helper datastructure to handle slant range information for a pixel.
Definition: Pixel.h:13
Definition: DEMInterpolator.h:22
Abstract base class for individual projections.
Definition: gpuProjections.h:23
int geo2rdr(const isce3::core::Vec3 &inputLLH, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::Orbit &orbit, const isce3::core::Poly2d &doppler, double &aztime, double &slantRange, double wavelength, double startingRange, double rangePixelSpacing, size_t rwidth, isce3::core::LookSide side, double threshold, int maxIter, double deltaRange)
Map coordinates to radar geometry coordinates transformer.
Definition: geometry.cpp:181
LookSide
Side that radar looks at, Left or Right.
Definition: LookSide.h:13
Non-owning reference to Orbit.
Definition: OrbitView.h:18
Simple class to store three-dimensional basis vectors.
Definition: Basis.h:15
int rdr2geo(double aztime, double slantRange, double doppler, const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const DEMInterpolator &demInterp, isce3::core::Vec3 &targetLLH, double wvl, isce3::core::LookSide side, double threshold, int maxIter, int extraIter)
Radar geometry coordinates to map coordinates transformer.
Definition: geometry.cpp:37
Definition: forward.h:12
Sequence of platform ephemeris samples (state vectors) with uniform temporal spacing, supporting efficient lookup and interpolation.
Definition: Orbit.h:43

Generated for ISCE3.0 by doxygen 1.8.5.