12#include <isce3/core/EMatrix.h>
13#include <isce3/core/Linspace.h>
18namespace isce3 {
namespace antenna {
21using RowMatrixXcf = isce3::core::EMatrix2D<std::complex<float>>;
22using Linspace_t = isce3::core::Linspace<double>;
24using tuple_ant = std::tuple<Eigen::ArrayXcd, Eigen::ArrayXcd, Eigen::ArrayXd>;
26using tuple_echo = std::tuple<Eigen::ArrayXd, Eigen::ArrayXd, detail::ArrayXui>;
38Eigen::ArrayXcd linearInterpComplex1d(
39 const Eigen::Ref<const Eigen::ArrayXd>& x0,
const Linspace_t& x,
40 const Eigen::Ref<const Eigen::ArrayXcd>& y);
71tuple_ant genAntennaPairCoefs(
72 const Eigen::Ref<const Eigen::ArrayXcd>& el_cut_left,
73 const Eigen::Ref<const Eigen::ArrayXcd>& el_cut_right,
74 double el_ang_start,
double el_ang_step,
75 std::optional<double> el_res_max = {});
91std::tuple<double, Eigen::Index, double, Eigen::ArrayXd> locateAntennaNull(
92 const Eigen::Ref<const Eigen::ArrayXcd>& coef_left,
93 const Eigen::Ref<const Eigen::ArrayXcd>& coef_right,
94 const Eigen::Ref<const Eigen::ArrayXd>& el_ang_vec);
118tuple_echo formEchoNull(
const std::vector<std::complex<float>>& chirp_ref,
119 const Eigen::Ref<const RowMatrixXcf>& echo_left,
120 const Eigen::Ref<const RowMatrixXcf>& echo_right,
double sr_start,
121 double sr_spacing,
const Eigen::Ref<const Eigen::ArrayXcd>& coef_left,
122 const Eigen::Ref<const Eigen::ArrayXcd>& coef_right,
123 const Eigen::Ref<const Eigen::ArrayXd>& sr_coef);
Functions for binary search of sorted Eigen Arrays.
base interpolator is an abstract base class
Definition BinarySearchFunc.cpp:5