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

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

#include <LegacyTopologicalSimplification.h>

Inheritance diagram for ttk::LegacyTopologicalSimplification:
ttk::Debug ttk::BaseClass

Public Member Functions

 LegacyTopologicalSimplification ()
 
template<typename triangulationType >
int getCriticalType (SimplexId vertexId, const SimplexId *const offsets, const triangulationType &triangulation) const
 
template<typename triangulationType >
int getCriticalPoints (const SimplexId *const offsets, std::vector< SimplexId > &minList, std::vector< SimplexId > &maxList, const triangulationType &triangulation) const
 
template<typename triangulationType >
int getCriticalPoints (const SimplexId *const offsets, std::vector< SimplexId > &minList, std::vector< SimplexId > &maxList, std::vector< bool > &blackList, const triangulationType &triangulation) const
 
template<typename dataType >
int addPerturbation (dataType *const scalars, SimplexId *const offsets) const
 
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 triangulationType &triangulation) const
 
int preconditionTriangulation (AbstractTriangulation *triangulation)
 
void setConsiderIdentifierAsBlackList (bool onOff)
 
void setAddPerturbation (bool onOff)
 
- 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)
 

Protected Attributes

SimplexId vertexNumber_ {}
 
bool considerIdentifierAsBlackList_ {false}
 
bool addPerturbation_ {false}
 
- 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
ttkLegacyTopologicalSimplification.cpp for a usage example.

Online examples:

Definition at line 130 of file LegacyTopologicalSimplification.h.

Constructor & Destructor Documentation

◆ LegacyTopologicalSimplification()

ttk::LegacyTopologicalSimplification::LegacyTopologicalSimplification ( )

Definition at line 3 of file LegacyTopologicalSimplification.cpp.

Member Function Documentation

◆ addPerturbation()

template<typename dataType >
int ttk::LegacyTopologicalSimplification::addPerturbation ( dataType *const  scalars,
SimplexId *const  offsets 
) const

Definition at line 281 of file LegacyTopologicalSimplification.h.

◆ execute()

template<typename dataType , typename triangulationType >
int ttk::LegacyTopologicalSimplification::execute ( const dataType *const  inputScalars,
dataType *const  outputScalars,
const SimplexId *const  identifiers,
const SimplexId *const  inputOffsets,
SimplexId *const  offsets,
const SimplexId  constraintNumber,
const triangulationType &  triangulation 
) const
Precondition
For this function to behave correctly in the absence of the VTK wrapper, ttk::preconditionOrderArray() needs to be called to fill the inputOffsets buffer prior to any computation (the VTK wrapper already includes a mechanism to automatically generate such a preconditioned buffer).
See also
examples/c++/main.cpp for an example use.

Definition at line 316 of file LegacyTopologicalSimplification.h.

◆ getCriticalPoints() [1/2]

template<typename triangulationType >
int ttk::LegacyTopologicalSimplification::getCriticalPoints ( const SimplexId *const  offsets,
std::vector< SimplexId > &  minList,
std::vector< SimplexId > &  maxList,
const triangulationType &  triangulation 
) const

Definition at line 231 of file LegacyTopologicalSimplification.h.

◆ getCriticalPoints() [2/2]

template<typename triangulationType >
int ttk::LegacyTopologicalSimplification::getCriticalPoints ( const SimplexId *const  offsets,
std::vector< SimplexId > &  minList,
std::vector< SimplexId > &  maxList,
std::vector< bool > &  blackList,
const triangulationType &  triangulation 
) const

Definition at line 255 of file LegacyTopologicalSimplification.h.

◆ getCriticalType()

template<typename triangulationType >
int ttk::LegacyTopologicalSimplification::getCriticalType ( SimplexId  vertexId,
const SimplexId *const  offsets,
const triangulationType &  triangulation 
) const

Definition at line 200 of file LegacyTopologicalSimplification.h.

◆ preconditionTriangulation()

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

Definition at line 173 of file LegacyTopologicalSimplification.h.

◆ setAddPerturbation()

void ttk::LegacyTopologicalSimplification::setAddPerturbation ( bool  onOff)
inline

Definition at line 185 of file LegacyTopologicalSimplification.h.

◆ setConsiderIdentifierAsBlackList()

void ttk::LegacyTopologicalSimplification::setConsiderIdentifierAsBlackList ( bool  onOff)
inline

Definition at line 181 of file LegacyTopologicalSimplification.h.

Member Data Documentation

◆ addPerturbation_

bool ttk::LegacyTopologicalSimplification::addPerturbation_ {false}
protected

Definition at line 192 of file LegacyTopologicalSimplification.h.

◆ considerIdentifierAsBlackList_

bool ttk::LegacyTopologicalSimplification::considerIdentifierAsBlackList_ {false}
protected

Definition at line 191 of file LegacyTopologicalSimplification.h.

◆ vertexNumber_

SimplexId ttk::LegacyTopologicalSimplification::vertexNumber_ {}
protected

Definition at line 190 of file LegacyTopologicalSimplification.h.


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