isce3 0.25.0
Loading...
Searching...
No Matches
boundingbox.h
1#pragma once
2
3#include <isce3/core/LUT2d.h>
4
5//isce3::product
6#include <isce3/product/RadarGridParameters.h>
7#include <isce3/product/GeoGridParameters.h>
8//isce3::geometry
9#include "Shapes.h"
10#include "DEMInterpolator.h"
11#include "detail/Geo2Rdr.h"
12#include "detail/Rdr2Geo.h"
13
14//Declaration
15namespace isce3{ namespace geometry{
16
17/* Light container defining the indices of a radar grid bounding box */
19 int firstAzimuthLine;
20 int lastAzimuthLine;
21 int firstRangeSample;
22 int lastRangeSample;
23};
24
54 const isce3::core::Orbit& orbit,
56 const isce3::core::LUT2d<double>& doppler = {},
57 const DEMInterpolator& demInterp = DEMInterpolator(0.),
58 const int pointsPerEdge = 11,
59 const double threshold = detail::DEFAULT_TOL_HEIGHT);
60
61
79 const isce3::core::Orbit& orbit,
81 const isce3::core::LUT2d<double>& doppler = {},
82 const std::vector<double>& hgts = {isce3::core::GLOBAL_MIN_HEIGHT,
83 isce3::core::GLOBAL_MAX_HEIGHT},
84 const double margin = 0.0, const int pointsPerEdge = 11,
85 const double threshold = detail::DEFAULT_TOL_HEIGHT,
86 bool ignore_out_of_range_exception = false);
87
107 const isce3::product::RadarGridParameters& radarGrid,
108 const isce3::core::Orbit& orbit,
109 const isce3::core::ProjectionBase* proj,
110 const isce3::core::LUT2d<double>& doppler = {},
111 double min_height = isce3::core::GLOBAL_MIN_HEIGHT,
112 double max_height = isce3::core::GLOBAL_MAX_HEIGHT,
113 const double margin = 0.0, const int pointsPerEdge = 11,
114 const double threshold = detail::DEFAULT_TOL_HEIGHT,
115 const double height_threshold = 100);
116
153 const isce3::product::GeoGridParameters& geoGrid,
154 const isce3::product::RadarGridParameters& radarGrid,
155 const isce3::core::Orbit& orbit,
156 const float min_height = isce3::core::GLOBAL_MIN_HEIGHT,
157 const float max_height = isce3::core::GLOBAL_MAX_HEIGHT,
158 const isce3::core::LUT2d<double>& doppler = {},
159 const int margin = 50,
160 const isce3::geometry::detail::Geo2RdrParams& g2r_params = {},
161 const int geogrid_expansion_threshold = 100);
162
199 const isce3::product::GeoGridParameters& geoGrid,
200 const isce3::product::RadarGridParameters& radarGrid,
201 const isce3::core::Orbit& orbit,
202 isce3::geometry::DEMInterpolator& dem_interp,
203 const isce3::core::LUT2d<double>& doppler = {},
204 const int margin = 50,
205 const isce3::geometry::detail::Geo2RdrParams& g2r_params = {},
206 const int geogrid_expansion_threshold = 100);
207
208}} // namespace isce3::geometry
Definition DEMInterpolator.h:25
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
Abstract base class for individual projections.
Definition Projections.h:21
Definition RadarGridParameters.h:16
The isce3::geometry namespace.
Definition boundingbox.h:15
OGRLinearRing Perimeter
Same as GDAL's OGRLinearRing structure.
Definition Shapes.h:13
BoundingBox getGeoBoundingBoxHeightSearch(const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::ProjectionBase *proj, const isce3::core::LUT2d< double > &doppler={}, double min_height=isce3::core::GLOBAL_MIN_HEIGHT, double max_height=isce3::core::GLOBAL_MAX_HEIGHT, const double margin=0.0, const int pointsPerEdge=11, const double threshold=detail::DEFAULT_TOL_HEIGHT, const double height_threshold=100)
Compute bounding box with auto search within given min/ max height interval.
Definition boundingbox.cpp:315
Perimeter getGeoPerimeter(const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::ProjectionBase *proj, const isce3::core::LUT2d< double > &doppler={}, const DEMInterpolator &demInterp=DEMInterpolator(0.), const int pointsPerEdge=11, const double threshold=detail::DEFAULT_TOL_HEIGHT)
Compute the perimeter of a radar grid in map coordinates.
Definition boundingbox.cpp:35
BoundingBox getGeoBoundingBox(const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const isce3::core::ProjectionBase *proj, const isce3::core::LUT2d< double > &doppler={}, const std::vector< double > &hgts={isce3::core::GLOBAL_MIN_HEIGHT, isce3::core::GLOBAL_MAX_HEIGHT}, const double margin=0.0, const int pointsPerEdge=11, const double threshold=detail::DEFAULT_TOL_HEIGHT, bool ignore_out_of_range_exception=false)
Compute bounding box using min/ max altitude for quick estimates.
Definition boundingbox.cpp:178
RadarGridBoundingBox getRadarBoundingBox(const isce3::product::GeoGridParameters &geoGrid, const isce3::product::RadarGridParameters &radarGrid, const isce3::core::Orbit &orbit, const float min_height=isce3::core::GLOBAL_MIN_HEIGHT, const float max_height=isce3::core::GLOBAL_MAX_HEIGHT, const isce3::core::LUT2d< double > &doppler={}, const int margin=50, const isce3::geometry::detail::Geo2RdrParams &g2r_params={}, const int geogrid_expansion_threshold=100)
Compute bounding box of a geocoded grid within radar grid.
Definition boundingbox.cpp:434
OGREnvelope BoundingBox
Same as GDAL's OGREnvelope structure.
Definition Shapes.h:16
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5
Definition boundingbox.h:18

Generated for ISCE3.0 by doxygen 1.13.2.