4 #ifndef DP3_ANTENNAFLAGGER_FLAGGER_H_
5 #define DP3_ANTENNAFLAGGER_FLAGGER_H_
16 namespace antennaflagger {
34 Flagger(
size_t n_stations,
size_t n_antennas_per_station,
size_t n_channels,
35 size_t n_correlations)
36 : n_stations_(n_stations),
37 n_antennas_per_station_(n_antennas_per_station),
38 n_channels_(n_channels),
39 n_correlations_(n_correlations),
40 n_antennas_(n_stations * n_antennas_per_station),
105 size_t n_stations,
size_t n_antennas_per_station,
106 const xt::xtensor<std::complex<float>, 2>& stats_baseline,
119 float sigma,
int max_iterations,
120 const xt::xtensor<std::complex<float>, 3>& stats);
133 float sigma,
int max_iterations,
134 const xt::xtensor<std::complex<float>, 3>& stats);
138 void AssertStatsComputed()
const;
141 const size_t n_stations_;
142 const size_t n_antennas_per_station_;
143 const size_t n_channels_;
144 const size_t n_correlations_;
147 const size_t n_antennas_;
148 const size_t n_baselines_;
156 xt::xtensor<std::complex<float>, 3> stats_antenna_stddev_;
157 xt::xtensor<std::complex<float>, 3> stats_antenna_sum_square_;
Buffer holding the data of a timeslot/band.
void ComputeStats(const dp3::base::DPBuffer::DataType &data, common::BaselineOrder baseline_order)
static xt::xtensor< int, 2 > ComputeAntennaFlags(float sigma, int max_iterations, const xt::xtensor< std::complex< float >, 3 > &stats)
xt::xtensor< int, 1 > FindBadStations(float sigma, int max_iterations)
static xt::xtensor< std::complex< float >, 2 > ComputeStatsStdDev(const dp3::base::DPBuffer::DataType &data)
static xt::xtensor< std::complex< float >, 3 > GroupStats(size_t n_stations, size_t n_antennas_per_station, const xt::xtensor< std::complex< float >, 2 > &stats_baseline, common::BaselineOrder baseline_order)
static xt::xtensor< int, 2 > ComputeStationFlags(float sigma, int max_iterations, const xt::xtensor< std::complex< float >, 3 > &stats)
Flagger(size_t n_stations, size_t n_antennas_per_station, size_t n_channels, size_t n_correlations)
Definition: Flagger.h:34
static xt::xtensor< std::complex< float >, 2 > ComputeStatsSumSquare(const dp3::base::DPBuffer::DataType &data)
xt::xtensor< int, 1 > FindBadAntennas(float sigma, int max_iterations)
aocommon::xt::UTensor< std::complex< float >, 3 > DataType
Definition: DPBuffer.h:95
size_t ComputeNBaselines(size_t n_antennas)
Definition: baseline_indices.h:68
BaselineOrder
Definition: baseline_indices.h:63
This file has generic helper routines for testing steps.
Definition: AntennaConfig.h:53