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

Public Member Functions

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

Public Attributes

t_real m_epsilon
 
t_uint m_counter
 
t_real m_sigma
 
std::vector< std::tuple< std::string, t_uint > > const m_sara
 
Image< t_complex > m_image
 
t_uint m_imsizex
 
t_uint m_imsizey
 
utilities::vis_params m_uv_data
 
t_uint m_kernel
 
std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > m_measurements_transform
 
std::shared_ptr< sopt::algorithm::ImagingProximalADMM< t_complex > > m_padmm
 
std::shared_ptr< sopt::algorithm::ImagingForwardBackward< t_complex > > m_fb
 

Detailed Description

Definition at line 20 of file algorithms.cc.

Member Function Documentation

◆ SetUp()

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

Definition at line 22 of file algorithms.cc.

22  {
23  // Reading image from file and update related quantities
24  bool newImage = b_utilities::updateImage(state.range(0), m_image, m_imsizex, m_imsizey);
25 
26  // Generating random uv(w) coverage
27  bool newMeasurements =
28  b_utilities::updateMeasurements(state.range(1), m_uv_data, m_epsilon, newImage, m_image);
29 
30  bool newKernel = m_kernel != state.range(2);
31 
32  m_kernel = state.range(2);
33  // creating the measurement operator
34  const t_real FoV = 1; // deg
35  const t_real cellsize = FoV / m_imsizex * 60. * 60.;
36  const bool w_term = false;
37  m_measurements_transform = factory::measurement_operator_factory<Vector<t_complex>>(
38  factory::distributed_measurement_operator::serial, m_uv_data, m_imsizey, m_imsizex,
39  cellsize, cellsize, 2, kernels::kernel::kb, m_kernel, m_kernel, w_term);
40 
41  t_real const m_sigma = 0.016820222945913496 * std::sqrt(2); // see test_parameters file
42  }
t_uint m_kernel
Definition: algorithms.cc:60
t_uint m_imsizex
Definition: algorithms.cc:55
utilities::vis_params m_uv_data
Definition: algorithms.cc:58
Image< t_complex > m_image
Definition: algorithms.cc:54
std::shared_ptr< sopt::LinearTransform< Vector< t_complex > > const > m_measurements_transform
Definition: algorithms.cc:61
t_real m_sigma
Definition: algorithms.cc:48
t_real m_epsilon
Definition: algorithms.cc:46
t_uint m_imsizey
Definition: algorithms.cc:56
bool updateMeasurements(t_uint newSize, utilities::vis_params &data)
Definition: utilities.cc:54
bool updateImage(t_uint newSize, Image< t_complex > &image, t_uint &sizex, t_uint &sizey)
Definition: utilities.cc:32

References purify::kernels::kb, purify::factory::serial, b_utilities::updateImage(), and b_utilities::updateMeasurements().

◆ TearDown()

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

Definition at line 44 of file algorithms.cc.

44 {}

Member Data Documentation

◆ m_counter

t_uint AlgoFixture::m_counter

Definition at line 47 of file algorithms.cc.

◆ m_epsilon

t_real AlgoFixture::m_epsilon

Definition at line 46 of file algorithms.cc.

◆ m_fb

std::shared_ptr<sopt::algorithm::ImagingForwardBackward<t_complex> > AlgoFixture::m_fb

Definition at line 63 of file algorithms.cc.

◆ m_image

Image<t_complex> AlgoFixture::m_image

Definition at line 54 of file algorithms.cc.

◆ m_imsizex

t_uint AlgoFixture::m_imsizex

Definition at line 55 of file algorithms.cc.

◆ m_imsizey

t_uint AlgoFixture::m_imsizey

Definition at line 56 of file algorithms.cc.

◆ m_kernel

t_uint AlgoFixture::m_kernel

Definition at line 60 of file algorithms.cc.

◆ m_measurements_transform

std::shared_ptr<sopt::LinearTransform<Vector<t_complex> > const> AlgoFixture::m_measurements_transform

Definition at line 61 of file algorithms.cc.

◆ m_padmm

std::shared_ptr<sopt::algorithm::ImagingProximalADMM<t_complex> > AlgoFixture::m_padmm

Definition at line 62 of file algorithms.cc.

◆ m_sara

std::vector<std::tuple<std::string, t_uint> > const AlgoFixture::m_sara
Initial value:
{
std::make_tuple("Dirac", 3u), std::make_tuple("DB1", 3u), std::make_tuple("DB2", 3u),
std::make_tuple("DB3", 3u), std::make_tuple("DB4", 3u), std::make_tuple("DB5", 3u),
std::make_tuple("DB6", 3u), std::make_tuple("DB7", 3u), std::make_tuple("DB8", 3u)}

Definition at line 49 of file algorithms.cc.

◆ m_sigma

t_real AlgoFixture::m_sigma

Definition at line 48 of file algorithms.cc.

◆ m_uv_data

utilities::vis_params AlgoFixture::m_uv_data

Definition at line 58 of file algorithms.cc.


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