|
| virtual const char * | GetClassName () |
| |
| virtual int | IsA (const char *type) |
| |
| virtual void | SetComputeCriticalPoints (bool) |
| |
| virtual bool | GetComputeCriticalPoints () |
| |
| virtual void | SetComputeAscendingSeparatrices1 (bool) |
| |
| virtual bool | GetComputeAscendingSeparatrices1 () |
| |
| virtual void | SetComputeDescendingSeparatrices1 (bool) |
| |
| virtual bool | GetComputeDescendingSeparatrices1 () |
| |
| virtual void | SetComputeSaddleConnectors (bool) |
| |
| virtual bool | GetComputeSaddleConnectors () |
| |
| virtual void | SetComputeAttractingCycles1 (bool) |
| |
| virtual bool | GetComputeAttractingCycles1 () |
| |
| virtual void | SetComputeRepellingCycles1 (bool) |
| |
| virtual bool | GetComputeRepellingCycles1 () |
| |
| virtual void | SetComputeAscendingSeparatrices2 (bool) |
| |
| virtual bool | GetComputeAscendingSeparatrices2 () |
| |
| virtual void | SetComputeDescendingSeparatrices2 (bool) |
| |
| virtual bool | GetComputeDescendingSeparatrices2 () |
| |
| virtual void | SetComputeAscendingSegmentation (bool) |
| |
| virtual bool | GetComputeAscendingSegmentation () |
| |
| virtual void | SetComputeDescendingSegmentation (bool) |
| |
| virtual bool | GetComputeDescendingSegmentation () |
| |
| virtual void | SetComputeFinalSegmentation (bool) |
| |
| virtual bool | GetComputeFinalSegmentation () |
| |
| virtual void | SetIterationThreshold (int) |
| |
| virtual int | GetIterationThreshold () |
| |
| virtual void | SetRunSimplification (int) |
| |
| virtual int | GetRunSimplification () |
| |
| virtual void | SetReverseFullOrbit (bool) |
| |
| virtual bool | GetReverseFullOrbit () |
| |
| virtual void | SetSimplificationThreshold (double) |
| |
| virtual double | GetSimplificationThreshold () |
| |
| void | UpdateThreadNumber () |
| |
| void | SetThreadNumber (int threadNumber) |
| |
| void | SetUseAllCores (bool useAllCores) |
| |
| void | SetDebugLevel (int debugLevel) |
| |
| void | SetCompactTriangulationCacheSize (float cacheSize) |
| |
| 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, ttk::Triangulation *triangulation, const bool getGlobalOrder=false, const int orderArrayIdx=0, const bool enforceOrderArrayIdx=false) |
| |
| vtkDataArray * | checkForGlobalAndComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *orderArray, ttk::Triangulation *triangulation, const bool enforceOrderArrayIdx) |
| |
| vtkDataArray * | ComputeOrderArray (vtkDataSet *const inputData, vtkDataArray *scalarArray, const int scalarArrayIdx, const bool getGlobalOrder, vtkDataArray *oldOrderArray, ttk::Triangulation *triangulation) |
| |
| 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, const bool printErr=true) |
| |
| ttk::Triangulation * | GetTriangulation (vtkDataSet *dataSet) |
| |
| 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 *) |
| |
| template<typename inputType> |
| int | checkEmptyMPIInput (inputType *input) |
| | This method tests whether the input is a nullptr. If the computation is being done on multiple processes, it is possible that the domain of one process or more is empty, but not others, therefore in that particular case the rest of the filter will not be computed but an error message will not be sent.
|
| |
| | Debug () |
| |
| | ~Debug () override |
| |
| virtual int | setDebugLevel (const int &debugLevel) |
| |
| int | setWrapper (const Wrapper *wrapper) override |
| |
| 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 |
| |
| virtual int | setThreadNumber (const int threadNumber) |
| |
|
| template<typename scalarType, typename triangulationType> |
| int | dispatch (vtkDataArray *const inputVectors, vtkPolyData *const outputCriticalPoints, vtkPolyData *const outputSeparatrices1, vtkPolyData *const outputSeparatrices2, const triangulationType &triangulation) |
| |
| | ttkTopologicalSkeleton () |
| |
| int | FillInputPortInformation (int port, vtkInformation *info) override |
| |
| int | FillOutputPortInformation (int port, vtkInformation *info) override |
| |
| int | RequestData (vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override |
| |
| | ttkAlgorithm () |
| |
| | ~ttkAlgorithm () override |
| |
| void | MPIGhostPipelinePreconditioning (vtkDataSet *input) |
| |
| void | MPIPipelinePreconditioning (vtkDataSet *input, std::vector< int > &neighbors, std::map< int, int > &neighToId, ttk::Triangulation *triangulation=nullptr) |
| |
| bool | checkGlobalIdValidity (ttk::LongSimplexId *globalIds, ttk::SimplexId simplexNumber, unsigned char *ghost, int *rankArray) |
| |
| int | GenerateGlobalIds (vtkDataSet *input, std::unordered_map< ttk::SimplexId, ttk::SimplexId > &vertGtoL, std::vector< int > &neighborRanks, std::map< int, int > &neighborsToId) |
| |
| void | MPITriangulationPreconditioning (ttk::Triangulation *triangulation, vtkDataSet *input) |
| |
| 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)) |
| |
| int | FillInputPortInformation (int ttkNotUsed(port), vtkInformation *ttkNotUsed(info)) override |
| |
| 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) |
| |
| template<typename dataType, typename triangulationType> |
| int | getDescendingSeparatrices1 (const std::vector< SimplexId > &saddles, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename dataType, typename triangulationType> |
| int | getAscendingSeparatrices1 (const std::vector< SimplexId > &saddles, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getSaddleConnectors (const std::vector< SimplexId > &saddles2, std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getAttractingCycles1 (std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getRepellingCycles1 (std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename dataType, typename triangulationType> |
| int | setSeparatrices1 (Output1Separatrices &outSeps1, const std::vector< Separatrix > &separatrices, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getDescendingSeparatrices2 (const std::vector< SimplexId > &saddles2, std::vector< Separatrix > &separatrices, std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | setDescendingSeparatrices2 (Output2Separatrices &outSeps2, const std::vector< Separatrix > &separatrices, const std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getDualPolygon (const SimplexId edgeId, SimplexId *const polygon, const size_t polSize, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | sortDualPolygonVertices (SimplexId *const polygon, const size_t polSize, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | getAscendingSeparatrices2 (const std::vector< SimplexId > &saddles1, std::vector< Separatrix > &separatrices, std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | setAscendingSeparatrices2 (Output2Separatrices &outSeps2, const std::vector< Separatrix > &separatrices, const std::vector< std::vector< SimplexId > > &separatricesSaddles, const triangulationType &triangulation) const |
| |
| void | flattenSeparatricesVectors (std::vector< std::vector< Separatrix > > &separatrices) const |
| | Flatten the vectors of vectors into their first component.
|
| |
| template<typename triangulationType> |
| int | setAscendingSegmentation (const std::vector< SimplexId > &maxima, std::vector< Separatrix > &repellingOrbits, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | setDescendingSegmentation (const std::vector< SimplexId > &minima, std::vector< Separatrix > &attractingOrbits, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
| |
| template<typename triangulationType> |
| int | setFinalSegmentation (const SimplexId numberOfMaxima, const SimplexId *const ascendingManifold, const SimplexId *const descendingManifold, SimplexId *const morseSmaleManifold, const triangulationType &triangulation) const |
| |
| | TopologicalSkeleton () |
| |
| template<typename dataType, typename triangulationType> |
| int | execute (OutputCriticalPoints &outCP, Output1Separatrices &outSeps1, Output2Separatrices &outSeps2, OutputManifold &outManifold, const dataType *const vectors, const size_t vectorsMTime, const triangulationType &triangulation) |
| |
| void | setComputeCriticalPoints (const bool state) |
| |
| void | setComputeSeparatrices1 (const bool doAscending, const bool doDescending, const bool doSaddleConnectors) |
| |
| void | setComputeCycles1 (const bool doAttracting, const bool doRepelling) |
| |
| void | setComputeSeparatrices2 (const bool doAscending, const bool doDescending) |
| |
| void | setComputeSegmentation (const bool doAscending, const bool doDescending, const bool doMorseSmale) |
| |
| void | setRunSimplification (const bool state) |
| |
| void | setFullOrbits (const bool fullOrbits) |
| |
| void | setSimplificationThreshold (const double threshold) |
| |
| void | preconditionTriangulation (AbstractTriangulation *const data) |
| |
TTK VTK-filter that wraps the topologicalSkeleton processing package.
- Author
- Tanner Finken finke.nosp@m.nt@a.nosp@m.rizon.nosp@m.a.ed.nosp@m.u
-
Joshua A. Levine josh@.nosp@m.cs.a.nosp@m.rizon.nosp@m.a.ed.nosp@m.u
- Date
- Summer 2024.
TTK module for the computation of Topological Skeleton. The Topological Skeleton is a useful topological abstractions of vector fields for data segmentation, feature extraction, etc.
- Parameters
-
| Input | Input vector field, defined as a point data vector 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) |
This filter can be used as any other VTK filter (for instance, by using the sequence of calls SetInputData(), Update(), GetOutput()).
Related publication
"Localized Evaluation for Constructing Discrete Vector Fields"
Tanner Finken, Julien Tierny, Joshua A. Levine
IEEE VIS 2024.
- See also
- ttk::TopologicalSkeleton
Online examples:
Definition at line 56 of file ttkTopologicalSkeleton.h.