Skip to content

Commit fdd2a1f

Browse files
committed
Add argument to control caching visibilities in a file
1 parent b5ecf3e commit fdd2a1f

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

cpp/benchmarks/utilities.cc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,15 +93,17 @@ std::tuple<utilities::vis_params, t_real> dirty_measurements(
9393
return std::make_tuple(uv_data, sigma);
9494
}
9595

96-
utilities::vis_params random_measurements(t_int size, const t_real max_w, const t_int id) {
96+
utilities::vis_params random_measurements(t_int size, const t_real max_w, const t_int id,
97+
const bool cache_visibilities) {
98+
utilities::vis_params uv_data;
99+
97100
std::stringstream filename;
98101
filename << "random_" << size << "_";
99102
filename << std::to_string(id) << ".vis";
100103
std::string const vis_file = visibility_filename(filename.str());
101104
std::ifstream vis_file_str(vis_file);
102105

103-
utilities::vis_params uv_data;
104-
if (false) {
106+
if (cache_visibilities and vis_file_str.good()) {
105107
PURIFY_INFO("Reading random visibilities from file {}", vis_file);
106108
uv_data = utilities::read_visibility(vis_file, true);
107109
uv_data.units = utilities::vis_units::radians;
@@ -110,7 +112,9 @@ utilities::vis_params random_measurements(t_int size, const t_real max_w, const
110112
t_real const sigma_m = constant::pi / 3;
111113
uv_data = utilities::random_sample_density(size, 0, sigma_m, max_w);
112114
uv_data.units = utilities::vis_units::radians;
113-
// utilities::write_visibility(uv_data, vis_file, true);
115+
if (cache_visibilities) {
116+
utilities::write_visibility(uv_data, vis_file, true);
117+
}
114118
}
115119
return uv_data;
116120
}

cpp/benchmarks/utilities.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@ std::tuple<utilities::vis_params, t_real> dirty_measurements(
2828
Image<t_complex> const& ground_truth_image, t_uint number_of_vis, t_real snr,
2929
const t_real& cellsize);
3030

31-
utilities::vis_params random_measurements(t_int size, const t_real max_w = 100, const t_int id = 0);
31+
utilities::vis_params random_measurements(t_int size, const t_real max_w = 100, const t_int id = 0,
32+
const bool cache_visibilities = false);
3233
#ifdef PURIFY_MPI
3334
double duration(std::chrono::high_resolution_clock::time_point start,
3435
std::chrono::high_resolution_clock::time_point end,

0 commit comments

Comments
 (0)