isce3 0.25.0
Loading...
Searching...
No Matches
isce3::cuda::geometry::Topo Class Reference

Transformer from radar geometry coordinates to map coordinates with DEM / reference altitude on GPU. More...

#include <Topo.h>

Inheritance diagram for isce3::cuda::geometry::Topo:
isce3::geometry::Topo

Public Member Functions

 Topo (const isce3::product::RadarGridProduct &product, char frequency='A', bool nativeDoppler=false)
 Constructor from RadarGridProduct.
 
 Topo (const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::LUT2d< double > &doppler={})
 
 Topo (const isce3::core::Ellipsoid &ellps, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, const isce3::core::Metadata &meta)
 Constructor from isce3::core objects.
 
void topo (isce3::io::Raster &, const std::string &)
 Run topo - main entrypoint; internal creation of topo rasters.
 
void topo (isce3::io::Raster &demRaster, isce3::io::Raster *xRaster=nullptr, isce3::io::Raster *yRaster=nullptr, isce3::io::Raster *heightRaster=nullptr, isce3::io::Raster *incRaster=nullptr, isce3::io::Raster *hdgRaster=nullptr, isce3::io::Raster *localIncRaster=nullptr, isce3::io::Raster *localPsiRaster=nullptr, isce3::io::Raster *simRaster=nullptr, isce3::io::Raster *maskRaster=nullptr, isce3::io::Raster *groundToSatEastRaster=nullptr, isce3::io::Raster *groundToSatNorthRaster=nullptr)
 Run topo with externally created topo rasters (plus mask raster)
 
void topo (isce3::io::Raster &, isce3::geometry::TopoLayers &)
 Run topo - main entrypoint; internal creation of topo rasters.
 
- Public Member Functions inherited from isce3::geometry::Topo
 Topo (const isce3::product::RadarGridProduct &, char frequency='A', bool nativeDoppler=false)
 Constructor using a product.
 
 Topo (const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::LUT2d< double > &doppler={})
 Alternative constructor from ellipsoid orbit and radarGrid.
 
 Topo (const isce3::core::Ellipsoid &ellipsoid, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, const isce3::core::Metadata &meta)
 Constructor using core objects.
 
void threshold (double t)
 Set convergence threshold.
 
void numiter (int n)
 Set number of primary iterations.
 
void extraiter (int n)
 Set number of secondary iterations.
 
void demMethod (isce3::core::dataInterpMethod method)
 Set the DEM interpolation method while checking its validity.
 
void epsgOut (int epsgcode)
 Set output coordinate system.
 
void computeMask (bool mask)
 Set mask computation flag.
 
void minimumHeight (double minh)
 Set minimum height.
 
void maximumHeight (double maxh)
 Set maximum height.
 
void decimaldegMargin (double deg)
 Set margin in decimal degrees.
 
void linesPerBlock (size_t linesPerBlock)
 Set lines to be processed per block.
 
double threshold () const
 Get distance convergence threshold used for processing.
 
int numiter () const
 Get number of primary iterations used for processing.
 
int extraiter () const
 Get number of secondary iterations used for processing.
 
int epsgOut () const
 Get the output coordinate system used for processing.
 
isce3::core::dataInterpMethod demMethod () const
 Get the DEM interpolation method used for processing.
 
bool computeMask () const
 Get mask computation flag.
 
double minimumHeight () const
 Get minimum height.
 
double maximumHeight () const
 Get maximum height.
 
double decimaldegMargin () const
 Get margin in decimal degrees.
 
size_t linesPerBlock () const
 Get linesPerBlock.
 
const isce3::product::RadarGridParametersradarGridParameters () const
 Get read-only reference to RadarGridParameters.
 
void computeDEMBounds (isce3::io::Raster &, DEMInterpolator &, size_t, size_t)
 Get DEM bounds using first/last azimuth line and slant range bin.
 
void topo (isce3::io::Raster &demRaster, const std::string &outdir)
 Main entry point for the module; internal creation of topo rasters.
 
void topo (isce3::io::Raster &demRaster, TopoLayers &layers)
 Run topo with externally created topo rasters in TopoLayers object.
 
void topo (isce3::io::Raster &demRaster, isce3::io::Raster *xRaster=nullptr, isce3::io::Raster *yRaster=nullptr, isce3::io::Raster *heightRaster=nullptr, isce3::io::Raster *incRaster=nullptr, isce3::io::Raster *hdgRaster=nullptr, isce3::io::Raster *localIncRaster=nullptr, isce3::io::Raster *localPsiRaster=nullptr, isce3::io::Raster *simRaster=nullptr, isce3::io::Raster *maskRaster=nullptr, isce3::io::Raster *groundToSatEastRaster=nullptr, isce3::io::Raster *groundToSatNorthRaster=nullptr)
 Run topo with externally created topo rasters; generate mask.
 
