@@ -93,15 +93,17 @@ std::tuple<utilities::vis_params, t_real> dirty_measurements(
93
93
return std::make_tuple (uv_data, sigma);
94
94
}
95
95
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
+
97
100
std::stringstream filename;
98
101
filename << " random_" << size << " _" ;
99
102
filename << std::to_string (id) << " .vis" ;
100
103
std::string const vis_file = visibility_filename (filename.str ());
101
104
std::ifstream vis_file_str (vis_file);
102
105
103
- utilities::vis_params uv_data;
104
- if (false ) {
106
+ if (cache_visibilities and vis_file_str.good ()) {
105
107
PURIFY_INFO (" Reading random visibilities from file {}" , vis_file);
106
108
uv_data = utilities::read_visibility (vis_file, true );
107
109
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
110
112
t_real const sigma_m = constant::pi / 3 ;
111
113
uv_data = utilities::random_sample_density (size, 0 , sigma_m, max_w);
112
114
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
+ }
114
118
}
115
119
return uv_data;
116
120
}
0 commit comments