Head–device coregistration using the Polhemus Fastrak. More...
#include "../utils_global.h"#include "acquired_points.h"#include "polhemus_connection.h"#include <QMatrix4x4>#include <QObject>#include <QQuaternion>#include <QSettings>#include <QVector3D>#include <vector>

Go to the source code of this file.
Classes | |
| class | UTILSLIB::PolhemusCoregistration |
| Head–device coregistration engine driven by a Polhemus Fastrak. More... | |
| struct | UTILSLIB::PolhemusCoregistration::OpticalCalibSample |
Namespaces | |
| namespace | UTILSLIB |
| Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms). | |
Head–device coregistration using the Polhemus Fastrak.
SPDX-License-Identifier: BSD-3-Clause Copyright (c) 2026 MNE-CPP Authors
Two Polhemus stations work together:
- **Tracker station** — a rigid sensor fixed to an external
device (e.g. microscope) at a known calibration offset.
Its continuous stream provides the live device pose in
the Polhemus world (transmitter) frame.
- **Pen station** — the digitization stylus. The operator
touches anatomical landmarks (NAS, LPA, RPA) and free
head-surface points to build up an @ref AcquiredPoints store.
After capturing all three fiducials the caller invokes
@ref computeRegistration to obtain the head→device rigid
transform (@ref headToDevice). This matrix can be used
directly by a neuro-navigation pipeline.
The head coordinate frame follows the standard MEG/EEG convention:
- Origin at the midpoint of LPA and RPA.
- +X toward the nasion.
- +Y toward LPA (patient's left).
- +Z superior (up).
The tracker-to-device calibration offset
(@ref setTrackerToDeviceOffset) describes the rigid transform
from the tracker sensor body frame to the device frame.
It is determined once by a pivot-calibration procedure and
stored in the application settings.
Definition in file polhemus_coregistration.h.