isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
geometry.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 // -*- coding: utf-8 -*-
3 //
4 // Author: Bryan Riel
5 // Copyright 2017-2018
6 //
14 #pragma once
15 
16 #include "forward.h"
17 
18 #include <isce3/core/forward.h>
19 #include <isce3/product/forward.h>
20 #include <isce3/core/Constants.h>
21 
22 // Declaration
23 namespace isce3 {
25 namespace geometry {
26 
49 int rdr2geo(double aztime, double slantRange, double doppler,
50  const isce3::core::Orbit & orbit,
51  const isce3::core::Ellipsoid & ellipsoid,
52  const DEMInterpolator & demInterp,
53  isce3::core::Vec3 & targetLLH,
54  double wvl, isce3::core::LookSide side, double threshold,
55  int maxIter, int extraIter);
56 
80 int rdr2geo(const isce3::core::Pixel & pixel,
81  const isce3::core::Basis & TCNbasis,
82  const isce3::core::Vec3& pos,
83  const isce3::core::Vec3& vel,
84  const isce3::core::Ellipsoid & ellipsoid,
85  const DEMInterpolator & demInterp,
86  isce3::core::Vec3 & targetLLH,
88  double threshold, int maxIter, int extraIter);
89 
117 int rdr2geo(const isce3::core::Vec3& radarXYZ,
118  const isce3::core::Vec3& axis, double angle,
119  double range, const DEMInterpolator& dem,
120  isce3::core::Vec3& targetXYZ, isce3::core::LookSide side,
121  double threshold, int maxIter, int extraIter);
122 
146 int geo2rdr(const isce3::core::Vec3 & inputLLH,
147  const isce3::core::Ellipsoid & ellipsoid,
148  const isce3::core::Orbit & orbit,
149  const isce3::core::Poly2d & doppler,
150  double & aztime, double & slantRange,
151  double wavelength, double startingRange,
152  double rangePixelSpacing, size_t rwidth, isce3::core::LookSide side,
153  double threshold, int maxIter, double deltaRange);
154 
175 int geo2rdr(const isce3::core::Vec3 & inputLLH,
176  const isce3::core::Ellipsoid & ellipsoid,
177  const isce3::core::Orbit & orbit,
178  const isce3::core::LUT2d<double> & doppler,
179  double & aztime, double & slantRange,
180  double wavelength, isce3::core::LookSide side, double threshold,
181  int maxIter, double deltaRange);
182 
201 void computeDEMBounds(const isce3::core::Orbit & orbit,
202  const isce3::core::Ellipsoid & ellipsoid,
203  const isce3::core::LUT2d<double> & doppler,
204  const isce3::product::RadarGridParameters & radarGrid,
205  size_t xoff,
206  size_t yoff,
207  size_t xsize,
208  size_t ysize,
209  double margin,
210  double & min_lon,
211  double & min_lat,
212  double & max_lon,
213  double & max_lat);
214 
215 template <class T>
216 double _compute_doppler_aztime_diff(isce3::core::Vec3 dr, isce3::core::Vec3 satvel,
217  T & doppler, double wavelength,
218  double aztime, double slantRange,
219  double deltaRange);
220 }
221 }
void computeDEMBounds(const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::LUT2d< double > &doppler, const isce3::product::RadarGridParameters &radarGrid, size_t xoff, size_t yoff, size_t xsize, size_t ysize, double margin, double &min_lon, double &min_lat, double &max_lon, double &max_lat)
Utility function to compute geographic bounds for a radar grid.
Definition: geometry.cpp:258
Data structure for representing 1D polynomials.
Definition: Poly2d.h:25
Data structure to store Ellipsoid information.
Definition: Ellipsoid.h:20
Helper datastructure to handle slant range information for a pixel.
Definition: Pixel.h:13
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
Definition: RadarGridParameters.h:15
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
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.