void topo (isce3::geometry::DEMInterpolator &demInterp, const std::string &outdir)
 Main entry point for the module; internal creation of topo rasters.
 
void topo (isce3::geometry::DEMInterpolator &demInterp, TopoLayers &layers)
 Run topo with externally created topo rasters in TopoLayers object.
 
void topo (isce3::geometry::DEMInterpolator &demInterp, isce3::io::Raster *xRaster, isce3::io::Raster *yRaster, isce3::io::Raster *heightRaster, isce3::io::Raster *incRaster, isce3::io::Raster *hdgRaster, isce3::io::Raster *localIncRaster, isce3::io::Raster *localPsiRaster, isce3::io::Raster *simRaster, isce3::io::Raster *maskRaster, isce3::io::Raster *groundToSatEastRaster, isce3::io::Raster *groundToSatNorthRaster)
 Run topo with externally created topo rasters; generate mask.
 
void setLayoverShadow (TopoLayers &, DEMInterpolator &, std::vector< isce3::core::Vec3 > &, size_t block, size_t n_blocks)
 Compute layover/shadow masks.
 
const isce3::core::Orbitorbit () const
 Get the orbits used for processing.
 
const isce3::core::Ellipsoidellipsoid () const
 Get the ellipsoid used for processing.
 
const isce3::core::LUT2d< double > & doppler () const
 Get the doppler module used for processing.
 

Detailed Description

Transformer from radar geometry coordinates to map coordinates with DEM / reference altitude on GPU.

See geometry overview for a description of the algorithm

Member Function Documentation

◆ topo() [1/3]

void isce3::cuda::geometry::Topo::topo ( isce3::io::Raster & demRaster,
const std::string & outdir )

Run topo - main entrypoint; internal creation of topo rasters.

Parameters
[in]demRasterinput DEM raster
[in]outdirdirectory to write outputs to

This is the main topo driver. The pixel-by-pixel output file names are fixed for now

  • x.rdr - X coordinate in requested projection system (meters or degrees)
  • y.rdr - Y cooordinate in requested projection system (meters or degrees)
  • z.rdr - Height above ellipsoid (meters)
  • inc.rdr - Incidence angle (degrees) computed from vertical at target
  • hdg.rdr - Azimuth angle (degrees) computed anti-clockwise from EAST (Right hand rule)
  • localInc.rdr - Local incidence angle (degrees) at target
  • locaPsi.rdr - Local projection angle (degrees) at target
  • simamp.rdr - Simulated amplitude image.
  • layoverShadowMask.rdr - Layover and shadow image.
  • los_east.rdr - East component of ground to satellite unit vector
  • los_north.rdr - North component of ground to satellite unit vector

◆ topo() [2/3]

void isce3::cuda::geometry::Topo::topo ( isce3::io::Raster & demRaster,
isce3::geometry::TopoLayers & layers )

Run topo - main entrypoint; internal creation of topo rasters.

Parameters
[in]demRasterinput DEM raster
[in]layersTopoLayers object for storing and writing results

◆ topo() [3/3]

void isce3::cuda::geometry::Topo::topo ( isce3::io::Raster & demRaster,
isce3::io::Raster * xRaster = nullptr,
isce3::io::Raster * yRaster = nullptr,
isce3::io::Raster * heightRaster = nullptr,
isce3::io::Raster * incRaster = nullptr,
isce3::io::Raster * hdgRaster = nullptr,
isce3::io::Raster * localIncRaster = nullptr,
isce3::io::Raster * localPsiRaster = nullptr,
isce3::io::Raster * simRaster = nullptr,
isce3::io::Raster * maskRaster = nullptr,
isce3::io::Raster * groundToSatEastRaster = nullptr,
isce3::io::Raster * groundToSatNorthRaster = nullptr )

Run topo with externally created topo rasters (plus mask raster)

Parameters
[in]demRasterinput DEM raster
[in]xRasteroutput raster for X coordinate in requested projection system (meters or degrees)
[in]yRasteroutput raster for Y cooordinate in requested projection system (meters or degrees)
[in]zRasteroutput raster for height above ellipsoid (meters)
[in]incRasteroutput raster for incidence angle (degrees) computed from vertical at target
[in]hdgRasteroutput raster for azimuth angle (degrees) computed anti-clockwise from EAST (Right hand rule)
[in]localIncRasteroutput raster for local incidence angle (degrees) at target
[in]localPsiRasteroutput raster for local projection angle (degrees) at target
[in]simRasteroutput raster for simulated amplitude image.
[in]maskRasteroutput raster for layover/shadow mask.
[in]losEastRasteroutput for east component of ground to satellite LOS unit vector
[in]losNorthRasteroutput for north component of ground to satellite LOS unit vector

The documentation for this class was generated from the following files:

Generated for ISCE3.0 by doxygen 1.13.2.