PURIFY
Next-generation radio interferometric imaging
Functions
purify_h5.cc File Reference
#include "catch2/catch_all.hpp"
#include "purify/config.h"
#include "purify/types.h"
#include "purify/logging.h"
#include "purify/read_measurements.h"
#include "purify/directories.h"
#include "purify/h5reader.h"
#include <vector>
+ Include dependency graph for purify_h5.cc:

Go to the source code of this file.

Functions

 TEST_CASE ("Purify H5 reader", "[HDF5]")
 
 TEST_CASE ("Purify H5 writer", "[HDF5]")
 

Function Documentation

◆ TEST_CASE() [1/2]

TEST_CASE ( "Purify H5 reader"  ,
""  [HDF5] 
)

Definition at line 15 of file purify_h5.cc.

15  {
16  H5::H5Handler f(atca_filename("0332-391.h5"));
17 
18  const std::vector<double> u = f.read("u");
19  const std::vector<double> v = f.read("v");
20  const std::vector<double> w = f.read("w");
21  const std::vector<double> re = f.read("re");
22  const std::vector<double> im = f.read("im");
23  const std::vector<double> sigma = f.read("sigma");
24 
25  CAPTURE(u.size());
26  CAPTURE(v.size());
27  CAPTURE(w.size());
28  CAPTURE(re.size());
29  CAPTURE(im.size());
30  CAPTURE(sigma.size());
31 
32  const bool pass = u.size() > 0 && u.size() == v.size() && u.size() == w.size() &&
33  u.size() == re.size() && u.size() == im.size() && u.size() == sigma.size();
34  CHECK(pass);
35 }
#define CHECK(CONDITION, ERROR)
Definition: casa.cc:6
Purify interface class to handle HDF5 input files.
Definition: h5reader.h:48
const std::vector< t_real > u
data for u coordinate
Definition: operators.cc:18
const std::vector< t_real > v
data for v coordinate
Definition: operators.cc:20
std::string atca_filename(std::string const &filename)
Specific atca data.

References purify::atca_filename(), CHECK, purify::H5::H5Handler::read(), operators_test::u, and operators_test::v.

◆ TEST_CASE() [2/2]

TEST_CASE ( "Purify H5 writer"  ,
""  [HDF5] 
)

Definition at line 37 of file purify_h5.cc.

37  {
38  const auto uvfits = read_measurements::read_measurements(atca_filename("0332-391.uvfits"));
39 
40  H5::write_visibility(uvfits, "test-h5.h5", false);
41 
42  H5::H5Handler f("test-h5.h5");
43 
44  const std::vector<double> u = f.read("u");
45  const std::vector<double> v = f.read("v");
46  // const std::vector<double> w = f.read("w");
47  const std::vector<double> re = f.read("re");
48  const std::vector<double> im = f.read("im");
49  const std::vector<double> sigma = f.read("sigma");
50 
51  CAPTURE(u.size());
52  CAPTURE(v.size());
53  // CAPTURE(w.size());
54  CAPTURE(re.size());
55  CAPTURE(im.size());
56  CAPTURE(sigma.size());
57 
58  const bool pass = u.size() == uvfits.u.size() &&
59  u.size() == v.size() && /*u.size() == w.size() &&*/
60  u.size() == re.size() && u.size() == im.size() && u.size() == sigma.size();
61 
62  CHECK(pass);
63 }
void write_visibility(const utilities::vis_params &uv_vis, const std::string &h5name, const bool w_term, const size_t chunksize=0)
Write an HDF5 file with u,v visibilities from a vis_params object.
Definition: h5reader.h:244
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

References purify::atca_filename(), CHECK, purify::H5::H5Handler::read(), purify::read_measurements::read_measurements(), operators_test::u, operators_test::v, and purify::H5::write_visibility().