Libs/Particles/ReconstructSurface.h
Namespaces
| Name |
|---|
| shapeworks User usage reporting (telemetry) |
Classes
| Name | |
|---|---|
| class | shapeworks::ReconstructSurface |
Source code
```cpp
pragma once
include "Libs/Alignment/Transforms/itkThinPlateSplineKernelTransform2.h"
include "Libs/Alignment/Transforms/itkCompactlySupportedRBFSparseKernelTransform.h"
include "Mesh.h"
include
namespace shapeworks {
using ThinPlateSplineTransform = itk::ThinPlateSplineKernelTransform2
template
ReconstructSurface() = default; ReconstructSurface(const std::string &denseFile, const std::string &sparseFile, const std::string &goodPointsFile);
double computeAverageDistanceToNeighbors(vtkSmartPointer
void checkMapping(TransformTypePtr transform, vtkSmartPointer
void generateWarpedMeshes(TransformTypePtr transform, vtkSmartPointer
Mesh getMesh(PointArray localPoints);
vtkSmartPointer
int computeMedianShape(std::vector
void performKMeansClustering(std::vector
Eigen::MatrixXd computeParticlesNormals(vtkSmartPointer
vtkSmartPointer
void computeDenseMean(std::vector
std::vector
void writeMeanInfo();
void surface(const std::vector
void samplesAlongPCAModes(const std::vector
void meanSurface(const std::vector
// set operations //
void setOutPrefix(std::string prefix) { this->outPrefix = prefix; }
void setOutPath(std::string path) { this->outPath = path; }
void setDoProcrustes(bool doProcrusts) { this->doProcrustes = doProcrustes; }
void setDoProcrustesScaling(bool doProcrustsScaling) { this->doProcrustesScaling = doProcrustesScaling; }
void setPairwiseNormalsDiffForGoodBad(bool pairwiseNormalsDiffForGoodBad) { this->pairwiseNormalsDiffForGoodBad = pairwiseNormalsDiffForGoodBad; }
void setMeanBeforeWarp(bool meanBeforeWarp) { this->meanBeforeWarp = meanBeforeWarp; }
void setEnableOutput(bool enableOutput) { this->enableOutput = enableOutput; }
void setModeIndex(int modeIndex) { this->modeIndex = modeIndex; }
void setNumOfModes(int numOfModes) { this->numOfModes = numOfModes; }
void setNumOfSamplesPerMode(int numOfSamplesPerMode) { this->numOfSamplesPerMode = numOfSamplesPerMode; }
void setNumOfParticles(int numOfParticles) { this->numOfParticles = numOfParticles; }
void setNumOfClusters(int numOfClusters) { this->numOfClusters = numOfClusters; }
void setMaxStdDev(float maxStdDev) { this->maxStdDev = maxStdDev; }
void setMaxVarianceCaptured(float maxVarianceCaptured) { this->maxVarianceCaptured = maxVarianceCaptured; }
void setMaxAngleDegrees(float maxAngleDegrees) { this->maxAngleDegrees = maxAngleDegrees; }
private:
float normalAngle = Pi/2.0;
std::vector
vtkSmartPointer
};
} // shapeworks ```
Updated on 2026-03-31 at 16:02:11 +0000