|
| vtkTypeMacro (ttkMorseSmaleComplex, ttkAlgorithm) |
|
| vtkSetMacro (ForceInputOffsetScalarField, bool) |
|
| vtkGetMacro (ForceInputOffsetScalarField, bool) |
|
| vtkSetMacro (IterationThreshold, int) |
|
| vtkGetMacro (IterationThreshold, int) |
|
| vtkSetMacro (ComputeCriticalPoints, bool) |
|
| vtkGetMacro (ComputeCriticalPoints, bool) |
|
| vtkSetMacro (ComputeAscendingSeparatrices1, bool) |
|
| vtkGetMacro (ComputeAscendingSeparatrices1, bool) |
|
| vtkSetMacro (ComputeDescendingSeparatrices1, bool) |
|
| vtkGetMacro (ComputeDescendingSeparatrices1, bool) |
|
| vtkSetMacro (ComputeSaddleConnectors, bool) |
|
| vtkGetMacro (ComputeSaddleConnectors, bool) |
|
| vtkSetMacro (ComputeAscendingSeparatrices2, bool) |
|
| vtkGetMacro (ComputeAscendingSeparatrices2, bool) |
|
| vtkSetMacro (ComputeDescendingSeparatrices2, bool) |
|
| vtkGetMacro (ComputeDescendingSeparatrices2, bool) |
|
| vtkSetMacro (ComputeAscendingSegmentation, bool) |
|
| vtkGetMacro (ComputeAscendingSegmentation, bool) |
|
| vtkSetMacro (ComputeDescendingSegmentation, bool) |
|
| vtkGetMacro (ComputeDescendingSegmentation, bool) |
|
| vtkSetMacro (ComputeFinalSegmentation, bool) |
|
| vtkGetMacro (ComputeFinalSegmentation, bool) |
|
| vtkSetMacro (ReturnSaddleConnectors, int) |
|
| vtkGetMacro (ReturnSaddleConnectors, int) |
|
| vtkSetMacro (SaddleConnectorsPersistenceThreshold, double) |
|
| vtkGetMacro (SaddleConnectorsPersistenceThreshold, double) |
|
| vtkTypeMacro (ttkAlgorithm, vtkAlgorithm) |
|
void | UpdateThreadNumber () |
|
void | SetThreadNumber (int threadNumber) |
|
void | SetUseAllCores (bool useAllCores) |
|
void | SetDebugLevel (int debugLevel) |
|
vtkDataArray * | GetOptionalArray (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, const int &inputPort=0) |
|
vtkDataArray * | GetOrderArray (vtkDataSet *const inputData, const int scalarArrayIdx, const int orderArrayIdx=0, const bool enforceOrderArrayIdx=false) |
|
ttk::SimplexId * | GetIdentifierArrayPtr (const bool &enforceArrayIndex, const int &arrayIndex, const std::string &arrayName, vtkDataSet *const inputData, std::vector< ttk::SimplexId > &spareStorage, const int inputPort=0) |
|
ttk::Triangulation * | GetTriangulation (vtkDataSet *object) |
|
int | ProcessRequest (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) override |
|
vtkDataSet * | GetOutput () |
|
vtkDataSet * | GetOutput (int) |
|
void | SetInputData (vtkDataSet *) |
|
void | SetInputData (int, vtkDataSet *) |
|
void | AddInputData (vtkDataSet *) |
|
void | AddInputData (int, vtkDataSet *) |
|
| Debug () |
|
virtual | ~Debug () |
|
int | printMsg (const std::string &msg, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::string > &msgs, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printErr (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printWrn (const std::string &msg, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cerr) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const double &memory, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const double &time, const int &threads, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::PERFORMANCE, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const double &progress, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::vector< std::vector< std::string >> &rows, const debug::Priority &priority=debug::Priority::INFO, const bool hasHeader=true, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
int | printMsg (const debug::Separator &separator, const debug::Priority &priority, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsg (const std::string &msg, const debug::Separator &separator, const debug::LineMode &lineMode=debug::LineMode::NEW, const debug::Priority &priority=debug::Priority::INFO, std::ostream &stream=std::cout) const |
|
void | setDebugMsgPrefix (const std::string &prefix) |
|
| BaseClass () |
|
virtual | ~BaseClass ()=default |
|
int | getThreadNumber () const |
|
|
template<typename scalarType , typename triangulationType > |
int | dispatch (vtkDataArray *const inputScalars, vtkPolyData *const outputCriticalPoints, vtkPolyData *const outputSeparatrices1, vtkPolyData *const outputSeparatrices2, const triangulationType &triangulation) |
|
| ttkMorseSmaleComplex () |
|
int | FillInputPortInformation (int port, vtkInformation *info) override |
|
int | FillOutputPortInformation (int port, vtkInformation *info) override |
|
int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
|
| ttkAlgorithm () |
|
virtual | ~ttkAlgorithm () |
|
virtual int | RequestDataObject (vtkInformation *request, vtkInformationVector **inputVectors, vtkInformationVector *outputVector) |
|
virtual int | RequestInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateTime (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateTimeDependentInformation (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestUpdateExtent (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestDataNotGenerated (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | RequestData (vtkInformation *ttkNotUsed(request), vtkInformationVector **ttkNotUsed(inputVectors), vtkInformationVector *ttkNotUsed(outputVector)) |
|
virtual int | FillInputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
|
virtual int | FillOutputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
|
int | printMsgInternal (const std::string &msg, const std::string &right, const std::string &filler, const debug::Priority &priority=debug::Priority::INFO, const debug::LineMode &lineMode=debug::LineMode::NEW, std::ostream &stream=std::cout) const |
|
int | printMsgInternal (const std::string &msg, const debug::Priority &priority, const debug::LineMode &lineMode, std::ostream &stream=std::cout) const |
|
int | welcomeMsg (std::ostream &stream) |
|
| MorseSmaleComplex () |
|
| ~MorseSmaleComplex () |
|
int | setIterationThreshold (const int iterationThreshold) |
|
int | setComputeAscendingSeparatrices1 (const bool state) |
|
int | setComputeDescendingSeparatrices1 (const bool state) |
|
int | setComputeSaddleConnectors (const bool state) |
|
int | setComputeAscendingSeparatrices2 (const bool state) |
|
int | setComputeDescendingSeparatrices2 (const bool state) |
|
int | setReturnSaddleConnectors (const bool state) |
|
int | setSaddleConnectorsPersistenceThreshold (const double threshold) |
|
void | preconditionTriangulation (AbstractTriangulation *const data) |
|
int | setDebugLevel (const int &debugLevel) |
|
int | setThreadNumber (const int threadNumber) |
|
int | setWrapper (const Wrapper *wrapper) |
|
int | setInputScalarField (void *const data) |
|
int | setInputOffsets (const SimplexId *const data) |
|
int | setOutputCriticalPoints (std::vector< std::array< float, 3 >> *const criticalPoints_points, std::vector< char > *const criticalPoints_points_cellDimensons, std::vector< SimplexId > *const criticalPoints_points_cellIds, std::vector< char > *const criticalPoints_points_isOnBoundary, std::vector< SimplexId > *const criticalPoints_points_PLVertexIdentifiers, std::vector< SimplexId > *const criticalPoints_points_manifoldSize) |
|
int | setOutputSeparatrices1 (SimplexId *const separatrices1_numberOfPoints, std::vector< float > *const separatrices1_points, std::vector< char > *const separatrices1_points_smoothingMask, std::vector< char > *const separatrices1_points_cellDimensions, std::vector< SimplexId > *const separatrices1_points_cellIds, SimplexId *const separatrices1_numberOfCells, std::vector< SimplexId > *const separatrices1_cells_connectivity, std::vector< SimplexId > *const separatrices1_cells_sourceIds, std::vector< SimplexId > *const separatrices1_cells_destinationIds, std::vector< SimplexId > *const separatrices1_cells_separatrixIds, std::vector< char > *const separatrices1_cells_separatrixTypes, std::vector< SimplexId > *const s1_separatrixFunctionMaximaId, std::vector< SimplexId > *const s1_separatrixFunctionMinimaId, std::vector< char > *const separatrices1_cells_isOnBoundary) |
|
int | setOutputSeparatrices2 (SimplexId *const separatrices2_numberOfPoints, std::vector< float > *const separatrices2_points, SimplexId *const separatrices2_numberOfCells, std::vector< SimplexId > *const separatrices2_cells_offsets, std::vector< SimplexId > *const separatrices2_cells_connectivity, std::vector< SimplexId > *const separatrices2_cells_sourceIds, std::vector< SimplexId > *const separatrices2_cells_separatrixIds, std::vector< char > *const separatrices2_cells_separatrixTypes, std::vector< SimplexId > *const s2_separatrixFunctionMaximaId, std::vector< SimplexId > *const s2_separatrixFunctionMinimaId, std::vector< char > *const separatrices2_cells_isOnBoundary) |
|
int | setOutputMorseComplexes (void *const ascendingManifold, void *const descendingManifold, void *const morseSmaleManifold) |
|
template<typename dataType , typename triangulationType > |
int | execute (const triangulationType &triangulation) |
|
TTK VTK-filter that wraps the morseSmaleComplex processing package.
- Author
- Guillaume Favelier guill.nosp@m.aume.nosp@m..fave.nosp@m.lier.nosp@m.@lip6.nosp@m..fr
-
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
- Date
- February 2017.
TTK module for the computation of Morse-Smale complexes. Morse-Smale complexes are useful topological abstractions of scalar fields for data segmentation, feature extraction, etc.
Related publication
"Parallel Computation of 3D Morse-Smale Complexes"
Nithin Shivashankar, Vijay Natarajan
Proc. of EuroVis 2012.
Computer Graphics Forum, 2012.
- Parameters
-
Input | Input scalar field, defined as a point data scalar field attached to a geometry, either 2D or 3D, either regular grid or triangulation (vtkDataSet) |
Output0 | Output critical points (vtkPolyData) |
Output1 | Output 1-separatrices (vtkPolyData) |
Output2 | Output 2-separatrices (vtkPolyData) |
Output3 | Output data segmentation (vtkDataSet) |
The input data array needs to be specified via the standard VTK call vtkAlgorithm::SetInputArrayToProcess() with the following parameters:
- Parameters
-
idx | 0 (FIXED: the first array the algorithm requires) |
port | 0 (FIXED: first port) |
connection | 0 (FIXED: first connection) |
fieldAssociation | 0 (FIXED: point data) |
arrayName | (DYNAMIC: string identifier of the input array) |
The optional offset array can be specified via the standard VTK call vtkAlgorithm::SetInputArrayToProcess() with the following parameters:
- Parameters
-
idx | 1 (FIXED: the second array the algorithm requires) |
port | 0 (FIXED: first port) |
connection | 0 (FIXED: first connection) |
fieldAssociation | 0 (FIXED: point data) |
arrayName | (DYNAMIC: string identifier of the offset array) |
- Note
- : To use this optional array,
ForceInputOffsetScalarField
needs to be enabled with the setter ‘setForceInputOffsetScalarField()’.
This filter can be used as any other VTK filter (for instance, by using the sequence of calls SetInputData(), Update(), GetOutput()).
See the related ParaView example state files for usage examples within a VTK pipeline.
- See also
- ttk::MorseSmaleComplex
Definition at line 65 of file ttkMorseSmaleComplex.h.