isce3  0.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions | List of all members
isce3::geometry::Geocode< T > Class Template Reference

Public Member Functions

void geocode (const isce3::product::RadarGridParameters &radar_grid, isce3::io::Raster &input_raster, isce3::io::Raster &output_raster, isce3::io::Raster &dem_raster, isce3::geometry::geocodeOutputMode output_mode=isce3::geometry::geocodeOutputMode::INTERP, double geogrid_upsampling=1, isce3::geometry::rtcInputRadiometry input_radiometry=isce3::geometry::rtcInputRadiometry::BETA_NAUGHT, int exponent=0, float rtc_min_value_db=std::numeric_limits< float >::quiet_NaN(), double rtc_geogrid_upsampling=std::numeric_limits< double >::quiet_NaN(), rtcAlgorithm rtc_algorithm=rtcAlgorithm::RTC_AREA_PROJECTION, double abs_cal_factor=1, float clip_min=std::numeric_limits< float >::quiet_NaN(), float clip_max=std::numeric_limits< float >::quiet_NaN(), float min_nlooks=std::numeric_limits< float >::quiet_NaN(), float radar_grid_nlooks=1, isce3::io::Raster *out_geo_vertices=nullptr, isce3::io::Raster *out_dem_vertices=nullptr, isce3::io::Raster *out_geo_nlooks=nullptr, isce3::io::Raster *out_geo_rtc=nullptr, isce3::io::Raster *input_rtc=nullptr, isce3::io::Raster *output_rtc=nullptr, geocodeMemoryMode geocode_memory_mode=geocodeMemoryMode::AUTO, isce3::core::dataInterpMethod interp_method=isce3::core::dataInterpMethod::BIQUINTIC_METHOD)
 Geocode data from slant-range to map coordinates. More...
 
template<class T_out >
void geocodeInterp (const isce3::product::RadarGridParameters &radar_grid, isce3::io::Raster &input_raster, isce3::io::Raster &output_raster, isce3::io::Raster &demRaster)
 Geocode using the interpolation algorithm. More...
 
template<class T_out >
void geocodeAreaProj (const isce3::product::RadarGridParameters &radar_grid, isce3::io::Raster &input_raster, isce3::io::Raster &output_raster, isce3::io::Raster &dem_raster, isce3::geometry::geocodeOutputMode output_mode=isce3::geometry::geocodeOutputMode::AREA_PROJECTION, double geogrid_upsampling=1, isce3::geometry::rtcInputRadiometry input_radiometry=isce3::geometry::rtcInputRadiometry::BETA_NAUGHT, float rtc_min_value_db=std::numeric_limits< float >::quiet_NaN(), double rtc_geogrid_upsampling=std::numeric_limits< double >::quiet_NaN(), rtcAlgorithm rtc_algorithm=rtcAlgorithm::RTC_AREA_PROJECTION, double abs_cal_factor=1, float clip_min=std::numeric_limits< float >::quiet_NaN(), float clip_max=std::numeric_limits< float >::quiet_NaN(), float min_nlooks=std::numeric_limits< float >::quiet_NaN(), float radar_grid_nlooks=1, isce3::io::Raster *out_geo_vertices=nullptr, isce3::io::Raster *out_dem_vertices=nullptr, isce3::io::Raster *out_geo_nlooks=nullptr, isce3::io::Raster *out_geo_rtc=nullptr, isce3::io::Raster *input_rtc=nullptr, isce3::io::Raster *output_rtc=nullptr, geocodeMemoryMode geocode_memory_mode=geocodeMemoryMode::AUTO, isce3::core::dataInterpMethod interp_method=isce3::core::dataInterpMethod::BIQUINTIC_METHOD)
 Geocode using the area projection algorithm (adaptive multilooking) More...
 
void geoGrid (double geoGridStartX, double geoGridStartY, double geoGridSpacingX, double geoGridSpacingY, int width, int length, int epsgcode)
 Set the output geogrid. More...
 
void updateGeoGrid (const isce3::product::RadarGridParameters &radar_grid, isce3::io::Raster &dem_raster)
 Update the output geogrid with radar grid and DEM attributes. More...
 
void interpolator (isce3::core::dataInterpMethod method)
 
void doppler (isce3::core::LUT2d< double > doppler)
 
void orbit (isce3::core::Orbit &orbit)
 
void ellipsoid (isce3::core::Ellipsoid &ellipsoid)
 
void thresholdGeo2rdr (double threshold)
 
void numiterGeo2rdr (int numiter)
 
