TTK processing package that efficiently computes the Reeb space of bivariate volumetric data.
More...
|
| ReebSpace () |
|
bool | empty () const |
|
template<class dataTypeU , class dataTypeV , typename triangulationType > |
int | execute (const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation) |
|
const Sheet0 * | get0sheet (const SimplexId &sheetId) const |
|
const Sheet1 * | get1sheet (const SimplexId &sheetId) const |
|
const Sheet2 * | get2sheet (const SimplexId &sheetId) const |
|
const Sheet3 * | get3sheet (const SimplexId &sheetId) const |
|
const std::vector< SimplexId > * | get0sheetSegmentation () const |
|
const std::vector< SimplexId > * | get1sheetSegmentation () const |
|
const std::vector< SimplexId > * | get3sheetVertexSegmentation () const |
|
const std::vector< SimplexId > * | get3sheetTetSegmentation () const |
|
const std::vector< char > * | getEdgeTypes () const |
|
const std::vector< FiberSurface::Vertex > * | getFiberSurfaceVertices () const |
|
int | getJacobi2Edge (const SimplexId &jacobiEdgeId) const |
|
SimplexId | getNumberOf2sheets () const |
|
template<class dataTypeU , class dataTypeV > |
int | perturb (const dataTypeU *const uField, const dataTypeV *const vField, const dataTypeU &uEpsilon=Geometry::powIntTen(-DBL_DIG), const dataTypeV &vEpsilon=Geometry::powIntTen(-DBL_DIG)) |
|
void | setExpand3Sheets (const bool &onOff) |
|
bool | setRangeDrivenOctree (const bool &onOff) |
|
void | setSosOffsetsU (const SimplexId *const sosOffsetsU) |
|
void | setSosOffsetsV (const SimplexId *const sosOffsetsV) |
|
void | setTetNumber (const SimplexId &tetNumber) |
|
void | setVertexNumber (const SimplexId &vertexNumber) |
|
int | preconditionTriangulation (AbstractTriangulation *const triangulation) |
|
template<class dataTypeU , class dataTypeV , typename triangulationType > |
int | simplify (const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation, const double &simplificationThreshold, const SimplificationCriterion &criterion=SimplificationCriterion::rangeArea) |
|
| 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 triangulationType > |
int | compute1sheetsOnly (const std::vector< std::pair< SimplexId, char > > &jacobiSet, std::vector< std::pair< SimplexId, SimplexId > > &jacobiSetClassification, const triangulationType &triangulation) |
|
template<typename triangulationType > |
int | compute1sheets (const std::vector< std::pair< SimplexId, char > > &jacobiSet, std::vector< std::pair< SimplexId, SimplexId > > &jacobiSetClassification, const triangulationType &triangulation) |
|
template<class dataTypeU , class dataTypeV , typename triangulationType > |
int | compute2sheets (const std::vector< std::pair< SimplexId, SimplexId > > &jacobiEdges, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation) |
|
template<class dataTypeU , class dataTypeV , typename triangulationType > |
int | compute2sheetChambers (const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation) |
|
template<typename triangulationType > |
int | compute3sheet (const SimplexId &vertexId, const std::vector< std::vector< std::array< SimplexId, 3 > > > &tetTriangles, const triangulationType &triangulation) |
|
template<typename triangulationType > |
int | compute3sheets (std::vector< std::vector< std::array< SimplexId, 3 > > > &tetTriangles, const triangulationType &triangulation) |
|
template<class dataTypeU , class dataTypeV , typename triangulationType > |
int | computeGeometricalMeasures (Sheet3 &sheet, const dataTypeU *const uField, const dataTypeV *const vField, const triangulationType &triangulation) |
|
int | connect3sheetTo0sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet0Id) |
|
int | connect3sheetTo1sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet1Id) |
|
int | connect3sheetTo2sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet2Id) |
|
int | connect3sheetTo3sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &otherSheet3Id) |
|
template<typename triangulationType > |
int | connectSheets (const triangulationType &triangulation) |
|
int | disconnect1sheetFrom0sheet (ReebSpaceData &data, const SimplexId &sheet1Id, const SimplexId &sheet0Id, const SimplexId &biggerId) |
|
int | disconnect3sheetFrom0sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet0Id) |
|
template<typename triangulationType > |
int | disconnect3sheetFrom1sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet1Id, const SimplexId &biggerId, const triangulationType &triangulation) |
|
int | disconnect3sheetFrom2sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &sheet2Id) |
|
int | disconnect3sheetFrom3sheet (ReebSpaceData &data, const SimplexId &sheet3Id, const SimplexId &other3SheetId) |
|
template<typename triangulationType > |
int | flush (const triangulationType &triangulation) |
|
template<typename triangulationType > |
int | mergeSheets (const SimplexId &smallerId, const SimplexId &biggerId, const triangulationType &triangulation) |
|
int | preMergeSheets (const SimplexId &sheetId0, const SimplexId &sheetId1) |
|
int | prepareSimplification () |
|
int | printConnectivity (const ReebSpaceData &data) const |
|
template<typename triangulationType > |
int | simplifySheets (const double &simplificationThreshold, const SimplificationCriterion &simplificationCriterion, const triangulationType &triangulation) |
|
template<typename triangulationType > |
int | simplifySheet (const SimplexId &sheetId, const SimplificationCriterion &simplificationCriterion, const triangulationType &triangulation) |
|
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 that efficiently computes the Reeb space of bivariate volumetric data.
- Author
- Julien Tierny julie.nosp@m.n.ti.nosp@m.erny@.nosp@m.lip6.nosp@m..fr
- Date
- October 2015.
The Reeb space is a useful topological abstraction of bivariate scalar fields for data segmentation purposes. Intuitively, it allows the automatic separation of volumetric regions that project to the same areas in the range. This class also implements a simplification heuristic for progressive coarsening. Used in conjunction with continuous scatterplots, this class enables continuous scattterplot peeling for instance.
- Parameters
-
dataTypeU | Data type of the input first component field (char, float, etc.) |
dataTypeV | Data type of the input second component field (char, float, etc.) |
Related publication
"Jacobi Fiber Surfaces for Bivariate Reeb Space Computation"
Julien Tierny, Hamish Carr
Proc. of IEEE VIS 2016.
IEEE Transactions on Visualization and Computer Graphics, 2016.
- See also
- ttkReebSpace.cpp for a usage example.
Definition at line 42 of file ReebSpace.h.