19#ifndef MNEMSHDISPLAYSURFACE_H
20#define MNEMSHDISPLAYSURFACE_H
40#include <QSharedPointer>
81 typedef QSharedPointer<MNEMshDisplaySurface>
SPtr;
82 typedef QSharedPointer<const MNEMshDisplaySurface>
ConstSPtr;
101 Eigen::Vector3f
eye{1.0f, 0.0f, 0.0f};
102 Eigen::Vector3f
up{0.0f, 0.0f, 1.0f};
103 Eigen::Vector3f
rot = Eigen::Vector3f::Zero();
104 Eigen::Vector3f
move = Eigen::Vector3f::Zero();
108 Eigen::Vector3f
minv = Eigen::Vector3f::Constant(-1.0f);
109 Eigen::Vector3f
maxv = Eigen::Vector3f::Constant(1.0f);
110 Eigen::Matrix4f
trans = Eigen::Matrix4f::Identity();
113 std::vector<std::unique_ptr<MNELIB::MNEMorphMap>>
maps;
139 std::vector<MNELIB::MNEMshPicked>
picked;
166 Eigen::Vector3f& scales);
172 const Eigen::Matrix<float, 3, 3, Eigen::RowMajor>& mri_fid,
173 Eigen::Vector3f& scales);
179 float maxdist)
const;
185 bool do_all,
bool do_approx)
const;
192 const std::optional<Eigen::Vector3f>& nasion_mri,
193 int last_step)
const;
203 void scale(
const Eigen::Vector3f& scales);
Lightweight triangulated surface (vertices, triangles, normals) used by surface-based routines.
MNELIB shared-library export/import macros and library build metadata.
Legacy MNE-C constants and shared typedefs used across MNELIB structures.
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.
Vertex-to-vertex mapping between two FreeSurfer surface meshes for morphing source estimates.
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.