5#include <isce3/core/forward.h>
6#include <isce3/core/Ellipsoid.h>
7#include <isce3/core/LUT2d.h>
8#include <isce3/core/Orbit.h>
11#include <isce3/io/forward.h>
14#include <isce3/product/forward.h>
15#include <isce3/product/RadarGridParameters.h>
39 bool nativeDoppler =
false);
105 void demMethod(isce3::core::dataInterpMethod method);
167 isce3::core::dataInterpMethod
demMethod()
const {
return _demMethod; }
273 const std::string& outdir);
329 std::vector<isce3::core::Vec3>&,
354 void _initAzimuthLine(
size_t line,
double&,
355 isce3::core::Vec3& pos, isce3::core::Vec3& vel,
373 void _setOutputTopoLayers(isce3::core::Vec3 &,
377 isce3::core::Vec3& pos,
378 isce3::core::Vec3& vel,
383 template<
typename T>
void _topo(T& dem,
const std::string& outdir);
409 double _threshold = 1.0e-8;
412 double _minH = isce3::core::GLOBAL_MIN_HEIGHT;
413 double _maxH = isce3::core::GLOBAL_MAX_HEIGHT;
414 double _margin = 0.15;
415 size_t _linesPerBlock = 1000;
416 bool _computeMask =
true;
418 isce3::core::dataInterpMethod _demMethod;
426#define ISCE_GEOMETRY_TOPO_ICC
428#undef ISCE_GEOMETRY_TOPO_ICC
Simple class to store three-dimensional basis vectors.
Definition Basis.h:20
Data structure to store Ellipsoid information.
Definition Ellipsoid.h:20
Data structure to store 2D Lookup table.
Definition LUT2d.h:20
Sequence of platform ephemeris samples (state vectors) with uniform temporal spacing,...
Definition Orbit.h:44
Helper datastructure to handle slant range information for a pixel.
Definition Pixel.h:13
Abstract base class for individual projections.
Definition Projections.h:21
Definition DEMInterpolator.h:25
Definition TopoLayers.h:10
Transformer from radar geometry coordinates to map coordinates with DEM / reference altitude.
Definition Topo.h:27
size_t linesPerBlock() const
Get linesPerBlock.
Definition Topo.h:182
int numiter() const
Get number of primary iterations used for processing.
Definition Topo.h:158
void linesPerBlock(size_t linesPerBlock)
Set lines to be processed per block.
Definition Topo.h:150
const isce3::core::Ellipsoid & ellipsoid() const
Get the ellipsoid used for processing.
Definition Topo.h:338
const isce3::core::Orbit & orbit() const
Get the orbits used for processing.
Definition Topo.h:336
double maximumHeight() const
Get maximum height.
Definition Topo.h:176
bool computeMask() const
Get mask computation flag.
Definition Topo.h:170
void numiter(int n)
Set number of primary iterations.
Definition Topo.h:85
void threshold(double t)
Set convergence threshold.
Definition Topo.h:75
void extraiter(int n)
Set number of secondary iterations.
Definition Topo.h:98
double minimumHeight() const
Get minimum height.
Definition Topo.h:173
const isce3::core::LUT2d< double > & doppler() const
Get the doppler module used for processing.
Definition Topo.h:340
void computeDEMBounds(isce3::io::Raster &, DEMInterpolator &, size_t, size_t)
Get DEM bounds using first/last azimuth line and slant range bin.
Definition Topo.cpp:446
void topo(isce3::io::Raster &demRaster, const std::string &outdir)
Main entry point for the module; internal creation of topo rasters.
Definition Topo.cpp:395
int epsgOut() const
Get the output coordinate system used for processing.
Definition Topo.h:164
void computeMask(bool mask)
Set mask computation flag.
Definition Topo.h:122
Topo(const isce3::product::RadarGridProduct &, char frequency='A', bool nativeDoppler=false)
Constructor using a product.
Definition Topo.cpp:35
double threshold() const
Get distance convergence threshold used for processing.
Definition Topo.h:155
isce3::core::dataInterpMethod demMethod() const
Get the DEM interpolation method used for processing.
Definition Topo.h:167
int extraiter() const
Get number of secondary iterations used for processing.
Definition Topo.h:161
void maximumHeight(double maxh)
Set maximum height.
Definition Topo.h:136
double decimaldegMargin() const
Get margin in decimal degrees.
Definition Topo.h:179
const isce3::product::RadarGridParameters & radarGridParameters() const
Get read-only reference to RadarGridParameters.
Definition Topo.h:185
void decimaldegMargin(double deg)
Set margin in decimal degrees.
Definition Topo.h:143
void setLayoverShadow(TopoLayers &, DEMInterpolator &, std::vector< isce3::core::Vec3 > &, size_t block, size_t n_blocks)
Compute layover/shadow masks.
Definition Topo.cpp:754
void minimumHeight(double minh)
Set minimum height.
Definition Topo.h:129
Data structure meant to handle Raster I/O operations.
Definition Raster.h:32
Definition RadarGridParameters.h:16
RadarGridProduct class declaration.
Definition RadarGridProduct.h:71
Collection of simple commonly used geometry functions.