TTK processing package for post-processing tracked trajectories: linearization, fusion (chaining), and merge-tree-based segmentation statistics.
More...
|
| | TrackingPostProcessing () |
| int | preconditionTriangulation (ttk::AbstractTriangulation *triangulation) const |
| void | setInputScalars (const std::vector< void * > &inputScalars) |
| void | setCosCol (double v) |
| void | setMaxRadius (double v) |
| void | setMaxFrameDist (int v) |
| void | setPersistenceThreshold (double v) |
| void | setMaxSurfSize (int v) |
| void | setUseOtsuSimplification (bool v) |
| void | setOtsuBins (int v) |
| void | setBoundaryXMin (double v) |
| void | setBoundaryXMax (double v) |
| void | setBoundaryYMin (double v) |
| void | setBoundaryYMax (double v) |
| void | setDoLinearize (bool v) |
| void | setDoFusion (bool v) |
| void | setDoLinearizeFuse (bool v) |
| void | setDoMergeTree (bool v) |
| void | setUseSplitTree (int v) |
| int | correctTrajectory (const std::vector< std::vector< int > > &trajTime, const std::vector< std::vector< int > > &trajVertexId, const std::vector< std::vector< double > > &coordsX, const std::vector< std::vector< double > > &coordsY, const std::vector< int > &trajCriticalType, std::vector< LinearTrajectory > &linearTraj, std::vector< LinearTrajectory > &outputTraj, std::vector< FuseRecord > &fuseRecords) |
| | Linearize + (optional) chain input per-trajectory point clouds.
|
| template<class dataType, class triangulationType> |
| int | computeMergeTree (const triangulationType *triangulation, const std::vector< LinearTrajectory > &finalTraj, std::vector< double > &surfMin, std::vector< double > &surfMax, std::vector< double > &surfMean, std::vector< std::vector< int > > &vertexTrajPerFrame) |
| | Compute merge-tree-based segmentation per trajectory && per frame.
|
| template<class dataType, class triangulationType> |
| int | execute (const std::vector< std::vector< int > > &trajTime, const std::vector< std::vector< int > > &trajVertexId, const std::vector< std::vector< double > > &coordsX, const std::vector< std::vector< double > > &coordsY, const std::vector< int > &trajCriticalType, std::vector< LinearTrajectory > &linearTraj, std::vector< LinearTrajectory > &finalTraj, std::vector< FuseRecord > &fuseRecords, std::vector< double > &surfMin, std::vector< double > &surfMax, std::vector< double > &surfMean, std::vector< std::vector< int > > &vertexTrajPerFrame, const triangulationType *triangulation) |
| | correctTrajectory + computeMergeTree.
|
| | 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) |
|
| int | computeMeanUnitDirectionLinear (const std::vector< LinearTrajectory > &newTraj, std::vector< std::array< double, 3 > > &meanDir) |
| int | computeSurfaceCellCount (const std::vector< ttk::SimplexId > &surfVertices, const ttk::AbstractTriangulation *triangulation) |
| template<class dataType> |
| dataType | otsuThresholdLocal (const std::vector< ttk::SimplexId > &verts, const dataType *scalars, const int nbins) |
| template<class dataType, class triangulationType> |
| void | cleanDarkSegmentInPlace (std::vector< ttk::SimplexId > &segmentVerts, const dataType *scalars, const triangulationType *triangulation, const int otsuBins) |
| 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) |
TTK processing package for post-processing tracked trajectories: linearization, fusion (chaining), and merge-tree-based segmentation statistics.
- Author
- Théophane Loloum theop.nosp@m.hane.nosp@m..lolo.nosp@m.um@g.nosp@m.mail..nosp@m.com
- Date
- April 2026
This module takes the initial trajectories produced by an upstream tracker (TrackingFromFields) and refines them:
- linearization: fit a 2D line (x(t)=ax*t+bx, y(t)=ay*t+by) through each trajectory point cloud via least squares (Eigen);
- fusion: greedily chain temporally-adjacent, directionally-consistent linearized segments into longer trajectories;
- merge-tree segmentation: per-frame, compute a merge tree of the scalar field and associate each trajectory
- See also
- ttk::TrackingFromFields
-
ttk::TrackingFromCriticalPoints
Definition at line 52 of file TrackingPostProcessing.h.