DGtal 2.0.0
|
#include <iostream>
#include <string>
#include <DGtal/base/Common.h>
#include <DGtal/helpers/StdDefs.h>
#include <DGtal/helpers/Shortcuts.h>
#include <DGtal/helpers/ShortcutsGeometry.h>
#include <DGtal/shapes/SurfaceMesh.h>
#include <DGtal/geometry/surfaces/DigitalSurfaceRegularization.h>
#include <DGtal/dec/PolygonalCalculus.h>
#include <DGtal/dec/GeodesicsInHeat.h>
#include <polyscope/polyscope.h>
#include <polyscope/surface_mesh.h>
#include <polyscope/point_cloud.h>
#include "ConfigExamples.h"
#include <Eigen/Dense>
#include <Eigen/Sparse>
Go to the source code of this file.
Typedefs | |
typedef Shortcuts< Z3i::KSpace > | SH3 |
typedef ShortcutsGeometry< Z3i::KSpace > | SHG3 |
typedef PolygonalCalculus< SH3::RealPoint, SH3::RealVector > | PolyCalculus |
Functions | |
void | precompute () |
void | addSource () |
void | clearSources () |
void | computeGeodesics () |
void | myCallback () |
int | main () |
Variables | |
polyscope::SurfaceMesh * | psMesh |
polyscope::SurfaceMesh * | psMeshReg |
SurfMesh | surfmesh |
SurfMesh | surfmeshReg |
float | dt = 2.0 |
CountedPtr< SH3::BinaryImage > | binary_image |
CountedPtr< SH3::DigitalSurface > | surface |
GeodesicsInHeat< PolyCalculus > * | heat |
PolyCalculus * | calculus |
GeodesicsInHeat< PolyCalculus > * | heatReg |
PolyCalculus * | calculusReg |
SHG3::RealVectors | iinormals |
int | sourceVertexId =0 |
float | radiusII = 3.0 |
bool | skipReg = true |
bool | useProjectedCalculus = true |
bool | isPrecomputed =false |
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
This file is part of the DGtal library.
Definition in file dgtalCalculus-geodesic.cpp.
Definition at line 57 of file dgtalCalculus-geodesic.cpp.
typedef Shortcuts<Z3i::KSpace> SH3 |
Definition at line 51 of file dgtalCalculus-geodesic.cpp.
typedef ShortcutsGeometry<Z3i::KSpace> SHG3 |
Definition at line 52 of file dgtalCalculus-geodesic.cpp.
void addSource | ( | ) |
Definition at line 119 of file dgtalCalculus-geodesic.cpp.
References heat, heatReg, psMesh, psMeshReg, skipReg, and surfmesh.
Referenced by myCallback().
void clearSources | ( | ) |
Definition at line 134 of file dgtalCalculus-geodesic.cpp.
Referenced by myCallback().
void computeGeodesics | ( | ) |
Definition at line 140 of file dgtalCalculus-geodesic.cpp.
References heat, heatReg, psMesh, psMeshReg, skipReg, and sourceVertexId.
Referenced by myCallback().
int main | ( | void | ) |
Definition at line 204 of file dgtalCalculus-geodesic.cpp.
References DGtal::DigitalSurfaceRegularization< TDigitalSurface >::attachConvolvedTrivialNormalVectors(), binary_image, DGtal::Shortcuts< Z3i::KSpace >::defaultParameters(), DGtal::ShortcutsGeometry< Z3i::KSpace >::defaultParameters(), DGtal::Shortcuts< Z3i::KSpace >::getKSpace(), DGtal::DigitalSurfaceRegularization< TDigitalSurface >::getRegularizedPositions(), DGtal::DigitalSurfaceRegularization< TDigitalSurface >::init(), K, DGtal::Shortcuts< Z3i::KSpace >::makeBinaryImage(), DGtal::Shortcuts< Z3i::KSpace >::makeDigitalSurface(), DGtal::Shortcuts< Z3i::KSpace >::makePrimalSurfaceMesh(), myCallback(), DGtal::ShortcutsGeometry< Z3i::KSpace >::parametersGeometryEstimation(), psMesh, psMeshReg, radiusII, DGtal::DigitalSurfaceRegularization< TDigitalSurface >::regularize(), surface, surfmesh, and surfmeshReg.
void myCallback | ( | ) |
Definition at line 159 of file dgtalCalculus-geodesic.cpp.
References addSource(), clearSources(), computeGeodesics(), dt, isPrecomputed, precompute(), radiusII, skipReg, sourceVertexId, and useProjectedCalculus.
void precompute | ( | ) |
Definition at line 83 of file dgtalCalculus-geodesic.cpp.
References binary_image, calculus, calculusReg, DGtal::Shortcuts< Z3i::KSpace >::defaultParameters(), DGtal::ShortcutsGeometry< Z3i::KSpace >::defaultParameters(), dt, DGtal::ShortcutsGeometry< Z3i::KSpace >::getIINormalVectors(), DGtal::Shortcuts< Z3i::KSpace >::getSurfelRange(), heat, heatReg, iinormals, DGtal::ShortcutsGeometry< Z3i::KSpace >::parametersGeometryEstimation(), psMesh, radiusII, skipReg, surface, surfmesh, surfmeshReg, DGtal::trace, and useProjectedCalculus.
Referenced by myCallback().
CountedPtr<SH3::BinaryImage> binary_image |
Definition at line 65 of file dgtalCalculus-geodesic.cpp.
Referenced by getSlice(), main(), main(), main(), DGtal::Shortcuts< Z3i::KSpace >::makeGrayScaleImage(), precompute(), SCENARIO(), SCENARIO(), TEST_CASE(), and TEST_CASE().
PolyCalculus* calculus |
Definition at line 70 of file dgtalCalculus-geodesic.cpp.
Referenced by DGtal::dec_helper::averageOperator01(), DGtal::dec_helper::averageOperator20(), computeLaplace(), DGtal::KForm< Self, 0, PRIMAL >::dirac(), DGtal::Display2DFactory::draw(), DGtal::GeodesicsInHeat< TPolygonalCalculus >::GeodesicsInHeat(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATScalarFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATScalarFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATVectorFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATVectorFieldApproximation(), initQuantities(), initQuantitiesCached(), DGtal::KForm< Self, 0, PRIMAL >::KForm(), DGtal::KForm< Self, 0, PRIMAL >::KForm(), laplace_sphere(), DGtal::LinearOperator< Self, 0, PRIMAL, 1, PRIMAL >::LinearOperator(), DGtal::LinearOperator< Self, 0, PRIMAL, 1, PRIMAL >::LinearOperator(), main(), DGtal::KForm< Self, 0, PRIMAL >::ones(), precompute(), DerivativeTester< Calculus, order >::test(), HodgeTester< Calculus, order >::test(), HodgeTester< Calculus, -1 >::test(), TEST_CASE(), test_linear_ring(), test_linear_structure(), test_manual_operators_3d(), DGtal::VectorField< Self, PRIMAL >::VectorField(), DGtal::VectorField< Self, PRIMAL >::VectorField(), DGtal::VectorsInHeat< TPolygonalCalculus >::VectorsInHeat(), and DGtal::KForm< Self, 0, PRIMAL >::zeros().
PolyCalculus* calculusReg |
Definition at line 73 of file dgtalCalculus-geodesic.cpp.
Referenced by precompute().
float dt = 2.0 |
Definition at line 63 of file dgtalCalculus-geodesic.cpp.
Referenced by DGtal::functions::generateSimplicityTable(), DGtal::GeodesicsInHeat< TPolygonalCalculus >::init(), DGtal::VectorsInHeat< TPolygonalCalculus >::init(), main(), main(), main(), myCallback(), Object3D(), precompute(), DGtal::DigitalSurfaceRegularization< TDigitalSurface >::regularize(), DGtal::DigitalSurfaceRegularization< TDigitalSurface >::regularize(), TEST_CASE_METHOD(), testComparison(), testDigitalTopologyZ2(), testDistanceTransformation(), testDistanceTransformation3D(), testDistanceTransformationBorder(), testDistanceTransformationNeg(), testDistanceTransformND(), testDTFromSet(), testExactMetricBalls(), testInexactMetricBalls(), testReverseDT(), testReverseDTL1(), testVoronoiMapFromSites(), timingsFullConvexity(), timingsFullConvexityFast(), timingsFullConvexityFastNonConvex(), timingsFullConvexityNonConvex(), timingsPConvexity(), and timingsPConvexityNonConvex().
GeodesicsInHeat<PolyCalculus>* heat |
Definition at line 69 of file dgtalCalculus-geodesic.cpp.
Referenced by addSource(), clearSources(), computeGeodesics(), picksource(), precompute(), TEST_CASE(), and TEST_CASE().
GeodesicsInHeat<PolyCalculus>* heatReg |
Definition at line 72 of file dgtalCalculus-geodesic.cpp.
Referenced by addSource(), computeGeodesics(), and precompute().
SHG3::RealVectors iinormals |
Definition at line 75 of file dgtalCalculus-geodesic.cpp.
Referenced by precompute().
bool isPrecomputed =false |
Definition at line 158 of file dgtalCalculus-geodesic.cpp.
Referenced by myCallback().
polyscope::SurfaceMesh* psMesh |
Definition at line 59 of file dgtalCalculus-geodesic.cpp.
polyscope::SurfaceMesh* psMeshReg |
Definition at line 60 of file dgtalCalculus-geodesic.cpp.
Referenced by addSource(), computeGeodesics(), and main().
float radiusII = 3.0 |
Definition at line 78 of file dgtalCalculus-geodesic.cpp.
Referenced by main(), myCallback(), and precompute().
bool skipReg = true |
Definition at line 80 of file dgtalCalculus-geodesic.cpp.
Referenced by addSource(), computeGeodesics(), myCallback(), and precompute().
int sourceVertexId =0 |
Definition at line 77 of file dgtalCalculus-geodesic.cpp.
Referenced by computeGeodesics(), and myCallback().
CountedPtr<SH3::DigitalSurface> surface |
Definition at line 66 of file dgtalCalculus-geodesic.cpp.
Referenced by DGtal::VCMDigitalSurfaceLocalEstimator< TDigitalSurfaceContainer, TSeparableMetric, TKernelFunction, TVCMGeometricFunctor >::attach(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATScalarFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATScalarFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATVectorFieldApproximation(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getATVectorFieldApproximation(), DGtal::Shortcuts< Z3i::KSpace >::getCellEmbedder(), DGtal::Shortcuts< Z3i::KSpace >::getCellEmbedder(), DGtal::Shortcuts< Z3i::KSpace >::getCellRange(), DGtal::Shortcuts< Z3i::KSpace >::getCellRange(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getCTrivialNormalVectors(), DGtal::Shortcuts< Z3i::KSpace >::getIdxSurfelRange(), DGtal::Shortcuts< Z3i::KSpace >::getIdxSurfelRange(), DGtal::Shortcuts< Z3i::KSpace >::getKSpace(), DGtal::Shortcuts< Z3i::KSpace >::getKSpace(), DGtal::Shortcuts< Z3i::KSpace >::getPointelRange(), DGtal::Shortcuts< Z3i::KSpace >::getPointelRange(), DGtal::Shortcuts< Z3i::KSpace >::getSCellEmbedder(), DGtal::Shortcuts< Z3i::KSpace >::getSCellEmbedder(), getSlice(), DGtal::Shortcuts< Z3i::KSpace >::getSurfelRange(), DGtal::Shortcuts< Z3i::KSpace >::getSurfelRange(), DGtal::ShortcutsGeometry< Z3i::KSpace >::getVCMNormalVectors(), main(), main(), main(), main(), DGtal::Shortcuts< Z3i::KSpace >::makeIdxDigitalSurface(), DGtal::makeShroudsRegularization(), DGtal::Shortcuts< Z3i::KSpace >::outputDualDigitalSurfaceAsObj(), DGtal::Shortcuts< Z3i::KSpace >::outputDualDigitalSurfaceAsObj(), DGtal::Shortcuts< Z3i::KSpace >::outputPrimalDigitalSurfaceAsObj(), DGtal::Shortcuts< Z3i::KSpace >::outputPrimalDigitalSurfaceAsObj(), DGtal::Shortcuts< Z3i::KSpace >::outputPrimalIdxDigitalSurfaceAsObj(), DGtal::Shortcuts< Z3i::KSpace >::outputPrimalIdxDigitalSurfaceAsObj(), precompute(), DGtal::Shortcuts< Z3i::KSpace >::refKSpace(), DGtal::Shortcuts< Z3i::KSpace >::refKSpace(), LibBoard::Board::saveCairo(), SCENARIO(), SCENARIO(), DGtal::ShroudsRegularization< Container >::ShroudsRegularization(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), TEST_CASE(), testCube(), testFitting(), testLocalEstimatorFromFunctorAdapter(), DGtal::Surfaces< TKSpace >::trackBoundary(), DGtal::Surfaces< TKSpace >::trackClosedBoundary(), DGtal::Surfaces< TKSpace >::trackClosedSurface(), DGtal::Surfaces< TKSpace >::trackSurface(), and DGtal::VCMDigitalSurfaceLocalEstimator< TDigitalSurfaceContainer, TSeparableMetric, TKernelFunction, TVCMGeometricFunctor >::VCMDigitalSurfaceLocalEstimator().
SurfMesh surfmesh |
Definition at line 61 of file dgtalCalculus-geodesic.cpp.
SurfMesh surfmeshReg |
Definition at line 62 of file dgtalCalculus-geodesic.cpp.
Referenced by main(), and precompute().
bool useProjectedCalculus = true |
Definition at line 81 of file dgtalCalculus-geodesic.cpp.
Referenced by myCallback(), and precompute().