18 auto const comm = sopt::mpi::Communicator::World();
29 false, stokes::I, utilities::vis_units::radians);
31 CHECK(comm.all_sum_all(
vis.size()) == 245886);
32 CHECK(
vis.units == utilities::vis_units::radians);
38 std::vector<std::string>{filename +
".uvfits", filename +
".uvfits"}, comm);
40 CHECK(comm.all_sum_all(
uvfits.size()) == 245886 * 2);
44 std::vector<std::string>{filename +
".vis", filename +
".vis"}, comm);
46 CHECK(comm.all_sum_all(
vis.size()) == 245886 * 2);
47 CHECK(
vis.units == utilities::vis_units::lambda);
52 #ifdef PURIFY_CASACORE
55 CHECK(comm.all_sum_all(
ms.size()) == 245994);
59 #ifdef PURIFY_CASACORE
61 std::vector<std::string>{filename +
".ms", filename +
".ms"}, comm);
63 CHECK(comm.all_sum_all(
ms.size()) == 245994 * 2);
72 const std::vector<double>
u = f.read(
"u");
75 CHECK(comm.all_sum_all(
u.size()) == 245886 * comm.size());
80 const std::vector<double>
u = f.distread(
"u");
83 CHECK(comm.all_sum_all(
u.size()) == 245886);
94 const size_t N = 10000;
96 const std::vector<double>
u = f.stochread(
"u", N);
99 CHECK(comm.all_sum_all(
u.size()) == N * comm.size());
105 const size_t N = 10000;
109 CHECK(comm.all_sum_all(
uvfits.size()) == N * comm.size());
116 const size_t N = 10000;
118 using t_complexVec = Vector<t_complex>;
121 auto functor = [&f = h5file, &N]() {
123 auto phi = factory::measurement_operator_factory<t_complexVec>(
124 factory::distributed_measurement_operator::mpi_distribute_image, uv_data, 128, 128, 1,
127 return sopt::IterationState<t_complexVec>(uv_data.
vis, phi);
131 sopt::IterationState<t_complexVec> item = functor();
134 const bool pass = comm.all_sum_all(item.target().size()) == N * comm.size() &&
135 item.Phi().sizes()[0] == 0 && item.Phi().sizes()[1] == 1 &&
136 item.Phi().sizes()[2] == N;
#define CHECK(CONDITION, ERROR)
Purify interface class to handle HDF5 input files.
const std::vector< t_real > u
data for u coordinate
utilities::vis_params stochread_visibility(H5Handler &file, const size_t N, const bool w_term)
Stochastically reads dataset slices from the supplied HDF5-file handler, constructs a vis_params obje...
const std::map< std::string, kernel > kernel_from_string
utilities::vis_params read_measurements(const std::string &name, const bool w_term, const stokes pol, const utilities::vis_units units)
read in single measurement file
std::string atca_filename(std::string const &filename)
Specific atca data.