void linesPerBlock (size_t linesPerBlock)
 
void demBlockMargin (double demBlockMargin)
 
void radarBlockMargin (int radarBlockMargin)
 
double geoGridStartX () const
 
double geoGridStartY () const
 
double geoGridSpacingX () const
 
double geoGridSpacingY () const
 
int geoGridWidth () const
 
int geoGridLength () const
 

Member Function Documentation

template<class T >
void isce3::geometry::Geocode< T >::geocode ( const isce3::product::RadarGridParameters radar_grid,
isce3::io::Raster input_raster,
isce3::io::Raster output_raster,
isce3::io::Raster dem_raster,
isce3::geometry::geocodeOutputMode  output_mode = isce3::geometry::geocodeOutputMode::INTERP,
double  geogrid_upsampling = 1,
isce3::geometry::rtcInputRadiometry  input_radiometry = isce3::geometry::rtcInputRadiometry::BETA_NAUGHT,
int  exponent = 0,
float  rtc_min_value_db = std::numeric_limits<float>::quiet_NaN(),
double  rtc_geogrid_upsampling = std::numeric_limits<double>::quiet_NaN(),
rtcAlgorithm  rtc_algorithm = rtcAlgorithm::RTC_AREA_PROJECTION,
double  abs_cal_factor = 1,
float  clip_min = std::numeric_limits<float>::quiet_NaN(),
float  clip_max = std::numeric_limits<float>::quiet_NaN(),
float  min_nlooks = std::numeric_limits<float>::quiet_NaN(),
float  radar_grid_nlooks = 1,
isce3::io::Raster out_geo_vertices = nullptr,
isce3::io::Raster out_dem_vertices = nullptr,
isce3::io::Raster out_geo_nlooks = nullptr,
isce3::io::Raster out_geo_rtc = nullptr,
isce3::io::Raster input_rtc = nullptr,
isce3::io::Raster output_rtc = nullptr,
geocodeMemoryMode  geocode_memory_mode = geocodeMemoryMode::AUTO,
isce3::core::dataInterpMethod  interp_method = isce3::core::dataInterpMethod::BIQUINTIC_METHOD 
)

Geocode data from slant-range to map coordinates.

Parameters
[in]radar_gridRadar grid
[in]input_rasterInput raster
[out]output_rasterOutput raster
[in]dem_rasterInput DEM raster
[in]output_modeGeocode method
[in]geogrid_upsamplingGeogrid upsampling (in each direction)
[in]input_radiometryTerrain radiometry of the input raster
[in]exponentExponent to be applied to the input data. The value 0 indicates that the the exponent is based on the data type of the input raster (1 for real and 2 for complex rasters).
[in]rtc_min_value_dbMinimum value for the RTC area factor. Radar data with RTC area factor below this limit are ignored.
[in]rtc_geogrid_upsamplingGeogrid upsampling (in each direction) used to compute the radiometric terrain correction RTC.
[in]rtc_algorithmRTC algorithm (RTC_DAVID_SMALL or RTC_AREA_PROJECTION)
[in]abs_cal_factorAbsolute calibration factor.
[in]clip_minClip (limit) minimum output values
[in]clip_maxClip (limit) maximum output values
[in]min_nlooksMinimum number of looks. Geogrid data below this limit will be set to NaN
[in]radar_grid_nlooksRadar grid number of looks. This parameters determines the multilooking factor used to compute out_geo_nlooks.
[out]out_geo_verticesRaster to which the radar-grid positions (range and azimuth) of the geogrid pixels vertices will be saved.
[out]out_dem_verticesRaster to which the interpolated DEM will be saved.
[out]out_nlooksRaster to which the number of radar-grid looks associated with the geogrid will be saved.
[out]out_geo_rtcOutput RTC area factor (in geo-coordinates).
[in]in_rtcInput RTC area factor (in slant-range).
[out]out_rtcOutput RTC area factor (in slant-range).
[in]geocode_memory_modeSelect memory mode
[in]interp_methodData interpolation method
template<class T >
template<class T_out >
void isce3::geometry::Geocode< T >::geocodeAreaProj ( const isce3::product::RadarGridParameters radar_grid,
isce3::io::Raster input_raster,
isce3::io::Raster output_raster,
isce3::io::Raster dem_raster,
isce3::geometry::geocodeOutputMode  output_mode = isce3::geometry::geocodeOutputMode::AREA_PROJECTION,
double  geogrid_upsampling = 1,
isce3::geometry::rtcInputRadiometry  input_radiometry = isce3::geometry::rtcInputRadiometry::BETA_NAUGHT,
float  rtc_min_value_db = std::numeric_limits<float>::quiet_NaN(),
double  rtc_geogrid_upsampling = std::numeric_limits<double>::quiet_NaN(),
rtcAlgorithm  rtc_algorithm = rtcAlgorithm::RTC_AREA_PROJECTION,
double  abs_cal_factor = 1,
float  clip_min = std::numeric_limits<float>::quiet_NaN(),
float  clip_max = std::numeric_limits<float>::quiet_NaN(),
float  min_nlooks = std::numeric_limits<float>::quiet_NaN(),
float  radar_grid_nlooks = 1,
isce3::io::Raster out_geo_vertices = nullptr,
isce3::io::Raster out_dem_vertices = nullptr,
isce3::io::Raster out_geo_nlooks = nullptr,
isce3::io::Raster out_geo_rtc = nullptr,
isce3::io::Raster input_rtc = nullptr,
isce3::io::Raster output_rtc = nullptr,
geocodeMemoryMode  geocode_memory_mode = geocodeMemoryMode::AUTO,
isce3::core::dataInterpMethod  interp_method = isce3::core::dataInterpMethod::BIQUINTIC_METHOD 
)

Geocode using the area projection algorithm (adaptive multilooking)

Parameters
[in]radar_gridRadar grid
[in]input_rasterInput raster
[out]output_rasterOutput raster
[in]dem_rasterInput DEM raster
[in]output_modeOutput mode
[in]geogrid_upsamplingGeogrid upsampling (in each direction)
[in]input_radiometryTerrain radiometry of the input raster
[in]rtc_min_value_dbMinimum value for the RTC area factor. Radar data with RTC area factor below this limit are ignored.
[in]rtc_geogrid_upsamplingGeogrid upsampling (in each direction) used to compute the radiometric terrain correction RTC.
[in]rtc_algorithmRTC algorithm (RTC_DAVID_SMALL or RTC_AREA_PROJECTION)
[in]abs_cal_factorAbsolute calibration factor.
[in]clip_minClip (limit) minimum output values
[in]clip_maxClip (limit) maximum output values
[in]min_nlooksMinimum number of looks. Geogrid data below this limit will be set to NaN
[in]radar_grid_nlooksRadar grid number of looks. This parameters determines the multilooking factor used to compute out_nlooks.
[out]out_geo_verticesRaster to which the radar-grid positions (range and azimuth) of the geogrid pixels vertices will be saved.
[out]out_dem_verticesRaster to which the interpolated DEM will be saved.
[out]out_geo_nlooksRaster to which the number of radar-grid looks associated with the geogrid will be saved.
[out]out_geo_rtcOutput RTC area factor (in geo-coordinates).
[in]in_rtcInput RTC area factor (in slant-range).
[out]out_rtcOutput RTC area factor (in slant-range).
[in]interp_methodData interpolation method
[in]geocode_memory_modeSelect memory mode
template<class T >
template<class T_out >
void isce3::geometry::Geocode< T >::geocodeInterp ( const isce3::product::RadarGridParameters radar_grid,
isce3::io::Raster input_raster,
isce3::io::Raster output_raster,
isce3::io::Raster demRaster 
)

Geocode using the interpolation algorithm.

Parameters
[in]radar_gridRadar grid
[in]input_rasterInput raster
[out]output_rasterOutput raster
[in]dem_rasterInput DEM raster
template<class T >
void isce3::geometry::Geocode< T >::geoGrid ( double  geoGridStartX,
double  geoGridStartY,
double  geoGridSpacingX,
double  geoGridSpacingY,
int  width,
int  length,
int  epsgcode 
)

Set the output geogrid.

Parameters
[in]geoGridStartYStarting lat/northing position
[in]geoGridSpacingYLat/northing step size
[in]geoGridStartXStarting lon/easting position
[in]geoGridSpacingXLon/easting step size
[in]geogrid_widthGeographic width (number of pixels) in the lon/easting direction
[in]geogrid_lengthGeographic length (number of pixels) in the lat/northing direction
[in]epsgcodeOutput geographic grid EPSG
template<class T >
void isce3::geometry::Geocode< T >::updateGeoGrid ( const isce3::product::RadarGridParameters radar_grid,
isce3::io::Raster dem_raster 
)

Update the output geogrid with radar grid and DEM attributes.

Parameters
[in]radar_gridRadar grid
[in]dem_rasterInput DEM raster

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

Generated for ISCE3.0 by doxygen 1.8.5.