Class CpuLeapCalibrator

Inheritance Relationships

Base Type

Class Documentation

class CpuLeapCalibrator : public icrar::ILeapCalibrator

Leap Calibration implementation using.

Public Functions

void Calibrate(std::function<void(const cpu::Calibration&)> outputCallback, const icrar::MeasurementSet &ms, const std::vector<SphericalDirection> &directions, const Slice &solutionInterval, double minimumBaselineThreshold, bool computeCal1, boost::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 void BeamCalibrate(LeapData &leapData, const SphericalDirection &direction, bool computeCal1, std::vector<Integration> &integrations, std::vector<BeamCalibration> &output_calibrations)

Performs rotation, summing and calibration for direction.

Parameters:
  • leapData – leapData object containing data required for calibration

  • direction – the direction to calibrate for

  • input – batches of uvws and visibilities to process

  • output_calibrations – output calibration from summing a function of uvws and visibilities

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 void ApplyInversion(cpu::LeapData &leapData, const SphericalDirection &direction, bool computeCal1, std::vector<cpu::BeamCalibration> &output_calibrations)

Applies inversion to input averaged visibilities to generate beam calibrations.

Parameters:
  • leapData

  • output_calibrations