2#include <isce3/core/forward.h>
3#include <isce3/io/forward.h>
7#include <pyre/journal.h>
9#include <isce3/core/Common.h>
10#include <isce3/core/Constants.h>
11#include <isce3/geometry/detail/Rdr2Geo.h>
13#include "RadarGridParameters.h"
21class GeoGridParameters {
23 GeoGridParameters() =
default;
37 GeoGridParameters(
double geoGridStartX,
double geoGridStartY,
38 double geoGridSpacingX,
double geoGridSpacingY,
74 CUDA_HOSTDEV
constexpr double endX()
const {
79 CUDA_HOSTDEV
constexpr double endY()
const {
96 CUDA_HOSTDEV
constexpr int epsg()
const {
return _epsg; };
143 double spacing_y,
int epsg,
144 double min_height = isce3::core::GLOBAL_MIN_HEIGHT,
145 double max_height = isce3::core::GLOBAL_MAX_HEIGHT,
146 const double margin = 0.0,
const int points_per_edge = 11,
147 const double threshold = isce3::geometry::detail::DEFAULT_TOL_HEIGHT,
148 const double height_threshold = 100);
171 double spacing_scale = 1.0,
172 double min_height = isce3::core::GLOBAL_MIN_HEIGHT,
173 double max_height = isce3::core::GLOBAL_MAX_HEIGHT,
174 const double margin = 0.0,
const int points_per_edge = 11,
175 const double threshold = isce3::geometry::detail::DEFAULT_TOL_HEIGHT,
176 const double height_threshold = 100);
Data structure to store 2D Lookup table.
Definition LUT2d.h:20
Sequence of platform ephemeris samples (state vectors) with uniform temporal spacing,...
Definition Orbit.h:44
Data structure meant to handle Raster I/O operations.
Definition Raster.h:32
Definition GeoGridParameters.h:21
double _spacingX
X spacing for the geocoded grid.
Definition GeoGridParameters.h:107
CUDA_HOSTDEV constexpr int epsg() const
Get epsg code for geocoded grid.
Definition GeoGridParameters.h:96
void print() const
Print GeoGridParameters attributes.
Definition GeoGridParameters.cpp:64
void startX(double x0)
Set start x position for geocoded grid.
Definition GeoGridParameters.h:47
CUDA_HOSTDEV constexpr double endY() const
Get end y position for geocoded grid.
Definition GeoGridParameters.h:79
int _length
number of lines in north-south direction (Y direction)
Definition GeoGridParameters.h:116
CUDA_HOSTDEV constexpr double spacingY() const
Get y spacing for geocoded grid.
Definition GeoGridParameters.h:87
void spacingY(double dy)
Set y spacing for geocoded grid.
Definition GeoGridParameters.h:56
CUDA_HOSTDEV constexpr double startX() const
Get start x position for geocoded grid.
Definition GeoGridParameters.h:68
void epsg(int e)
Set epsg code for geocoded grid.
Definition GeoGridParameters.h:65
double _startX
start X position for the geocoded grid
Definition GeoGridParameters.h:101
int _epsg
epsg code for the output geocoded grid
Definition GeoGridParameters.h:119
CUDA_HOSTDEV constexpr double spacingX() const
Get x spacing for geocoded grid.
Definition GeoGridParameters.h:84
double _spacingY
Y spacing for the geocoded grid.
Definition GeoGridParameters.h:110
CUDA_HOSTDEV constexpr double startY() const
Get start y position for geocoded grid.
Definition GeoGridParameters.h:71
CUDA_HOSTDEV constexpr int length() const
Get number of pixels in north-south/y direction for geocoded grid.
Definition GeoGridParameters.h:93
CUDA_HOSTDEV constexpr double endX() const
Get end x position for geocoded grid.
Definition GeoGridParameters.h:74
void length(int l)
Set number of pixels in east-west/x direction for geocoded grid.
Definition GeoGridParameters.h:59
void width(int w)
Set number of pixels in north-south/y direction for geocoded grid.
Definition GeoGridParameters.h:62
double _startY
start Y position for the geocoded grid
Definition GeoGridParameters.h:104
int _width
number of pixels in east-west direction (X direction)
Definition GeoGridParameters.h:113
CUDA_HOSTDEV constexpr int width() const
Get number of pixels in east-west/x direction for geocoded grid.
Definition GeoGridParameters.h:90
void startY(double y0)
Set start y position for geocoded grid.
Definition GeoGridParameters.h:50
void spacingX(double dx)
Set x spacing for geocoded grid.
Definition GeoGridParameters.h:53
Definition RadarGridParameters.h:16
The isce3::product namespace.
Definition forward.h:3
GeoGridParameters bbox2GeoGridScaled(const RadarGridParameters &radar_grid, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, const isce3::io::Raster &dem_raster, double spacing_scale, double min_height, double max_height, const double margin, const int pointsPerEdge, const double threshold, const double height_threshold)
Function to create a GeoGridParameters object by using DEM spacing and EPSG, and by estimating the bo...
Definition GeoGridParameters.cpp:123
GeoGridParameters bbox2GeoGrid(const RadarGridParameters &radar_grid, const isce3::core::Orbit &orbit, const isce3::core::LUT2d< double > &doppler, double spacing_x, double spacing_y, int epsg, double min_height, double max_height, const double margin, const int pointsPerEdge, const double threshold, const double height_threshold)
Function to create a GeoGridParameters object by using DEM spacing and EPSG, and by estimating the bo...
Definition GeoGridParameters.cpp:84
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5