114 void setInterpolationFunction(
const QString& sInterpolationFunction);
123 void setCancelDistance(
double dCancelDist);
133 void setInterpolationInfoLeft(
const Eigen::MatrixX3f& matVertices,
134 const std::vector<Eigen::VectorXi>& vecNeighborVertices,
135 const Eigen::VectorXi& vecSourceVertices);
144 void setInterpolationInfoRight(
const Eigen::MatrixX3f& matVertices,
145 const std::vector<Eigen::VectorXi>& vecNeighborVertices,
146 const Eigen::VectorXi& vecSourceVertices);
155 void setVisualizationType(
int iVisType);
166 void setAnnotationInfoLeft(
const Eigen::VectorXi& vecLabelIds,
167 const QList<FSLIB::FsLabel>& lLabels,
168 const Eigen::VectorXi& vecVertNo);
178 void setAnnotationInfoRight(
const Eigen::VectorXi& vecLabelIds,
179 const QList<FSLIB::FsLabel>& lLabels,
180 const Eigen::VectorXi& vecVertNo);
189 void computeInterpolationMatrix();
216 static double (*resolveInterpolationFunction(
const QString& name))(double);
229 static QSharedPointer<Eigen::SparseMatrix<float>> computeHemi(
230 const Eigen::MatrixX3f& matVertices,
231 const std::vector<Eigen::VectorXi>& vecNeighborVertices,
232 Eigen::VectorXi vecSourceVertices,
234 double (*interpFunc)(
double));
248 static QSharedPointer<Eigen::SparseMatrix<float>> computeAnnotationOperator(
249 const QList<FSLIB::FsLabel>& lLabels,
250 const QMap<qint32, qint32>& mapLabelIdSrc,
251 const QList<int>& vertNos,
254 mutable QMutex m_mutex;
257 Eigen::MatrixX3f m_matVerticesLh;
258 std::vector<Eigen::VectorXi> m_vecNeighborsLh;
259 Eigen::VectorXi m_vecSourceVerticesLh;
260 bool m_hasLh =
false;
263 Eigen::MatrixX3f m_matVerticesRh;
264 std::vector<Eigen::VectorXi> m_vecNeighborsRh;
265 Eigen::VectorXi m_vecSourceVerticesRh;
266 bool m_hasRh =
false;
269 double m_dCancelDist = 0.05;
270 QString m_sInterpolationFunction = QStringLiteral(
"cubic");
276 QList<FSLIB::FsLabel> m_lLabelsLh;
277 QMap<qint32, qint32> m_mapLabelIdSourcesLh;
278 QList<int> m_vertNosLh;
279 int m_nAnnotationVerticesLh = 0;
280 bool m_bAnnotationLhInit =
false;
283 QList<FSLIB::FsLabel> m_lLabelsRh;
284 QMap<qint32, qint32> m_mapLabelIdSourcesRh;
285 QList<int> m_vertNosRh;
286 int m_nAnnotationVerticesRh = 0;
287 bool m_bAnnotationRhInit =
false;