PURIFY
Next-generation radio interferometric imaging
mpi_wide_field_utilities.cc
Go to the documentation of this file.
1 #include "purify/config.h"
2 #include "catch2/catch_all.hpp"
3 #include "purify/logging.h"
4 
5 #include "purify/types.h"
6 
8 
9 using namespace purify;
10 
11 TEST_CASE("estimate_sample_density MPI") {
12  const t_int imsizex = 1024;
13  const t_int imsizey = 1024;
14  const t_real cellx = 10;
15  const t_real celly = 10;
16  const t_real oversample_ratio = 2;
17  const t_int M = 6;
18  const Vector<t_real> u = Vector<t_real>::Random(M) * 1000;
19  const Vector<t_real> v = Vector<t_real>::Random(M) * 1000;
20  const sopt::mpi::Communicator comm = sopt::mpi::Communicator::World();
21  const Vector<t_complex> weights = widefield::sample_density_weights(
22  u, v, cellx, celly, imsizex, imsizey, oversample_ratio, 1, comm);
23  REQUIRE(weights.size() == M);
24  CHECK(weights.isApprox(Vector<t_complex>::Ones(weights.size())));
25 }
#define CHECK(CONDITION, ERROR)
Definition: casa.cc:6
TEST_CASE("estimate_sample_density MPI")
const std::vector< t_real > u
data for u coordinate
Definition: operators.cc:18
const std::vector< t_real > v
data for v coordinate
Definition: operators.cc:20
Vector< t_complex > sample_density_weights(const Vector< t_real > &u, const Vector< t_real > &v, const t_real cellx, const t_real celly, const t_uint imsizex, const t_uint imsizey, const t_real oversample_ratio, const t_real scale)
create sample density weights for a given field of view, uniform weighting