27#ifndef FIFFLIB_FIFF_DIG_POINT_SET_H
28#define FIFFLIB_FIFF_DIG_POINT_SET_H
40#include <QSharedPointer>
85 using SPtr = QSharedPointer<FiffDigPointSet>;
86 using ConstSPtr = QSharedPointer<const FiffDigPointSet>;
87 using UPtr = std::unique_ptr<FiffDigPointSet>;
88 using ConstUPtr = std::unique_ptr<const FiffDigPointSet>;
170 const QStringList& chNames = QStringList(),
171 const QString& unit = QStringLiteral(
"m"));
187 Eigen::MatrixX3d& points,
188 const QString& unit = QStringLiteral(
"mm"),
189 bool requireHeader =
true);
242 QStringList* chNames =
nullptr,
243 const QString& nasion = QString(),
244 const QString& lpa = QString(),
245 const QString& rpa = QString());
281 inline qint32
size()
const;
291 bool write(QIODevice& p_IODevice);
305 bool write(
const QString& filePath, QString* errorMessage =
nullptr);
393 QList<FiffDigPoint> m_qListDigPoint;
402 m_qListDigPoint.clear();
409 return m_qListDigPoint.size() == 0;
416 return m_qListDigPoint.size();
420#ifndef metatype_fiffdigpointset
421#define metatype_fiffdigpointset
425#ifndef metatype_fiffdigpointset_sptr
426#define metatype_fiffdigpointset_sptr
FIFF binary tag-stream layer: wraps a QIODevice to read and write FIFF tags, directories,...
Q_DECLARE_METATYPE(FIFFLIB::FiffDigPointSet)
Export/import macros and build-info accessors for the FIFFLIB shared library.
#define FIFFSHARED_EXPORT
Single digitization point (FIFF_DIG_POINT) with kind (cardinal/HPI/EEG/extra), identifier and 3D coor...
FIFF file I/O, in-memory data structures and high-level readers/writers.
Labelled 4x4 FIFF affine: source frame, destination frame, rotation, translation and cached inverse.
One digitizer point: kind (cardinal/HPI/EEG/extra), ident, 3D position in FIFFV_COORD_HEAD.
Collection of FiffDigPoint records as parsed from a FIFFB_ISOTRAK block.
std::unique_ptr< FiffDigPointSet > UPtr
static bool readPolhemusFastscan(const QString &path, Eigen::MatrixX3d &points, const QString &unit=QStringLiteral("mm"), bool requireHeader=true)
bool write(QIODevice &p_IODevice)
static bool readPolhemusIsotrak(const QString &path, FiffDigPointSet &dig, const QStringList &chNames=QStringList(), const QString &unit=QStringLiteral("m"))
static bool readLocalite(const QString &path, FiffDigPointSet &dig, QStringList *chNames=nullptr, const QString &nasion=QString(), const QString &lpa=QString(), const QString &rpa=QString())
const FiffDigPoint & operator[](qint32 idx) const
FiffDigPointSet & operator<<(const FiffDigPoint &dig)
static bool readEgi(const QString &path, FiffDigPointSet &dig, QStringList *chNames=nullptr)
FiffDigPointSet pickTypes(QList< int > includeTypes) const
static bool readCaptrak(const QString &path, FiffDigPointSet &dig, QStringList *chNames=nullptr)
std::unique_ptr< const FiffDigPointSet > ConstUPtr
void applyTransform(const FiffCoordTrans &coordTrans, bool bApplyInverse=false)
FiffDigPointSet & operator=(const FiffDigPointSet &other)=default
static bool readNeuroscanDat(const QString &path, FiffDigPointSet &dig, QStringList *chNames=nullptr)
QSharedPointer< FiffDigPointSet > SPtr
void writeToStream(FiffStream *p_pStream)
static bool readFromStream(FiffStream::SPtr &p_Stream, FiffDigPointSet &p_Dig)
QSharedPointer< const FiffDigPointSet > ConstSPtr
QList< FiffDigPoint > getList()
Recursive FIFF block-tree node: block kind, block ID, directly contained directory entries and child ...
FIFF tag-stream reader/writer: wraps a QIODevice and exposes typed read_* / write_* methods for every...
QSharedPointer< FiffStream > SPtr