37#ifndef MNE_HEMISPHERE_H
38#define MNE_HEMISPHERE_H
56#include <Eigen/SparseCore>
85 using SPtr = std::shared_ptr<MNEHemisphere>;
86 using ConstSPtr = std::shared_ptr<const MNEHemisphere>;
243 Eigen::MatrixXf m_TriCoords;
260 for(
int i = 0; i < a.
pinfo.size(); ++i) {
274 a.
rr.isApprox(b.
rr, 0.0001f) &&
275 a.
nn.isApprox(b.
nn, 0.0001f) &&
294 if (a.neighbor_tri.size() != b.neighbor_tri.size()) return false;
295 for (size_t i = 0; i < a.neighbor_tri.size(); ++i) {
296 if (a.neighbor_tri[i].size() != b.neighbor_tri[i].size()) return false;
297 if (a.neighbor_tri[i].size() > 0 && !(a.neighbor_tri[i].array() == b.neighbor_tri[i].array()).all()) return false;
302 if (a.neighbor_vert.size() != b.neighbor_vert.size())
return false;
303 for (
size_t i = 0; i < a.neighbor_vert.size(); ++i) {
304 if (a.neighbor_vert[i].size() != b.neighbor_vert[i].size())
return false;
305 if (a.neighbor_vert[i].size() > 0 && !(a.neighbor_vert[i].array() == b.neighbor_vert[i].array()).all())
return false;
309 a.cluster_info == b.cluster_info &&
310 a.m_TriCoords.isApprox(b.m_TriCoords, 0.0001f));
FIFF class declaration, which provides static wrapper functions to stay consistent with mne matlab to...
Old fiff_type declarations - replace them.
mne library export/import macros.
MNEClusterInfo class declaration, which provides cluster information.
MNESourceSpace class declaration.
Core MNE data structures (source spaces, source estimates, hemispheres).
bool operator==(const MNEClusterInfo &a, const MNEClusterInfo &b)
Coordinate transformation description.
Eigen::SparseMatrix< double > toEigenSparse() const
void writeToStream(FIFFLIB::FiffStream *p_pStream)
Eigen::MatrixX3d tri_cent
bool complete_source_space_info()
Eigen::VectorXd use_tri_area
Eigen::MatrixX3d use_tri_cent
Eigen::MatrixXf & getTriCoords(float p_fScaling=1.0f)
MNEHemisphere & operator=(const MNEHemisphere &other)
bool compute_patch_info()
MNESourceSpace::SPtr clone() const override
bool transform_hemisphere_to(FIFFLIB::fiff_int_t dest, const FIFFLIB::FiffCoordTrans &p_Trans)
MNEClusterInfo cluster_info
Eigen::MatrixX3d use_tri_nn
std::shared_ptr< const MNEHemisphere > ConstSPtr
QList< Eigen::VectorXi > pinfo
std::shared_ptr< MNEHemisphere > SPtr
Eigen::VectorXi patch_inds
std::shared_ptr< MNESourceSpace > SPtr
Eigen::VectorXd nearestDistVec() const
FIFFLIB::FiffSparseMatrix dist
Eigen::VectorXi nearestVertIdx() const