Skip to main content

FineCalEntry

Namespace: RTPROCESSINGLIB  ·  Library: DSP Library

#include <dsp/fine_calibration.h>

struct UTILSLIB::FineCalEntry

Per-sensor fine calibration entry.

src/examples/ex_dsp_maxwell/main.cpp
FineCalibration calibration;
FineCalEntry magnetometer;
magnetometer.chNumber = 111; // numbers ending in 1 are magnetometers
magnetometer.position = Vector3d(-0.1066, 0.0464, -0.0604);
magnetometer.imbalance = VectorXd::Constant(1, 0.996645); // calibration factor
calibration.addEntry(magnetometer);
const QString calPath = dir.filePath("sss_cal.dat"); // the format of mne.preprocessing.write_fine_calibration
const bool calWritten = calibration.write(calPath);
const FineCalibration calBack = FineCalibration::read(calPath);

Example​

Used in examples​

ex_dsp_maxwell​

DSP Maxwell filtering: SSS, bad-channel detection, movement compensation, fine calibration and cHPI removal.

src/examples/ex_dsp_maxwell/main.cpp, line 174
FineCalibration calibration;
FineCalEntry magnetometer;
magnetometer.chNumber = 111; // numbers ending in 1 are magnetometers
magnetometer.position = Vector3d(-0.1066, 0.0464, -0.0604);
magnetometer.imbalance = VectorXd::Constant(1, 0.996645); // calibration factor
calibration.addEntry(magnetometer);
const QString calPath = dir.filePath("sss_cal.dat"); // the format of mne.preprocessing.write_fine_calibration
const bool calWritten = calibration.write(calPath);
const FineCalibration calBack = FineCalibration::read(calPath);
ok &= expect(calWritten && calBack.size() == 1 && calBack.gainVector()(0) == 0.996645 && calBack.entries().first().position.isApprox(magnetometer.position),
"FineCalibration round-trips a magnetometer line");

Authors of this file​