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

Public Member Functions

void SetUp (const ::benchmark::State &state)
 
void TearDown (const ::benchmark::State &state)
 
virtual bool updateImage (t_uint newSize)=0
 
virtual std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > measurementOperator (t_real cellsize, bool w_term)=0
 

Public Attributes

sopt::mpi::Communicator m_world
 
t_uint m_kernel
 
t_uint m_imsizex
 
t_uint m_imsizey
 
utilities::vis_params m_uv_data
 
std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > m_degridOperator
 

Detailed Description

Definition at line 90 of file measurement_operator_mpi.cc.

Member Function Documentation

◆ measurementOperator()

virtual std::shared_ptr<sopt::LinearTransform<Vector<t_complex> > const> DegridOperatorFixturePar::measurementOperator ( t_real  cellsize,
bool  w_term 
)
pure virtual

◆ SetUp()

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

Definition at line 92 of file measurement_operator_mpi.cc.

92  {
93  // Reading image from file and create temporary image
94  bool newImage = updateImage(state.range(0));
95 
96  // Generating random uv(w) coverage
97  // bool newMeasurements = m_uv_data.size() != state.range(1);
98  bool newMeasurements = b_utilities::updateMeasurements(state.range(1), m_uv_data, m_world);
99 
100  // Create measurement operators
101  bool newKernel = m_kernel != state.range(2);
102  if (newImage || newMeasurements || newKernel) {
103  const t_real FoV = 1; // deg
104  const t_real cellsize = FoV / m_imsizex * 60. * 60.;
105  const bool w_term = false;
106  m_kernel = state.range(2);
107  m_degridOperator = measurementOperator(cellsize, w_term);
108  }
109  }
sopt::mpi::Communicator m_world
virtual std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > measurementOperator(t_real cellsize, bool w_term)=0
std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > m_degridOperator
virtual bool updateImage(t_uint newSize)=0
bool updateMeasurements(t_uint newSize, utilities::vis_params &data)
Definition: utilities.cc:54

References b_utilities::updateImage(), and b_utilities::updateMeasurements().

◆ TearDown()

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

Definition at line 111 of file measurement_operator_mpi.cc.

111 {}

◆ updateImage()

virtual bool DegridOperatorFixturePar::updateImage ( t_uint  newSize)
pure virtual

Member Data Documentation

◆ m_degridOperator

std::shared_ptr<sopt::LinearTransform<Vector<t_complex> > const> DegridOperatorFixturePar::m_degridOperator

Definition at line 125 of file measurement_operator_mpi.cc.

◆ m_imsizex

t_uint DegridOperatorFixturePar::m_imsizex

Definition at line 120 of file measurement_operator_mpi.cc.

◆ m_imsizey

t_uint DegridOperatorFixturePar::m_imsizey

Definition at line 121 of file measurement_operator_mpi.cc.

◆ m_kernel

t_uint DegridOperatorFixturePar::m_kernel

Definition at line 118 of file measurement_operator_mpi.cc.

◆ m_uv_data

utilities::vis_params DegridOperatorFixturePar::m_uv_data

Definition at line 123 of file measurement_operator_mpi.cc.

◆ m_world

sopt::mpi::Communicator DegridOperatorFixturePar::m_world

Definition at line 117 of file measurement_operator_mpi.cc.


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