Class CpuLeapCalibrator

Inheritance Relationships

Base Type

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 directions by 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