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::Product &product, char frequency= 'A', bool nativeDoppler=false) | |
Constructor from Product. | |
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. More... | |
void | topo (isce3::io::Raster &demRaster, 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) |
Run topo with externally created topo rasters. More... | |
void | topo (isce3::io::Raster &demRaster, 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) |
Run topo with externally created topo rasters (plus mask raster) More... | |
void | topo (isce3::io::Raster &, isce3::geometry::TopoLayers &) |
Run topo - main entrypoint; internal creation of topo rasters. More... | |
Public Member Functions inherited from isce3::geometry::Topo | |
Topo (const isce3::product::Product &, char frequency= 'A', bool nativeDoppler=false) | |
Constructor using a product. More... | |
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. More... | |
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. More... | |
void | threshold (double t) |
Set convergence threshold. More... | |
void | numiter (int n) |
Set number of primary iterations. More... | |
void | extraiter (int n) |
Set number of secondary iterations. More... | |
void | demMethod (isce3::core::dataInterpMethod method) |
Set the DEM interpolation method while checking its validity. More... | |
void | epsgOut (int epsgcode) |
Set output coordinate system. More... | |
void | computeMask (bool mask) |
Set mask computation flag. More... | |
void | minimumHeight (double minh) |
Set minimum height. More... | |
void | maximumHeight (double maxh) |
Set maximum height. More... | |
void | decimaldegMargin (double deg) |
Set margin in decimal degrees. More... | |
isce3::core::LookSide | lookSide () const |
Get lookSide used for processing. | |
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. | |
const isce3::product::RadarGridParameters & | radarGridParameters () const |
Get read-only reference to RadarGridParameters. | |
void | computeDEMBounds (isce3::io::Raster &, DEMInterpolator &, size_t, size_t) |
void | topo (isce3::io::Raster &demRaster, const std::string &outdir) |
Main entry point for the module; internal creation of topo rasters. More... | |
void | topo (isce3::io::Raster &demRaster, TopoLayers &layers) |
Run topo with externally created topo rasters in TopoLayers object. More... | |
void | topo (isce3::io::Raster &demRaster, 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) |
Run topo with externally created topo rasters; generate mask. More... | |
void | topo (isce3::io::Raster &demRaster, 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) |
Run topo with externally created topo rasters; generate mask. More... | |
void | topo (isce3::geometry::DEMInterpolator &demInterp, const std::string &outdir) |
Main entry point for the module; internal creation of topo rasters. More... | |
void | topo (isce3::geometry::DEMInterpolator &demInterp, TopoLayers &layers) |
Run topo with externally created topo rasters in TopoLayers object. More... | |
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) |
Run topo with externally created topo rasters; generate mask. More... | |
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) |
Run topo with externally created topo rasters; generate mask. More... | |
void | setLayoverShadow (TopoLayers &, DEMInterpolator &, std::vector< isce3::core::Vec3 > &) |
Compute layover/shadow masks. More... | |
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::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 | ||
) |
Run topo with externally created topo rasters.
[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. |
void isce3::cuda::geometry::Topo::topo | ( | isce3::io::Raster & | demRaster, |
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 | ||
) |
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. |
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 |