Class CpuLeapCalibrator

Inheritance Relationships

Base Type

Class Documentation

class icrar::cpu::CpuLeapCalibrator : public icrar::ILeapCalibrator

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, 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

void PhaseRotate(MetaData &metadata, const SphericalDirection &direction, std::vector<Integration> &input, std::vector<BeamCalibration> &output_calibrations)

Performs rotation, summing and calibration for direction.

Parameters
  • metadata: metadata 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

void RotateVisibilities(Integration &integration, MetaData &metadata)

Performs averaging over each baseline, channel and polarization.

Parameters
  • integration: The input integration batch of uvws and visibilities

  • metadata: The metadata object where AverageData is written to