TTK
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
ttk::TopologicalSimplification Class Reference

TTK processing package for the topological simplification of scalar data. More...

#include <TopologicalSimplification.h>

Inheritance diagram for ttk::TopologicalSimplification:
ttk::Debug ttk::BaseClass ttkTopologicalSimplification

Public Types

enum class  BACKEND { LEGACY , LTS }
 

Public Member Functions

 TopologicalSimplification ()
 
template<typename dataType , typename triangulationType >
int execute (const dataType *const inputScalars, dataType *const outputScalars, const SimplexId *const identifiers, const SimplexId *const inputOffsets, SimplexId *const offsets, const SimplexId constraintNumber, const bool addPerturbation, const triangulationType &triangulation)
 
void setBackend (const BACKEND arg)
 
int preconditionTriangulation (AbstractTriangulation *triangulation)
 
- Public Member Functions inherited from ttk::Debug
 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)
 
- Public Member Functions inherited from ttk::BaseClass
 BaseClass ()
 
virtual ~BaseClass ()=default
 
int getThreadNumber () const
 
virtual int setThreadNumber (const int threadNumber)
 
virtual int setWrapper (const Wrapper *wrapper)
 

Protected Attributes

BACKEND backend_ {BACKEND::LTS}
 
LegacyTopologicalSimplification legacyObject_
 
lts::LocalizedTopologicalSimplification ltsObject_
 
- Protected Attributes inherited from ttk::Debug
int debugLevel_
 
std::string debugMsgPrefix_
 
std::string debugMsgNamePrefix_
 
- Protected Attributes inherited from ttk::BaseClass
bool lastObject_
 
int threadNumber_
 
Wrapperwrapper_
 

Additional Inherited Members

- Protected Member Functions inherited from ttk::Debug
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)
 
- Static Protected Attributes inherited from ttk::Debug
static COMMON_EXPORTS debug::LineMode lastLineMode = ttk::debug::LineMode::NEW
 

Detailed Description

TTK processing package for the topological simplification of scalar data.

Author
Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
Guillaume Favelier guill.nosp@m.aume.nosp@m..fave.nosp@m.lier.nosp@m.@lip6.nosp@m..fr
Date
February 2016

Given an input scalar field and a list of critical points to remove, this class minimally edits the scalar field such that the listed critical points disappear. This procedure is useful to speedup subsequent topological data analysis when outlier critical points can be easily identified. It is also useful for data simplification.

Related publications
"Generalized Topological Simplification of Scalar Fields on Surfaces"
Julien Tierny, Valerio Pascucci
Proc. of IEEE VIS 2012.
IEEE Transactions on Visualization and Computer Graphics, 2012.

"Localized Topological Simplification of Scalar Data" Jonas Lukasczyk, Christoph Garth, Ross Maciejewski, Julien Tierny Proc. of IEEE VIS 2020. IEEE Transactions on Visualization and Computer Graphics

See also
ttkTopologicalSimplification.cpp for a usage example.

Online examples:

Definition at line 107 of file TopologicalSimplification.h.

Member Enumeration Documentation

◆ BACKEND

Enumerator
LEGACY 
LTS 

Definition at line 111 of file TopologicalSimplification.h.

Constructor & Destructor Documentation

◆ TopologicalSimplification()

ttk::TopologicalSimplification::TopologicalSimplification ( )

Definition at line 3 of file TopologicalSimplification.cpp.

Member Function Documentation

◆ execute()

template<typename dataType , typename triangulationType >
int ttk::TopologicalSimplification::execute ( const dataType *const  inputScalars,
dataType *const  outputScalars,
const SimplexId *const  identifiers,
const SimplexId *const  inputOffsets,
SimplexId *const  offsets,
const SimplexId  constraintNumber,
const bool  addPerturbation,
const triangulationType &  triangulation 
)

Definition at line 161 of file TopologicalSimplification.h.

◆ preconditionTriangulation()

int ttk::TopologicalSimplification::preconditionTriangulation ( AbstractTriangulation triangulation)
inline

Definition at line 131 of file TopologicalSimplification.h.

◆ setBackend()

void ttk::TopologicalSimplification::setBackend ( const BACKEND  arg)
inline

Definition at line 127 of file TopologicalSimplification.h.

Member Data Documentation

◆ backend_

BACKEND ttk::TopologicalSimplification::backend_ {BACKEND::LTS}
protected

Definition at line 154 of file TopologicalSimplification.h.

◆ legacyObject_

LegacyTopologicalSimplification ttk::TopologicalSimplification::legacyObject_
protected

Definition at line 155 of file TopologicalSimplification.h.

◆ ltsObject_

lts::LocalizedTopologicalSimplification ttk::TopologicalSimplification::ltsObject_
protected

Definition at line 156 of file TopologicalSimplification.h.


The documentation for this class was generated from the following files: