Hemisphere provides geometry information. More...
#include <mne_hemisphere.h>
Public Types | |
| using | SPtr = std::shared_ptr<MNEHemisphere> |
| using | ConstSPtr = std::shared_ptr<const MNEHemisphere> |
| Public Types inherited from MNELIB::MNESourceSpace | |
| using | SPtr = std::shared_ptr<MNESourceSpace> |
| using | ConstSPtr = std::shared_ptr<const MNESourceSpace> |
| Public Types inherited from MNELIB::MNESurfaceOrVolume | |
| typedef QSharedPointer< MNESurfaceOrVolume > | SPtr |
| typedef QSharedPointer< const MNESurfaceOrVolume > | ConstSPtr |
| typedef Eigen::Matrix< float, Eigen::Dynamic, 3, Eigen::RowMajor > | PointsT |
| typedef Eigen::Matrix< float, Eigen::Dynamic, 3, Eigen::RowMajor > | NormalsT |
| typedef Eigen::Matrix< int, Eigen::Dynamic, 3, Eigen::RowMajor > | TrianglesT |
Public Member Functions | |
| MNEHemisphere () | |
| MNEHemisphere (const MNEHemisphere &p_MNEHemisphere) | |
| ~MNEHemisphere () override | |
| MNESourceSpace::SPtr | clone () const override |
| bool | add_geometry_info () |
| bool | complete_source_space_info () |
| bool | compute_patch_info () |
| void | clear () |
| Eigen::MatrixXf & | getTriCoords (float p_fScaling=1.0f) |
| bool | isClustered () const |
| bool | transform_hemisphere_to (FIFFLIB::fiff_int_t dest, const FIFFLIB::FiffCoordTrans &p_Trans) |
| void | writeToStream (FIFFLIB::FiffStream *p_pStream) |
| MNEHemisphere & | operator= (const MNEHemisphere &other) |
| Public Member Functions inherited from MNELIB::MNESourceSpace | |
| MNESourceSpace (int np=0) | |
| ~MNESourceSpace () override | |
| void | enable_all_sources () |
| int | is_left_hemi () const |
| qint32 | find_source_space_hemi () const |
| void | update_inuse (Eigen::VectorXi new_inuse) |
| int | transform_source_space (const FIFFLIB::FiffCoordTrans &t) |
| int | add_patch_stats () |
| void | rearrange_source_space () |
| Public Member Functions inherited from MNELIB::MNESurfaceOrVolume | |
| MNESurfaceOrVolume () | |
| Constructs the MNE Surface or Volume. | |
| virtual | ~MNESurfaceOrVolume () |
| Destroys the MNE Surface or Volume description. | |
| MNESurfaceOrVolume (const MNESurfaceOrVolume &)=default | |
| MNESurfaceOrVolume & | operator= (const MNESurfaceOrVolume &)=default |
| MNESurfaceOrVolume (MNESurfaceOrVolume &&)=default | |
| MNESurfaceOrVolume & | operator= (MNESurfaceOrVolume &&)=default |
| void | add_uniform_curv () |
| void | add_triangle_data () |
| void | compute_surface_cm () |
| void | calculate_vertex_distances () |
| int | add_vertex_normals () |
| int | add_geometry_info (int do_normals, int check_too_many_neighbors) |
| int | add_geometry_info (int do_normals) |
| int | add_geometry_info2 (int do_normals) |
| Eigen::VectorXi | nearestVertIdx () const |
| Eigen::VectorXd | nearestDistVec () const |
| void | setNearestData (const Eigen::VectorXi &nearestIdx, const Eigen::VectorXd &nearestDist) |
Public Attributes | |
| QList< Eigen::VectorXi > | pinfo |
| Eigen::VectorXi | patch_inds |
| Eigen::MatrixX3d | tri_cent |
| Eigen::MatrixX3d | tri_nn |
| Eigen::VectorXd | tri_area |
| Eigen::MatrixX3d | use_tri_cent |
| Eigen::MatrixX3d | use_tri_nn |
| Eigen::VectorXd | use_tri_area |
| MNEClusterInfo | cluster_info |
| Public Attributes inherited from MNELIB::MNESurfaceOrVolume | |
| int | type |
| QString | subject |
| int | id |
| int | coord_frame |
| std::optional< MNEVolGeom > | vol_geom |
| std::optional< MNEMghTagGroup > | mgh_tags |
| int | np |
| PointsT | rr |
| NormalsT | nn |
| float | cm [3] |
| Eigen::VectorXi | inuse |
| Eigen::VectorXi | vertno |
| int | nuse |
| std::vector< Eigen::VectorXi > | neighbor_vert |
| Eigen::VectorXi | nneighbor_vert |
| std::vector< Eigen::VectorXf > | vert_dist |
| float | sigma |
| int | ntri |
| std::vector< MNETriangle > | tris |
| TrianglesT | itris |
| float | tot_area |
| int | nuse_tri |
| std::vector< MNETriangle > | use_tris |
| TrianglesT | use_itris |
| std::vector< Eigen::VectorXi > | neighbor_tri |
| Eigen::VectorXi | nneighbor_tri |
| std::vector< MNENearest > | nearest |
| std::vector< std::optional< MNEPatchInfo > > | patches |
| FIFFLIB::FiffSparseMatrix | dist |
| float | dist_limit |
| Eigen::VectorXf | curv |
| Eigen::VectorXf | val |
| std::optional< FIFFLIB::FiffCoordTrans > | voxel_surf_RAS_t |
| int | vol_dims [3] |
| float | voxel_size [3] |
| std::optional< FIFFLIB::FiffSparseMatrix > | interpolator |
| QString | MRI_volume |
| std::optional< FIFFLIB::FiffCoordTrans > | MRI_voxel_surf_RAS_t |
| std::optional< FIFFLIB::FiffCoordTrans > | MRI_surf_RAS_RAS_t |
| int | MRI_vol_dims [3] |
Friends | |
| bool | operator== (const MNEHemisphere &a, const MNEHemisphere &b) |
Additional Inherited Members | |
| Static Public Member Functions inherited from MNELIB::MNESourceSpace | |
| static std::unique_ptr< MNESourceSpace > | create_source_space (int np) |
| static std::unique_ptr< MNESourceSpace > | load_surface (const QString &surf_file, const QString &curv_file) |
| static std::unique_ptr< MNESourceSpace > | load_surface_geom (const QString &surf_file, const QString &curv_file, int add_geometry, int check_too_many_neighbors) |
| static MNESourceSpace * | make_volume_source_space (const MNESurface &surf, float grid, float exclude, float mindist) |
| static int | filter_source_spaces (const MNESurface &surf, float limit, const FIFFLIB::FiffCoordTrans &mri_head_t, std::vector< std::unique_ptr< MNESourceSpace > > &spaces, QTextStream *filtered) |
| static void | filter_source_space (FilterThreadArg *arg) |
| static int | filter_source_spaces (float limit, const QString &bemfile, const FIFFLIB::FiffCoordTrans &mri_head_t, std::vector< std::unique_ptr< MNESourceSpace > > &spaces, QTextStream *filtered, bool use_threads) |
| static int | read_source_spaces (const QString &name, std::vector< std::unique_ptr< MNESourceSpace > > &spaces) |
| static int | transform_source_spaces_to (int coord_frame, const FIFFLIB::FiffCoordTrans &t, std::vector< std::unique_ptr< MNESourceSpace > > &spaces) |
| static int | restrict_sources_to_labels (std::vector< std::unique_ptr< MNESourceSpace > > &spaces, const QStringList &labels, int nlabel) |
| static int | read_label (const QString &label, Eigen::VectorXi &sel) |
| Static Public Member Functions inherited from MNELIB::MNESurfaceOrVolume | |
| static double | solid_angle (const Eigen::Vector3f &from, const MNELIB::MNETriangle &tri) |
| static void | compute_cm (const PointsT &rr, int np, float(&cm)[3]) |
Hemisphere provides geometry information.
Hemisphere source space geometry information
Definition at line 82 of file mne_hemisphere.h.

