isce3 0.25.0
|
Transformer from radar geometry coordinates to map coordinates with DEM / reference altitude on GPU. More...
#include <Topo.h>
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. | |
![]() | |
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::RadarGridParameters & | radarGridParameters () 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::Orbit & | orbit () const |
Get the orbits used for processing. | |
const isce3::core::Ellipsoid & | ellipsoid () const |
Get the ellipsoid used for processing. | |
const isce3::core::LUT2d< double > & | doppler () const |
Get the doppler module used for processing. | |
Transformer from radar geometry coordinates to map coordinates with DEM / reference altitude on GPU.
See geometry overview for a description of the algorithm
void isce3::cuda::geometry::Topo::topo | ( | isce3::io::Raster & | demRaster, |
const std::string & | outdir ) |
Run topo - main entrypoint; internal creation of topo rasters.
[in] | demRaster | input DEM raster |
[in] | outdir | directory to write outputs to |
This is the main topo driver. The pixel-by-pixel output file names are fixed for now
void isce3::cuda::geometry::Topo::topo | ( | isce3::io::Raster & | demRaster, |
isce3::geometry::TopoLayers & | layers ) |
Run topo - main entrypoint; internal creation of topo rasters.
[in] | demRaster | input DEM raster |
[in] | layers | TopoLayers object for storing and writing results |
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)
[in] | demRaster | input DEM raster |
[in] | xRaster | output raster for X coordinate in requested projection system (meters or degrees) |
[in] | yRaster | output raster for Y cooordinate in requested projection system (meters or degrees) |
[in] | zRaster | output raster for height above ellipsoid (meters) |
[in] | incRaster | output raster for incidence angle (degrees) computed from vertical at target |
[in] | hdgRaster | output raster for azimuth angle (degrees) computed anti-clockwise from EAST (Right hand rule) |
[in] | localIncRaster | output raster for local incidence angle (degrees) at target |
[in] | localPsiRaster | output raster for local projection angle (degrees) at target |
[in] | simRaster | output raster for simulated amplitude image. |
[in] | maskRaster | output raster for layover/shadow mask. |
[in] | losEastRaster | output for east component of ground to satellite LOS unit vector |
[in] | losNorthRaster | output for north component of ground to satellite LOS unit vector |