PURIFY
Next-generation radio interferometric imaging
Public Member Functions | Public Attributes | List of all members
DegridOperatorCtorFixturePar Class Reference
+ Inheritance diagram for DegridOperatorCtorFixturePar:
+ Collaboration diagram for DegridOperatorCtorFixturePar:

Public Member Functions

void SetUp (const ::benchmark::State &state)
 
void TearDown (const ::benchmark::State &state)
 
void SetUp (const ::benchmark::State &state)
 
void TearDown (const ::benchmark::State &state)
 

Public Attributes

t_uint m_counter
 
sopt::mpi::Communicator m_world
 
t_uint m_imsizex
 
t_uint m_imsizey
 
utilities::vis_params m_uv_data
 
t_real m_cellsize
 
bool m_w_term
 
utilities::vis_params m_uv_data_all_to_all
 
std::vector< t_real > m_w_stacks
 
std::vector< t_int > m_image_index
 

Detailed Description

Definition at line 16 of file measurement_operator_mpi.cc.

Member Function Documentation

◆ SetUp() [1/2]

void DegridOperatorCtorFixturePar::SetUp ( const ::benchmark::State &  state)
inline

Definition at line 18 of file measurement_operator_mpi.cc.

18  {
19  // Keep count of the benchmark repetitions
20 
21  m_counter++;
22 
23  m_imsizex = state.range(0);
24  m_imsizey = state.range(0);
25 
26  // Generating random uv(w) coverage
27  bool newMeasurements = b_utilities::updateMeasurements(state.range(1), m_uv_data, m_world);
28 
29  // Data needed for the creation of the measurement operator
30  const t_real FoV = 1; // deg
31  m_cellsize = FoV / m_imsizex * 60. * 60.;
32  m_w_term = false;
33  }
bool updateMeasurements(t_uint newSize, utilities::vis_params &data)
Definition: utilities.cc:54

References b_utilities::updateMeasurements().

◆ SetUp() [2/2]

void DegridOperatorCtorFixturePar::SetUp ( const ::benchmark::State &  state)
inline

Definition at line 20 of file measurement_operator_wproj.cc.

20  {
21  // Keep count of the benchmark repetitions
22  m_counter++;
23  // Data needed for the creation of the measurement operator
24  const t_real FoV = 25; // deg
25  m_cellsize = FoV / m_imsizex * 60. * 60.;
26  m_w_term = true;
27 
28  m_imsizex = state.range(0);
29  m_imsizey = state.range(0);
30 
31  // Generating random uv(w) coverage
32  b_utilities::update_comm(m_world);
33  t_real const sigma_m = constant::pi / 3;
34  const t_real du = widefield::pixel_to_lambda(m_cellsize, m_imsizex, 2);
35  const t_real max_w = 300.; // lambda
36  auto const uv_data = b_utilities::random_measurements(state.range(1), max_w, m_world.rank());
37  const auto cost = [](t_real x) -> t_real { return std::abs(x * x); };
38  m_uv_data = utilities::w_stacking(uv_data, m_world, 100, cost);
40  utilities::w_stacking_with_all_to_all(uv_data, du, 4, 100, m_world, 100, 1.01, cost);
41  }
utilities::vis_params random_measurements(t_int size, const t_real max_w, const t_int id, const bool cache_visibilities)
Definition: utilities.cc:96
const t_real pi
mathematical constant
Definition: types.h:70
utilities::vis_params w_stacking(utilities::vis_params const &params, sopt::mpi::Communicator const &comm, const t_int iters, const std::function< t_real(t_real)> &cost, const t_real k_means_rel_diff)
std::tuple< utilities::vis_params, std::vector< t_int >, std::vector< t_real > > w_stacking_with_all_to_all(utilities::vis_params const &params, const t_real du, const t_int min_support, const t_int max_support, sopt::mpi::Communicator const &comm, const t_int iters, const t_real fill_relaxation, const std::function< t_real(t_real)> &cost, const t_real k_means_rel_diff)
t_real pixel_to_lambda(const t_real cell, const t_uint imsize, const t_real oversample_ratio)
return factors to convert between arcsecond pixel size image space and lambda for uv space

References purify::constant::pi, purify::widefield::pixel_to_lambda(), b_utilities::random_measurements(), purify::utilities::w_stacking(), and purify::utilities::w_stacking_with_all_to_all().

◆ TearDown() [1/2]

void DegridOperatorCtorFixturePar::TearDown ( const ::benchmark::State &  state)
inline

Definition at line 35 of file measurement_operator_mpi.cc.

35 {}

◆ TearDown() [2/2]

void DegridOperatorCtorFixturePar::TearDown ( const ::benchmark::State &  state)
inline

Definition at line 43 of file measurement_operator_wproj.cc.

43 {}

Member Data Documentation

◆ m_cellsize

t_real DegridOperatorCtorFixturePar::m_cellsize

Definition at line 42 of file measurement_operator_mpi.cc.

◆ m_counter

t_uint DegridOperatorCtorFixturePar::m_counter

Definition at line 37 of file measurement_operator_mpi.cc.

◆ m_image_index

std::vector<t_int> DegridOperatorCtorFixturePar::m_image_index

Definition at line 52 of file measurement_operator_wproj.cc.

◆ m_imsizex

t_uint DegridOperatorCtorFixturePar::m_imsizex

Definition at line 39 of file measurement_operator_mpi.cc.

◆ m_imsizey

t_uint DegridOperatorCtorFixturePar::m_imsizey

Definition at line 40 of file measurement_operator_mpi.cc.

◆ m_uv_data

utilities::vis_params DegridOperatorCtorFixturePar::m_uv_data

Definition at line 41 of file measurement_operator_mpi.cc.

◆ m_uv_data_all_to_all

utilities::vis_params DegridOperatorCtorFixturePar::m_uv_data_all_to_all

Definition at line 50 of file measurement_operator_wproj.cc.

◆ m_w_stacks

std::vector<t_real> DegridOperatorCtorFixturePar::m_w_stacks

Definition at line 51 of file measurement_operator_wproj.cc.

◆ m_w_term

bool DegridOperatorCtorFixturePar::m_w_term

Definition at line 43 of file measurement_operator_mpi.cc.

◆ m_world

sopt::mpi::Communicator DegridOperatorCtorFixturePar::m_world

Definition at line 38 of file measurement_operator_mpi.cc.


The documentation for this class was generated from the following files: