11 std::printf(
"Distributing groups\n");
12 t_int number_of_groups = 4;
13 t_int number_of_vis = uv_data.u.size();
15 uv_data.u.segment(0, number_of_vis), uv_data.v.segment(0, number_of_vis),
16 uv_data.w.segment(0, number_of_vis), number_of_groups, distribute::plan::equal, 1024);
18 CHECK(number_of_vis == groups_equal.size());
19 for (t_int i = 0; i < groups_equal.size(); i++) {
21 CHECK(groups_equal[i] >= 0);
22 CHECK(groups_equal[i] < number_of_groups);
25 uv_data.u.segment(0, number_of_vis), uv_data.v.segment(0, number_of_vis),
26 uv_data.w.segment(0, number_of_vis), number_of_groups, distribute::plan::radial);
28 CHECK(number_of_vis == groups_distance.size());
29 for (t_int i = 0; i < groups_distance.size(); i++) {
31 CHECK(groups_distance[i] >= 0);
32 CHECK(groups_distance[i] < number_of_groups);
35 uv_data.u.segment(0, number_of_vis), uv_data.v.segment(0, number_of_vis),
36 uv_data.w.segment(0, number_of_vis), number_of_groups, distribute::plan::none);
38 CHECK(number_of_vis == groups_noorder.size());
39 for (t_int i = 0; i < groups_noorder.size(); i++) {
41 CHECK(groups_noorder[i] >= 0);
42 CHECK(groups_noorder[i] < number_of_groups);
45 uv_data.u.segment(0, number_of_vis), uv_data.v.segment(0, number_of_vis),
46 uv_data.w.segment(0, number_of_vis), number_of_groups, distribute::plan::w_term);
48 CHECK(number_of_vis == groups_distance.size());
49 for (t_int i = 0; i < groups_distance.size(); i++) {
51 CHECK(groups_distance[i] >= 0);
52 CHECK(groups_distance[i] < number_of_groups);
#define CHECK(CONDITION, ERROR)
utilities::vis_params read_visibility(const std::string &vis_name, const bool w_term)
Reads an HDF5 file with u,v visibilities, constructs a vis_params object and returns it.
std::vector< t_int > distribute_measurements(Vector< t_real > const &u, Vector< t_real > const &v, Vector< t_real > const &w, t_int const number_of_nodes, distribute::plan const distribution_plan, t_int const &grid_size)
Distribute visiblities into groups.
std::string vla_filename(std::string const &filename)
Specific vla data.