Class CpuLeapCalibrator
Defined in File CpuLeapCalibrator.h
Inheritance Relationships
Base Type
public ska::ILeapCalibrator(Class ILeapCalibrator)
Class Documentation
-
class CpuLeapCalibrator : public ska::ILeapCalibrator
Leap Calibration implementation using portable CPU-only compute capabilities.
Public Functions
-
void Calibrate(std::function<void(const cpu::Calibration&)> outputCallback, const ska::LeapDataset &ds, const std::vector<SphericalDirection> &directions, const std::optional<std::vector<TecScreen>> &tecScreens, const Slice &solutionInterval, double minimumBaselineThreshold, bool computeCal1, std::optional<unsigned int> referenceAntenna, const ComputeOptionsDTO &computeOptions) override
Interface for Leap calibration implementations.
Calibrates by performing phase rotation for each direction in
directionsby splitting uvws into integration batches per timestep.
Public Static Functions
-
static cpu::BeamCalibration BeamCalibrate(LeapData &leapData, const SphericalDirection &calibratorLabel, bool computeCal1, std::vector<Integration> &integrations)
Performs rotation, summing and calibration for
direction.- Parameters:
leapData – leapData object containing data required for calibration
calibratorLabel – label of the calibrator
input – batches of uvws and visibilities to process
integrations – summed visibility chunks
-
static void PhaseRotateAverageVisibilities(Integration &integration, LeapData &leapData)
Performs phase rotation and averaging over each baseline, channel and polarization.
- Parameters:
integration – The input integration batch of uvws and visibilities
leapData – The leapData object where AverageData is written to
-
static cpu::BeamCalibration ApplyInversion(const LeapData &leapData, const SphericalDirection &calibrator, bool computeCal1)
Applies inversion to input averaged visibilities to generate a beam calibration.
- Parameters:
leapData –
calibrator –
-
void Calibrate(std::function<void(const cpu::Calibration&)> outputCallback, const ska::LeapDataset &ds, const std::vector<SphericalDirection> &directions, const std::optional<std::vector<TecScreen>> &tecScreens, const Slice &solutionInterval, double minimumBaselineThreshold, bool computeCal1, std::optional<unsigned int> referenceAntenna, const ComputeOptionsDTO &computeOptions) override