19#ifndef MNEMSHDISPLAYSURFACE_H
20#define MNEMSHDISPLAYSURFACE_H
40#include <QSharedPointer>
86 typedef QSharedPointer<MNEMshDisplaySurface>
SPtr;
87 typedef QSharedPointer<const MNEMshDisplaySurface>
ConstSPtr;
106 Eigen::Vector3f
eye{1.0f, 0.0f, 0.0f};
107 Eigen::Vector3f
up{0.0f, 0.0f, 1.0f};
108 Eigen::Vector3f
rot = Eigen::Vector3f::Zero();
109 Eigen::Vector3f
move = Eigen::Vector3f::Zero();
113 Eigen::Vector3f
minv = Eigen::Vector3f::Constant(-1.0f);
114 Eigen::Vector3f
maxv = Eigen::Vector3f::Constant(1.0f);
115 Eigen::Matrix4f
trans = Eigen::Matrix4f::Identity();
118 std::vector<std::unique_ptr<MNELIB::MNEMorphMap>>
maps;
144 std::vector<MNELIB::MNEMshPicked>
picked;
170 Eigen::Vector3f& scales);
180 const Eigen::Matrix<float, 3, 3, Eigen::RowMajor>& mri_fid,
181 Eigen::Vector3f& scales);
192 float maxdist)
const;
202 bool do_all,
bool do_approx)
const;
216 const std::optional<Eigen::Vector3f>& nasion_mri,
217 int last_step)
const;
233 void scale(
const Eigen::Vector3f& scales);
Legacy MNE-C constants and shared typedefs used across MNELIB structures.
Lightweight triangulated surface (vertices, triangles, normals) used by surface-based routines.
MNELIB shared-library export/import macros and library build metadata.
Core MNE data structures (source spaces, source estimates, hemispheres).
void(* mneUserFreeFunc)(void *)
Generic destructor callback for user-attached data.
FIFF file I/O, in-memory data structures and high-level readers/writers.
Registration-ready digitization data: dig points, device→head transform and HPI fit metadata.
Morph map of one hemisphere from one subject to another.
Color scale definition with value range and color mapping for surface visualization.
void get_head_scale(FIFFLIB::FiffDigitizerData &dig, const Eigen::Matrix< float, 3, 3, Eigen::RowMajor > &mri_fid, Eigen::Vector3f &scales)
float rms_digitizer_distance(FIFFLIB::FiffDigitizerData &dig) const
void decide_surface_extent(const QString &tag)
mneUserFreeFunc user_data_free
Eigen::Vector4f even_vertex_color
Eigen::Vector4f marker_color
void scale(const Eigen::Vector3f &scales)
Eigen::MatrixXi marker_tri
std::unique_ptr< MNELIB::MNEMshColorScaleDef > color_scale
void calculate_digitizer_distances(FIFFLIB::FiffDigitizerData &dig, bool do_all, bool do_approx) const
Eigen::VectorXf marker_colors
Eigen::VectorXf overlay_values
std::vector< MNELIB::MNEMshPicked > picked
QSharedPointer< const MNEMshDisplaySurface > ConstSPtr
Eigen::VectorXf marker_values
QSharedPointer< MNEMshDisplaySurface > SPtr
int align_fiducials(FIFFLIB::FiffDigitizerData &head_dig, const FIFFLIB::FiffDigitizerData &mri_dig, int niter, int scale_head, float omit_dist, Eigen::Vector3f &scales)
void setup_curvature_colors()
Eigen::VectorXf vertex_colors
Eigen::VectorXf alt_overlay_values
Eigen::VectorXi marker_tri_no
int discard_outlier_digitizer_points(FIFFLIB::FiffDigitizerData &d, float maxdist) const
std::vector< std::unique_ptr< MNELIB::MNEMorphMap > > maps
int iterate_alignment_once(FIFFLIB::FiffDigitizerData &dig, int nasion_weight, const std::optional< Eigen::Vector3f > &nasion_mri, int last_step) const
void decide_curv_display(const QString &name)
Picked point on a displayed surface storing vertex index, coordinates, and source value.