PURIFY
Next-generation radio interferometric imaging
read_measurements.cc
Go to the documentation of this file.
1 #include "purify/config.h"
2 #include "purify/types.h"
3 #include "catch2/catch_all.hpp"
4 #include "purify/logging.h"
5 
6 #include <iostream>
7 #include "purify/directories.h"
9 
10 using namespace purify;
11 
12 TEST_CASE("mkdir") {
13  const std::string dirs = "test/mkdir/recursive";
14  const std::string path = output_filename(dirs);
15  CAPTURE(path);
16  mkdir_recursive(path);
17  REQUIRE(read_measurements::dir_exists(path));
18 }
19 
20 TEST_CASE("uvfits") {
22  const std::string filename = atca_filename("0332-391");
23  SECTION("one") {
24  SECTION("uvfits") {
25  const auto uvfits = read_measurements::read_measurements(filename + ".uvfits");
26  CHECK(uvfits.size() == 245886);
27  }
28  SECTION("vis") {
29  const auto vis = read_measurements::read_measurements(filename + ".vis", false, stokes::I,
32  CHECK(vis.size() == 245886);
33  }
34  }
35  SECTION("two") {
36  SECTION("uvfits") {
37  const auto uvfits = read_measurements::read_measurements(
38  std::vector<std::string>{filename + ".uvfits", filename + ".uvfits"});
39  CHECK(uvfits.size() == 245886 * 2);
40  }
41  SECTION("vis") {
42  const auto vis = read_measurements::read_measurements(
43  std::vector<std::string>{filename + ".vis", filename + ".vis"});
44  CHECK(vis.units == utilities::vis_units::lambda);
45  CHECK(vis.size() == 245886 * 2);
46  }
47  SECTION("vis_uvfits") {
49  std::vector<std::string>{filename + ".vis", filename + ".uvfits"}));
50  }
51  }
52  SECTION("otherformat") {
54  }
55  SECTION("ms") {
56  SECTION("one") {
57 #ifdef PURIFY_CASACORE
58  const auto ms = read_measurements::read_measurements(filename + ".ms");
59  CHECK(ms.size() == 245994);
60 #else
62 #endif
63  }
64  SECTION("two") {
65 #ifdef PURIFY_CASACORE
67  std::vector<std::string>{filename + ".ms", filename + ".ms"});
68  CHECK(ms.size() == 245994 * 2);
69 #else
71  std::vector<std::string>{filename + ".ms", filename + ".ms"}));
72 #endif
73  }
74  }
75 }
#define CHECK(CONDITION, ERROR)
Definition: casa.cc:6
#define CHECK_THROWS(STATEMENT, ERROR)
Definition: casa.cc:8
void set_level(const std::string &level)
Method to set the logging level of the default Log object.
Definition: logging.h:137
bool dir_exists(const std::string &path)
check that directory path exists
utilities::vis_params read_measurements(const std::string &name, const bool w_term, const stokes pol, const utilities::vis_units units)
read in single measurement file
void mkdir_recursive(const std::string &path)
recursively create directories when they do not exist
std::string output_filename(std::string const &filename)
Test output file.
std::string atca_filename(std::string const &filename)
Specific atca data.
TEST_CASE("mkdir")