isce3 0.25.0
Loading...
Searching...
No Matches
geocodeSlc.h
1#pragma once
2#include <cstddef>
3#include <vector>
4#include <optional>
5#include <isce3/core/EMatrix.h>
6#include <isce3/core/forward.h>
7#include <isce3/core/LUT2d.h>
8#include <isce3/core/Poly2d.h>
9#include <isce3/io/forward.h>
10#include <isce3/product/forward.h>
11
12namespace isce3 { namespace geocode {
13
14typedef Eigen::Ref<isce3::core::EArray2D<std::complex<float>>> EArray2dc64;
15typedef Eigen::Ref<isce3::core::EArray2D<double>> EArray2df64;
16typedef Eigen::Ref<isce3::core::EArray2D<unsigned char>> EArray2duc8;
17
46template<typename AzRgFunc = isce3::core::Poly2d>
47void geocodeSlc(isce3::io::Raster& outputRaster, isce3::io::Raster& inputRaster,
48 isce3::io::Raster& demRaster,
49 const isce3::product::RadarGridParameters& radarGrid,
50 const isce3::product::GeoGridParameters& geoGrid,
51 const isce3::core::Orbit& orbit,
52 const isce3::core::LUT2d<double>& nativeDoppler,
53 const isce3::core::LUT2d<double>& imageGridDoppler,
54 const isce3::core::Ellipsoid& ellipsoid,
55 const double& thresholdGeo2rdr, const int& numiterGeo2rdr,
56 const size_t& linesPerBlock,
57 const bool flatten = true,
58 const bool reramp = true,
59 const AzRgFunc& azCarrier = AzRgFunc(),
60 const AzRgFunc& rgCarrier = AzRgFunc(),
61 const isce3::core::LUT2d<double>& azTimeCorrection = {},
62 const isce3::core::LUT2d<double>& sRangeCorrection = {},
63 const bool flattenWithCorrectedSRng = false,
64 const std::complex<float> invalidValue =
65 std::complex<float>(std::numeric_limits<float>::quiet_NaN(),
66 std::numeric_limits<float>::quiet_NaN()),
67 isce3::io::Raster* carrierPhaseRaster = nullptr,
68 isce3::io::Raster* flattenPhaseRaster = nullptr);
69
99template<typename AzRgFunc = isce3::core::Poly2d>
100void geocodeSlc(isce3::io::Raster& outputRaster, isce3::io::Raster& inputRaster,
101 isce3::io::Raster& demRaster,
102 const isce3::product::RadarGridParameters& radarGrid,
103 const isce3::product::RadarGridParameters& slicedRadarGrid,
104 const isce3::product::GeoGridParameters& geoGrid,
105 const isce3::core::Orbit& orbit,
106 const isce3::core::LUT2d<double>& nativeDoppler,
107 const isce3::core::LUT2d<double>& imageGridDoppler,
108 const isce3::core::Ellipsoid& ellipsoid,
109 const double& thresholdGeo2rdr, const int& numiterGeo2rdr,
110 const size_t& linesPerBlock,
111 const bool flatten = true,
112 const bool reramp = true,
113 const AzRgFunc& azCarrier = AzRgFunc(),
114 const AzRgFunc& rgCarrier = AzRgFunc(),
115 const isce3::core::LUT2d<double>& azTimeCorrection = {},
116 const isce3::core::LUT2d<double>& sRangeCorrection = {},
117 const bool flattenWithCorrectedSRng = false,
118 const std::complex<float> invalidValue =
119 std::complex<float>(std::numeric_limits<float>::quiet_NaN(),
120 std::numeric_limits<float>::quiet_NaN()),
121 isce3::io::Raster* carrierPhaseRaster = nullptr,
122 isce3::io::Raster* flattenPhaseRaster = nullptr);
123
124
167template<typename AzRgFunc = isce3::core::Poly2d>
168void geocodeSlc(
169 std::vector<EArray2dc64>& geoDataBlocks,
170 EArray2df64 carrierPhaseBlock,
171 EArray2df64 flattenPhaseBlock,
172 const std::vector<EArray2dc64>& rdrDataBlocks,
173 isce3::io::Raster& demRaster,
174 const isce3::product::RadarGridParameters& radarGrid,
175 const isce3::product::RadarGridParameters& slicedRadarGrid,
176 const isce3::product::GeoGridParameters& geoGrid,
177 const isce3::core::Orbit& orbit,
178 const isce3::core::LUT2d<double>& nativeDoppler,
179 const isce3::core::LUT2d<double>& imageGridDoppler,
180 const isce3::core::Ellipsoid& ellipsoid,
181 const double& thresholdGeo2rdr, const int& numiterGeo2rdr,
182 std::optional<isce3::geocode::EArray2duc8> maskBlock = std::nullopt,
183 const size_t& azimuthFirstLine = 0,
184 const size_t& rangeFirstPixel = 0,
185 const bool flatten = true,
186 const bool reramp = true,
187 const AzRgFunc& azCarrier = AzRgFunc(),
188 const AzRgFunc& rgCarrier = AzRgFunc(),
189 const isce3::core::LUT2d<double>& azTimeCorrection = {},
190 const isce3::core::LUT2d<double>& sRangeCorrection = {},
191 const bool flattenWithCorrectedSRng = false,
192 const std::complex<float> invalidValue =
193 std::complex<float>(std::numeric_limits<float>::quiet_NaN(),
194 std::numeric_limits<float>::quiet_NaN()),
195 const isce3::product::SubSwaths* subswaths = nullptr);
196
197}} // namespace isce3::geocode
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5

Generated for ISCE3.0 by doxygen 1.13.2.