121 void setInterpolationFunction(
const QString &sInterpolationFunction);
130 void setCancelDistance(
double dCancelDist);
140 void setInterpolationInfoLeft(
const Eigen::MatrixX3f &matVertices,
141 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
142 const Eigen::VectorXi &vecSourceVertices);
151 void setInterpolationInfoRight(
const Eigen::MatrixX3f &matVertices,
152 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
153 const Eigen::VectorXi &vecSourceVertices);
162 void setVisualizationType(
int iVisType);
173 void setAnnotationInfoLeft(
const Eigen::VectorXi &vecLabelIds,
174 const QList<FSLIB::Label> &lLabels,
175 const Eigen::VectorXi &vecVertNo);
185 void setAnnotationInfoRight(
const Eigen::VectorXi &vecLabelIds,
186 const QList<FSLIB::Label> &lLabels,
187 const Eigen::VectorXi &vecVertNo);
196 void computeInterpolationMatrix();
223 static double (*resolveInterpolationFunction(
const QString &name))(double);
236 static QSharedPointer<Eigen::SparseMatrix<float>> computeHemi(
237 const Eigen::MatrixX3f &matVertices,
238 const std::vector<Eigen::VectorXi> &vecNeighborVertices,
239 Eigen::VectorXi vecSourceVertices,
241 double (*interpFunc)(
double));
254 static QSharedPointer<Eigen::SparseMatrix<float>> computeAnnotationOperator(
255 const QList<FSLIB::Label> &lLabels,
256 const QMap<qint32, qint32> &mapLabelIdSrc,
257 const QList<int> &vertNos);
259 mutable QMutex m_mutex;
262 Eigen::MatrixX3f m_matVerticesLh;
263 std::vector<Eigen::VectorXi> m_vecNeighborsLh;
264 Eigen::VectorXi m_vecSourceVerticesLh;
265 bool m_hasLh =
false;
268 Eigen::MatrixX3f m_matVerticesRh;
269 std::vector<Eigen::VectorXi> m_vecNeighborsRh;
270 Eigen::VectorXi m_vecSourceVerticesRh;
271 bool m_hasRh =
false;
274 double m_dCancelDist = 0.05;
275 QString m_sInterpolationFunction = QStringLiteral(
"cubic");
281 QList<FSLIB::Label> m_lLabelsLh;
282 QMap<qint32, qint32> m_mapLabelIdSourcesLh;
283 QList<int> m_vertNosLh;
284 bool m_bAnnotationLhInit =
false;
287 QList<FSLIB::Label> m_lLabelsRh;
288 QMap<qint32, qint32> m_mapLabelIdSourcesRh;
289 QList<int> m_vertNosRh;
290 bool m_bAnnotationRhInit =
false;