isce3 0.25.0
Loading...
Searching...
No Matches
isce3::geometry::Geo2rdr Class Reference

Transformer from map coordinates to radar geometry coordinates. More...

#include <Geo2rdr.h>

Inheritance diagram for isce3::geometry::Geo2rdr:
isce3::cuda::geometry::Geo2rdr

Public Member Functions

 Geo2rdr (const isce3::product::RadarGridProduct &, char frequency='A', bool nativeDoppler=false)
 Constructor from product.
 
 Geo2rdr (const isce3::core::Ellipsoid &, const isce3::core::Orbit &, const isce3::core::LUT2d< double > &, const isce3::core::Metadata &)
 Constructor from core objects.
 
 Geo2rdr (const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::Ellipsoid &ellipsoid, const isce3::core::LUT2d< double > &doppler={})
 Constructor from core objects.
 
void threshold (double t)
 Set convergence threshold.
 
void numiter (int n)
 Set number of Newton-Raphson iterations.
 
void linesPerBlock (size_t linesPerBlock)
 Set lines to be processed per block.
 
void geo2rdr (isce3::io::Raster &topoRaster, isce3::io::Raster &rgoffRaster, isce3::io::Raster &azoffRaster, double azshift=0.0, double rgshift=0.0)
 Run geo2rdr with offsets and externally created offset rasters.
 
void geo2rdr (isce3::io::Raster &topoRaster, const std::string &outdir, double azshift=0.0, double rgshift=0.0)
 Run geo2rdr with constant offsets and internally created offset rasters.
 
const isce3::core::Orbitorbit () const
 Get Orbit object used for processing.
 
const isce3::core::Ellipsoidellipsoid () const
 Get Ellipsoid object used for processing.
 
const isce3::core::LUT2d< double > & doppler () const
 Get Doppler model used for processing.
 
const isce3::product::RadarGridParametersradarGridParameters () const
 Get read-only reference to RadarGridParameters.
 
double threshold () const
 Return the azimuth time convergence threshold used for processing.
 
int numiter () const
 Return number of Newton-Raphson iterations used for processing.
 
size_t linesPerBlock () const
 Get linesPerBlock.
 

Public Attributes

const double NULL_VALUE = -1000000.0
 NoData Value.
 

Detailed Description

Transformer from map coordinates to radar geometry coordinates.

See geometry overview for description of the algorithm.

Constructor & Destructor Documentation

◆ Geo2rdr() [1/3]

isce3::geometry::Geo2rdr::Geo2rdr ( const isce3::product::RadarGridProduct & product,
char frequency = 'A',
bool nativeDoppler = false )
inline

Constructor from product.

Parameters
[in]productInput Product
[in]frequencyFrequency designation
[in]nativeDopplerFlag for using native Doppler frequencies instead of zero-Doppler

◆ Geo2rdr() [2/3]

isce3::geometry::Geo2rdr::Geo2rdr ( const isce3::core::Ellipsoid & ellipsoid,
const isce3::core::Orbit & orbit,
const isce3::core::LUT2d< double > & doppler,
const isce3::core::Metadata & meta )
inline

Constructor from core objects.

Parameters
[in]ellipsoidEllipsoid object
[in]orbitOrbit object
[in]dopplerLUT1d doppler model
[in]metaMetadata object

◆ Geo2rdr() [3/3]

isce3::geometry::Geo2rdr::Geo2rdr ( const isce3::product::RadarGridParameters & radarGrid,
const isce3::core::Orbit & orbit,
const isce3::core::Ellipsoid & ellipsoid,
const isce3::core::LUT2d< double > & doppler = {} )
inline

Constructor from core objects.

Parameters
[in]radarGridRadarGridParameters object
[in]orbitOrbit object
[in]ellipsoidEllipsoid object
[in]dopplerLUT2d doppler model

Member Function Documentation

◆ geo2rdr() [1/2]

void isce3::geometry::Geo2rdr::geo2rdr ( isce3::io::Raster & topoRaster,
const std::string & outdir,
double azshift = 0.0,
double rgshift = 0.0 )

Run geo2rdr with constant offsets and internally created offset rasters.

This is the main geo2rdr driver. The pixel-by-pixel output filenames are fixed for now

  • azimuth.off - Azimuth offset to be applied to product to align with topoRaster
  • range.off - Range offset to be applied to product to align with topoRaster

    Parameters
    [in]topoRasteroutputs of topo -i.e, pixel-by-pixel x,y,h as bands
    [in]outdirdirectory to write outputs to
    [in]azshiftNumber of lines to shift by in azimuth
    [in]rgshiftNumber of pixels to shift by in range

◆ geo2rdr() [2/2]

void isce3::geometry::Geo2rdr::geo2rdr ( isce3::io::Raster & topoRaster,
isce3::io::Raster & rgoffRaster,
isce3::io::Raster & azoffRaster,
double azshift = 0.0,
double rgshift = 0.0 )

Run geo2rdr with offsets and externally created offset rasters.

Parameters
[in]topoRasteroutputs of topo - i.e, pixel-by-pixel x,y,h as bands
[in]outdirdirectory to write outputs to
[in]rgoffRasterrange offset output
[in]azoffRasterazimuth offset output
[in]azshiftNumber of lines to shift by in azimuth
[in]rgshiftNumber of pixels to shift by in range

◆ linesPerBlock()

void isce3::geometry::Geo2rdr::linesPerBlock ( size_t linesPerBlock)
inline

Set lines to be processed per block.

Parameters
[in]linesPerBlockLines to be processed per block

◆ numiter()

void isce3::geometry::Geo2rdr::numiter ( int n)
inline

Set number of Newton-Raphson iterations.

Parameters
[in]nMax number of Newton-Raphson iterations

◆ threshold()

void isce3::geometry::Geo2rdr::threshold ( double t)
inline

Set convergence threshold.

Parameters
[in]tAzimuth time convergence threshold in seconds

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

Generated for ISCE3.0 by doxygen 1.13.2.