49#include <QSharedPointer>
86 typedef QSharedPointer<SensorSet>
SPtr;
102 explicit SensorSet(
const QSharedPointer<FWDLIB::FwdCoilSet> pFwdCoilSet);
104 inline int np()
const;
105 inline int ncoils()
const;
106 inline Eigen::VectorXd
ez(
int iSensor)
const;
107 inline Eigen::MatrixXd
ez()
const;
109 inline Eigen::VectorXd
r0(
int iSensor)
const;
110 inline Eigen::MatrixXd
r0()
const;
112 inline Eigen::MatrixXd
rmag(
int iSensor)
const;
113 inline Eigen::MatrixXd
rmag()
const;
115 inline Eigen::MatrixXd
cosmag(
int iSensor)
const;
116 inline Eigen::MatrixXd
cosmag()
const;
118 inline Eigen::MatrixXd
tra(
int iSensor)
const;
119 inline Eigen::MatrixXd
tra()
const;
121 inline Eigen::RowVectorXd
w(
int iSensor)
const;
122 inline Eigen::RowVectorXd
w()
const;
124 inline bool operator== (
const SensorSet &b)
const;
125 inline bool operator!= (
const SensorSet &b)
const;
134 void initFromFwdCoilSet(
const QSharedPointer<FWDLIB::FwdCoilSet> pFwdCoilSet);
142 void initMatrices(
int iNchan,
int iNp);
144 Eigen::MatrixXd m_ez{Eigen::MatrixXd(0,0)};
145 Eigen::MatrixXd m_r0{Eigen::MatrixXd(0,0)};
146 Eigen::MatrixXd m_rmag{Eigen::MatrixXd(0,0)};
147 Eigen::MatrixXd m_cosmag{Eigen::MatrixXd(0,0)};
148 Eigen::MatrixXd m_tra{Eigen::MatrixXd(0,0)};
149 Eigen::RowVectorXd m_w{Eigen::RowVectorXd(0)};
170 return m_ez.row(iSensor);
180 return m_r0.row(iSensor);
190 return m_w.segment(iSensor*m_np,m_np);
200 return m_rmag.block(iSensor*m_np,0,m_np,3);
210 return m_cosmag.block(iSensor*m_np,0,m_np,3);
226 return (this->
ez() == b.
ez() &&
227 this->r0() == b.
r0() &&
228 this->rmag() == b.
rmag() &&
229 this->cosmag() == b.
cosmag() &&
230 this->tra() == b.
tra() &&
231 this->w() == b.
w() &&
232 this->np() == b.
np() &&
233 this->ncoils() == b.
ncoils());
240 bool equal =
this==&b;
254 typedef QSharedPointer<SensorSetCreator>
SPtr;
255 typedef QSharedPointer<const SensorSetCreator>
ConstSPtr;
275 QSharedPointer<FWDLIB::FwdCoilSet> m_pCoilDefinitions{
nullptr};
inverse library export/import macros.
#define INVERSESHARED_EXPORT
FIFF file I/O and data structures (raw, epochs, evoked, covariance, forward).
Inverse source estimation (MNE, dSPM, sLORETA, dipole fitting).
Forward modelling (BEM, MEG/EEG lead fields).
Coordinate transformation description.
Holds a set of digitizer points.
Single MEG or EEG sensor coil with integration points, weights, and coordinate frame.
Collection of FwdCoil objects representing a full MEG or EEG sensor array.
Stores MEG sensor geometry (positions, orientations, weights, coil count) for a single sensor type.
Eigen::MatrixXd rmag(int iSensor) const
Eigen::MatrixXd tra() const
Eigen::MatrixXd cosmag(int iSensor) const
Eigen::MatrixXd rmag() const
QSharedPointer< const SensorSet > ConstSPtr
Eigen::MatrixXd cosmag() const
bool operator!=(const SensorSet &b) const
bool operator==(const SensorSet &b) const
Eigen::VectorXd r0(int iSensor) const
QSharedPointer< SensorSet > SPtr
Eigen::MatrixXd ez() const
SensorSet(const QSharedPointer< FWDLIB::FwdCoilSet > pFwdCoilSet)
Eigen::VectorXd ez(int iSensor) const
Eigen::MatrixXd r0() const
Eigen::RowVectorXd w(int iSensor) const
Eigen::MatrixXd tra(int iSensor) const
Eigen::RowVectorXd w() const
QSharedPointer< const SensorSetCreator > ConstSPtr
QSharedPointer< SensorSetCreator > SPtr
SensorSet updateSensorSet(const QList< FIFFLIB::FiffChInfo > &channelList, const Accuracy &accuracy)