111 void setInterpolationFunction(
const QString &sInterpolationFunction);
120 void setCancelDistance(
double dCancelDist);
130 void setInterpolationInfoLeft(
const Eigen::MatrixX3f &matVertices,
131 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
132 const Eigen::VectorXi &vecSourceVertices);
141 void setInterpolationInfoRight(
const Eigen::MatrixX3f &matVertices,
142 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
143 const Eigen::VectorXi &vecSourceVertices);
152 void setVisualizationType(
int iVisType);
163 void setAnnotationInfoLeft(
const Eigen::VectorXi &vecLabelIds,
164 const QList<FSLIB::FsLabel> &lLabels,
165 const Eigen::VectorXi &vecVertNo);
175 void setAnnotationInfoRight(
const Eigen::VectorXi &vecLabelIds,
176 const QList<FSLIB::FsLabel> &lLabels,
177 const Eigen::VectorXi &vecVertNo);
186 void computeInterpolationMatrix();
213 static double (*resolveInterpolationFunction(
const QString &name))(double);
226 static QSharedPointer<Eigen::SparseMatrix<float>> computeHemi(
227 const Eigen::MatrixX3f &matVertices,
228 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
229 Eigen::VectorXi vecSourceVertices,
231 double (*interpFunc)(
double));
244 static QSharedPointer<Eigen::SparseMatrix<float>> computeAnnotationOperator(
245 const QList<FSLIB::FsLabel> &lLabels,
246 const QMap<qint32, qint32> &mapLabelIdSrc,
247 const QList<int> &vertNos);
249 mutable QMutex m_mutex;
252 Eigen::MatrixX3f m_matVerticesLh;
253 std::vector<Eigen::VectorXi> m_vecNeighborsLh;
254 Eigen::VectorXi m_vecSourceVerticesLh;
255 bool m_hasLh =
false;
258 Eigen::MatrixX3f m_matVerticesRh;
259 std::vector<Eigen::VectorXi> m_vecNeighborsRh;
260 Eigen::VectorXi m_vecSourceVerticesRh;
261 bool m_hasRh =
false;
264 double m_dCancelDist = 0.05;
265 QString m_sInterpolationFunction = QStringLiteral(
"cubic");
271 QList<FSLIB::FsLabel> m_lLabelsLh;
272 QMap<qint32, qint32> m_mapLabelIdSourcesLh;
273 QList<int> m_vertNosLh;
274 bool m_bAnnotationLhInit =
false;
277 QList<FSLIB::FsLabel> m_lLabelsRh;
278 QMap<qint32, qint32> m_mapLabelIdSourcesRh;
279 QList<int> m_vertNosRh;
280 bool m_bAnnotationRhInit =
false;