Class MeasurementSet

Class Documentation

class MeasurementSet

Provides an abstraction layer around a casacore MeasurementSet that provides all data required for leap calibration. This class additionally stores runtime user specificed variables and cached variabled calculated from the underlying measurement set.

Public Functions

MeasurementSet(const std::string &filepath)
inline boost::optional<std::string> GetFilepath() const
inline bool IsAutoCorrelationsEnabled() const
inline const casacore::MeasurementSet *GetMS() const

Gets a non-null pointer to a casacore::MeasurementSet.

Returns:

const casacore::MeasurementSet*

inline const casacore::MSMainColumns *GetMSMainColumns() const

Gets a non-null pointer to a casacore::MSMainColumns.

Returns:

const casacore::MSMainColumns*

inline const casacore::MSColumns *GetMSColumns() const

Gets a non-null pointer to a casacore::MSColumns.

Returns:

const casacore::MSColumns*

uint32_t GetTotalAntennas() const

Gets the total number of antennas including flagged antennas.

uint32_t GetNumStations() const

Gets the number of stations excluding flagged stations.

Returns:

uint32_t

uint32_t GetNumBaselines() const

Get the number of baselines in the measurement set using the current autocorrelations setting and including stations not recording rows.

Note

TODO: baselines should always be n*(n-1) / 2 and without autocorrelations

Returns:

uint32_t

uint32_t GetNumPols() const

Get the number of polarizations in the measurement set.

Returns:

uint32_t

uint32_t GetNumChannels() const

Gets the number of channels in the measurement set.

Returns:

uint32_t

uint32_t GetNumRows() const

Gets the number of rows in the measurement set (non-flagged baselines * timesteps).

Returns:

uint32_t

Eigen::VectorXi GetAntenna1() const

Gets the indexes of the first antenna in baselines.

Returns:

Eigen::VectorXi

Eigen::VectorXi GetAntenna2() const

Gets the indexes of the second antenna in baselines.

Returns:

Eigen::VectorXi

uint32_t GetNumTimesteps() const

Gets the total number of timesteps in the measurement set.

Returns:

uint32_t

double GetTimeInterval() const

Gets the time interval of visibilities (assuming the same for all rows)

std::vector<double> GetEpochs() const

Get the Epochs object.

Returns:

std::vector<double>

Eigen::VectorXb GetFlaggedBaselines() const

Gets a vector of size nBaselines with a true value at the index of unflagged baselines. Flag is is logical and of channels and polarizations.

Returns:

Eigen::VectorXb

uint32_t GetNumFlaggedBaselines() const

Get the number of baselines that are flagged by the measurement set.

Returns:

uint32_t

Eigen::VectorXb GetShortBaselines(double minimumBaselineThreshold = 0.0) const

Gets a flag vector of short baselines.

Parameters:

minimumBaselineThreshold – baseline threshold

Returns:

Eigen::VectorXb

uint32_t GetNumShortBaselines(double minimumBaselineThreshold = 0.0) const

Get the number of baselines that below the minimumBaselineThreshold.

Parameters:

minimumBaselineThreshold – baseline threshold

Returns:

uint32_t

Eigen::VectorXb GetFilteredBaselines(double minimumBaselineThreshold = 0.0) const

Gets flag vector of filtered baselines that are either flagged or short.

Parameters:

minimumBaselineThreshold – baseline threshold

Returns:

Eigen::VectorXb

uint32_t GetNumFilteredBaselines(double minimumBaselineThreshold = 0.0) const

Gets the number of baselines that are flagged baselines or short baselines.

Parameters:

minimumBaselineThreshold – baseline threshold

Returns:

uint32_t

Eigen::Tensor<double, 3> ReadCoords() const

Reads UVW coordinates from the measurement set.

Returns:

Eigen::Tensor<double, 3>

Eigen::Tensor<double, 3> ReadCoords(const Slice &timestepSlice) const

Gets the Coords/UVWs of a specified time interval.

Parameters:
  • startTimestep

  • intervalTimesteps

Returns:

Eigen::Tensor<double, 3> of dimensions (3, baselines, timesteps)

Eigen::Tensor<double, 3> ReadCoords(uint32_t startTimestep, uint32_t intervalTimesteps) const

Gets the Coords/UVWs of a specified time interval.

Parameters:
  • startTimestep

  • intervalTimesteps

Returns:

Eigen::Tensor<double, 3> of dimensions (3, baselines, timesteps)

Eigen::Tensor<std::complex<double>, 4> ReadVis() const

Gets the visibilities from all baselines, channels and polarizations for the first timestep.

Returns:

Eigen::Tensor<std::complex<double>, 4> of dimensions (polarizations, channels, baselines, timesteps)

Eigen::Tensor<std::complex<double>, 4> ReadVis(const Slice &timestepSlice, const Slice &polarizationSlice = Slice(0, boost::none, 1)) const

Gets visibilities from the specificed dimension slices of a specified timestep slice.

Parameters:
  • startTimestep – start timestep index

  • intervalTimesteps – number of timesteps

Returns:

Eigen::Tensor<std::complex<double>, 4> of dimensions (polarizations, channels, baselines, timesteps)

Eigen::Tensor<std::complex<double>, 4> ReadVis(std::uint32_t startTimestep, std::uint32_t intervalTimesteps, const Slice &polarizationSlice = Slice(0, boost::none, 1)) const

Gets visibilities from the specificed dimension slices of a specified timestep slice.

Parameters:
  • startTimestep – start timestep index

  • intervalTimesteps – number of timesteps

Returns:

Eigen::Tensor<std::complex<double>, 4> of dimensions (polarizations, channels, baselines, timesteps)

Eigen::Tensor<std::complex<double>, 4> ReadVis(uint32_t startTimestep, uint32_t intervalTimesteps, Range<int32_t> polarizationRange, const char *column) const

Reads from file visibilities using specified dimension slices.

Parameters:
  • startTimestep

  • intervalTimesteps

  • polarizationRange

  • column

Returns:

Eigen::Tensor<std::complex<double>, 4> of dimensions (polarizations, channels, baselines, timesteps)

std::set<int32_t> GetMissingAntennas() const

Gets the antennas that are not present in any baselines.

Returns:

std::set<int32_t>

std::set<int32_t> GetFlaggedAntennas() const

Gets the antenna indexes that are either not present in any baselines or are flagged in all of it’s baselines.

Indexes are out of the total antennas

Returns:

std::set<int32_t>