| using MNELIB::MNEHemisphere::ConstSPtr = std::shared_ptr<const MNEHemisphere> |
Const shared pointer type for MNEHemisphere.
Definition at line 86 of file mne_hemisphere.h.
| using MNELIB::MNEHemisphere::SPtr = std::shared_ptr<MNEHemisphere> |
Shared pointer type for MNEHemisphere.
Definition at line 85 of file mne_hemisphere.h.
| MNEHemisphere::MNEHemisphere | ( | ) |
Constructors the hemisphere source space.
Definition at line 61 of file mne_hemisphere.cpp.
| MNEHemisphere::MNEHemisphere | ( | const MNEHemisphere & | p_MNEHemisphere | ) |
Copy constructor.
| [in] | p_MNEHemisphere | Hemisphere source space which should be copied. |
Definition at line 86 of file mne_hemisphere.cpp.
|
override |
Destroys the hemisphere source space.
Definition at line 166 of file mne_hemisphere.cpp.
| bool MNEHemisphere::add_geometry_info | ( | ) |
Add vertex normals and neighbourhood information
| [in,out] | p_pHemisphere | Hemisphere to be completed. |
Definition at line 351 of file mne_hemisphere.cpp.
| void MNEHemisphere::clear | ( | ) |
Initializes the hemisphere source space.
Definition at line 407 of file mne_hemisphere.cpp.
|
overridevirtual |
Creates a deep copy of this hemisphere, preserving the MNEHemisphere type.
Reimplemented from MNELIB::MNESourceSpace.
Definition at line 172 of file mne_hemisphere.cpp.
| bool MNEHemisphere::complete_source_space_info | ( | ) |
Complete triangulation information (triangle centers, normals, areas) for both the main and use triangulations.
Definition at line 179 of file mne_hemisphere.cpp.
| bool MNEHemisphere::compute_patch_info | ( | ) |
Compute patch statistics from the nearest-vertex data. Fills pinfo (per-patch vertex lists) and patch_inds (patch index per vertex).
Definition at line 278 of file mne_hemisphere.cpp.
| MatrixXf & MNEHemisphere::getTriCoords | ( | float | p_fScaling = 1.0f | ) |
Qt 3d geometry information. Data are generated within first call.
| [in] | p_fScaling | Scale factor of the returned geometry tri model. |
Definition at line 448 of file mne_hemisphere.cpp.
|
inline |
is hemisphere clustered?
Definition at line 250 of file mne_hemisphere.h.
| MNEHemisphere & MNEHemisphere::operator= | ( | const MNEHemisphere & | other | ) |
Copy assignment operator.
| [in] | other | The MNEHemisphere to assign from. |
Definition at line 122 of file mne_hemisphere.cpp.
| bool MNEHemisphere::transform_hemisphere_to | ( | FIFFLIB::fiff_int_t | dest, |
| const FIFFLIB::FiffCoordTrans & | p_Trans ) |
mne_transform_source_space_to
Definition of the mne_transform_source_space_to for a single hemisphere function Transform source space data to the desired coordinate system.
| [in] | dest | The id of the destination coordinate system (FIFFV_COORD_...). |
| [in] | p_Trans | The coordinate transformation structure to use. |
Definition at line 468 of file mne_hemisphere.cpp.
| void MNEHemisphere::writeToStream | ( | FIFFLIB::FiffStream * | p_pStream | ) |
mne_python _write_one_source_space
Write the hemisphere to a FIF stream
| [in] | p_pStream | The stream to write to. |
Definition at line 502 of file mne_hemisphere.cpp.
|
friend |
Overloaded == operator to compare an object to this instance.
| [in] | object | The object which should be compared to. |
Definition at line 257 of file mne_hemisphere.h.
| MNEClusterInfo MNELIB::MNEHemisphere::cluster_info |
Holds the cluster information.
Definition at line 240 of file mne_hemisphere.h.
| Eigen::VectorXi MNELIB::MNEHemisphere::patch_inds |
List of neighboring vertices in the high resolution triangulation.
Definition at line 230 of file mne_hemisphere.h.
| QList<Eigen::VectorXi> MNELIB::MNEHemisphere::pinfo |
Patch information (using option -cps during mne_setup_source_space).
Definition at line 229 of file mne_hemisphere.h.
| Eigen::VectorXd MNELIB::MNEHemisphere::tri_area |
Triangle areas.
Definition at line 235 of file mne_hemisphere.h.
| Eigen::MatrixX3d MNELIB::MNEHemisphere::tri_cent |
Triangle centers.
Definition at line 233 of file mne_hemisphere.h.
| Eigen::MatrixX3d MNELIB::MNEHemisphere::tri_nn |
Triangle normals.
Definition at line 234 of file mne_hemisphere.h.
| Eigen::VectorXd MNELIB::MNEHemisphere::use_tri_area |
Triangle areas of used triangles.
Definition at line 238 of file mne_hemisphere.h.
| Eigen::MatrixX3d MNELIB::MNEHemisphere::use_tri_cent |
Triangle centers of used triangles.
Definition at line 236 of file mne_hemisphere.h.
| Eigen::MatrixX3d MNELIB::MNEHemisphere::use_tri_nn |
Triangle normals of used triangles.
Definition at line 237 of file mne_hemisphere.h.