![]() |
PURIFY
Next-generation radio interferometric imaging
|
#include "purify/types.h"
#include <array>
#include <memory>
#include <random>
#include <boost/filesystem.hpp>
#include <boost/math/special_functions/erf.hpp>
#include "purify/directories.h"
#include "purify/distribute.h"
#include "purify/logging.h"
#include "purify/mpi_utilities.h"
#include "purify/operators.h"
#include "purify/pfitsio.h"
#include "purify/read_measurements.h"
#include "purify/utilities.h"
#include <sopt/imaging_padmm.h>
#include <sopt/mpi/communicator.h>
#include <sopt/mpi/session.h>
#include <sopt/power_method.h>
#include <sopt/relative_variation.h>
#include <sopt/utilities.h>
#include <sopt/wavelets.h>
#include <sopt/wavelets/sara.h>
Go to the source code of this file.
Macros | |
#define | PURIFY_PADMM_ALGORITHM 2 |
Functions | |
std::tuple< utilities::vis_params, t_real > | dirty_visibilities (Image< t_complex > const &ground_truth_image, t_uint number_of_vis, t_real snr, const std::tuple< bool, t_real > &w_term) |
std::tuple< utilities::vis_params, t_real > | dirty_visibilities (Image< t_complex > const &ground_truth_image, t_uint number_of_vis, t_real snr, const std::tuple< bool, t_real > &w_term, sopt::mpi::Communicator const &comm) |
std::shared_ptr< sopt::algorithm::ImagingProximalADMM< t_complex > > | padmm_factory (std::shared_ptr< sopt::LinearTransform< Vector< t_complex >> const > const &measurements, const sopt::wavelets::SARA &sara, const Image< t_complex > &ground_truth_image, const utilities::vis_params &uv_data, const t_real sigma, const sopt::mpi::Communicator &comm) |
int | main (int nargs, char const **args) |
#define PURIFY_PADMM_ALGORITHM 2 |
Definition at line 29 of file padmm_mpi_random_coverage.cc.
std::tuple<utilities::vis_params, t_real> dirty_visibilities | ( | Image< t_complex > const & | ground_truth_image, |
t_uint | number_of_vis, | ||
t_real | snr, | ||
const std::tuple< bool, t_real > & | w_term | ||
) |
Definition at line 34 of file padmm_mpi_random_coverage.cc.
References purify::utilities::add_noise(), purify::measurementoperator::init_degrid_operator_2d(), purify::kernels::kb, purify::constant::pi, PURIFY_HIGH_LOG, purify::utilities::radians, purify::utilities::random_sample_density(), and purify::utilities::SNR_to_standard_deviation().
Referenced by dirty_visibilities(), and main().
std::tuple<utilities::vis_params, t_real> dirty_visibilities | ( | Image< t_complex > const & | ground_truth_image, |
t_uint | number_of_vis, | ||
t_real | snr, | ||
const std::tuple< bool, t_real > & | w_term, | ||
sopt::mpi::Communicator const & | comm | ||
) |
Definition at line 59 of file padmm_mpi_random_coverage.cc.
References dirty_visibilities(), purify::distribute::distribute_measurements(), purify::distribute::radial, purify::utilities::regroup_and_scatter(), and purify::utilities::scatter_visibilities().
int main | ( | int | nargs, |
char const ** | args | ||
) |
Definition at line 154 of file padmm_mpi_random_coverage.cc.
References dirty_visibilities(), purify::image_filename(), purify::measurementoperator::init_degrid_operator_2d(), purify::kernels::kernel_from_string, purify::mkdir_recursive(), purify::output_filename(), padmm(), padmm_factory(), purify::pfitsio::read2d(), purify::logging::set_level(), and purify::pfitsio::write2d().
std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex> > padmm_factory | ( | std::shared_ptr< sopt::LinearTransform< Vector< t_complex >> const > const & | measurements, |
const sopt::wavelets::SARA & | sara, | ||
const Image< t_complex > & | ground_truth_image, | ||
const utilities::vis_params & | uv_data, | ||
const t_real | sigma, | ||
const sopt::mpi::Communicator & | comm | ||
) |
Definition at line 75 of file padmm_mpi_random_coverage.cc.
References purify::utilities::calculate_l2_radius(), padmm(), PURIFY_LOW_LOG, purify::utilities::step_size(), and purify::utilities::vis_params::vis.
Referenced by main().