11 #include <sopt/differentiable_func.h>
12 #include <sopt/non_differentiable_func.h>
17 std::shared_ptr<const sopt::LinearTransform<Eigen::VectorXcd>>
transform;
47 const std::vector<t_int> &image_index,
const std::vector<t_real> &w_stacks,
51 std::unique_ptr<NonDifferentiableFunc<t_complex>> &g, t_real sigma,
52 sopt::LinearTransform<Vector<t_complex>> &Phi);
65 const Vector<t_complex> &measurement_op_eigen_vector);
69 const std::shared_ptr<sopt::LinearTransform<Vector<t_complex>>> &measurements_transform,
71 const t_real beam_units);
75 const std::shared_ptr<sopt::LinearTransform<Vector<t_complex>>> &measurements_transform,
distributed_wavelet_operator
distributed_measurement_operator
determine type of distribute for mpi measurement operator
void saveMeasurementEigenVector(const YamlParser ¶ms, const Vector< t_complex > &measurement_op_eigen_vector)
void saveDirtyImage(const YamlParser ¶ms, const pfitsio::header_params &def_header, const std::shared_ptr< sopt::LinearTransform< Vector< t_complex >>> &measurements_transform, const utilities::vis_params &uv_data, const t_real beam_units)
void savePSF(const YamlParser ¶ms, const pfitsio::header_params &def_header, const std::shared_ptr< sopt::LinearTransform< Vector< t_complex >>> &measurements_transform, const utilities::vis_params &uv_data, const t_real flux_scale, const t_real sigma, const t_real beam_units)
std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > > createMeasurementOperator(const YamlParser ¶ms, const factory::distributed_measurement_operator mop_algo, const factory::distributed_wavelet_operator wop_algo, const bool using_mpi, const std::vector< t_int > &image_index, const std::vector< t_real > &w_stacks, const utilities::vis_params &uv_data, Vector< t_complex > &measurement_op_eigen_vector)
waveletInfo createWaveletOperator(YamlParser ¶ms, const factory::distributed_wavelet_operator &wop_algo)
OperatorsInfo selectOperators(YamlParser ¶ms)
void initOutDirectoryWithConfig(YamlParser ¶ms)
Headers genHeaders(const YamlParser ¶ms, const utilities::vis_params &uv_data)
inputData getInputData(const YamlParser ¶ms, const factory::distributed_measurement_operator mop_algo, const factory::distributed_wavelet_operator wop_algo, const bool using_mpi)
void setupCostFunctions(const YamlParser ¶ms, std::unique_ptr< DifferentiableFunc< t_complex >> &f, std::unique_ptr< NonDifferentiableFunc< t_complex >> &g, t_real sigma, sopt::LinearTransform< Vector< t_complex >> &Phi)
factory::distributed_wavelet_operator wop_algo
factory::distributed_measurement_operator mop_algo
std::shared_ptr< const sopt::LinearTransform< Eigen::VectorXcd > > transform