DGtal  1.5.beta
Todo List
Global DGtal::ArrayImageIterator< TIterableClass >::advance (std::ptrdiff_t n)
Find a more efficient implementation ...
Global DGtal::ArrayImageIterator< TIterableClass >::Point
or in template with default value ?
Global DGtal::ArrayImageIterator< TIterableClass >::Reference
hard-coded, but must be later set as template.
Global DGtal::Bits::bitString (T value, unsigned nbBits=0)
Check that T is CInteger.
Global DGtal::BLUELocalLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::CompareLocalEstimators< TFirstEsimator, TSecondEstimator >::compare (FirstEstimator &aFirstEstimator, SecondEstimator &aSecondEstimator, const ConstIterator &it, const double h=1.)
Assert firstestimator::Quantity==secondestimator::Quantity
Class DGtal::concepts::Board3DTo2D< S, KS >

ImageContainerByHashTree does not implement setStyle(display &).

ImageContainerByHashTree does not implement defaultStyle(std::string&)const.

Class DGtal::concepts::CDigitalSet< T >
add boost::Container ? Not for now, since coding style do not match with STL (e.g. Iterator instead of iterator).
Class DGtal::concepts::CDigitalSurfaceTracker< T >
Complete documentation
Class DGtal::concepts::CDomain< T >
Complete domain checking.
Global DGtal::concepts::CDomainArchetype< TSpace >::DigitalSet
DigitalSet
Global DGtal::concepts::CDomainArchetype< TSpace >::Predicate
DigitalSetPredicate
Class DGtal::concepts::CDrawableWithBoard2D< T >

ImageContainerByHashTree does not implement setStyle(Board2D &).

ImageContainerByHashTree does not implement defaultStyle(std::string&)const.

Class DGtal::concepts::CDrawableWithViewer3D< T, S, KS >

ImageContainerByHashTree does not implement setStyle(display &).

ImageContainerByHashTree does not implement defaultStyle(std::string&)const.

Class DGtal::concepts::CLinearAlgebra< V, M >

There should be two types of vector: input vector type and output vector type.

This works fine for dynamic vector spaces, but not so much for static sized vectors and matrices.

Class DGtal::concepts::Display3D< S, KS >

ImageContainerByHashTree does not implement setStyle(display &).

ImageContainerByHashTree does not implement defaultStyle(std::string&)const.

Class DGtal::ContourHelper
Improve class.
Global DGtal::detail::BoundedLatticePolytopeSpecializer< N, TInteger >::addEdgeConstraint (Polytope &, unsigned int, unsigned int, const std::vector< Point > &)
For higher dimensions, one should add constraint for extremal faces, etc.
Global DGtal::detail::BoundedRationalPolytopeSpecializer< N, TInteger >::addEdgeConstraint (Polytope &, unsigned int, unsigned int, const std::vector< Point > &)
For higher dimensions, one should add constraint for extremal faces, etc.
Class DGtal::DigitalSurface< TDigitalSurfaceContainer >
Should be a model of CCubicalComplex
Class DGtal::DigitalSurfaceEmbedderWithNormalVectorEstimator< TDigitalSurfaceEmbedder, TNormalVectorEstimator >
assert dimensions of space, embedder and implicit function.
Class DGtal::DrawableWithBoard2D
(JOL) Put this class elsewhere.
Class DGtal::DrawWithBoardModifier
merge DrawableWithBoard2D and DrawWithBoardModifier
Global DGtal::DSSLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::EigenDecomposition< TN, TComponent, TMatrix >::decomposeQL (Matrix &V, Vector &d, Vector e)
Sorting the eigenvalues is done by selection sort. This could be improved for big values of TN.
Class DGtal::experimental::ImageContainerByHashTree< TDomain, TValue, THashKey >
doc here
Global DGtal::experimental::ImageContainerByHashTree< TDomain, TValue, THashKey >::checkIntegrity (HashKey key=ROOT_KEY, bool leafAbove=false) const
)
Global DGtal::FPLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Class DGtal::GraphVisitorRange< TGraphVisitor >
Complete boost::range_iterator<> accordingly.
Class DGtal::GraphVisitorRange< TGraphVisitor >::GenericConstIterator< TAccessor >
Complete boost::iterator_traversal<> accordingly.
Global DGtal::HalfEdgeDataStructure::merge (const Index hei, bool update_arc2index=true)
We could also merge boundary triangles or more general faces.
Global DGtal::HalfEdgeDataStructure::split (const Index i, bool update_arc2index=true)
We could also split boundary triangles or more general faces.
Global DGtal::ImageContainerBySTLVector< TDomain, TValue >::SpanIterator::iterator_category
construct a RANDOM-ACCESS iterator
Class DGtal::ImageLinearCellEmbedder< TKSpace, TImage, TEmbedder >
assert dimensions of space, embedder and implicit function.
Class DGtal::ImplicitFunctionDiff1LinearCellEmbedder< TKSpace, TImplicitFunctionDiff1, TEmbedder >
assert dimensions of space, embedder and implicit function.
Class DGtal::ImplicitFunctionLinearCellEmbedder< TKSpace, TImplicitFunction, TEmbedder >
assert dimensions of space, embedder and implicit function.
Global DGtal::IntegerComputer< TInteger >::getEuclideanDiv (Integer &q, Integer &r, IntegerParamType a, IntegerParamType b) const
Specialize it for GMP as mpz_fdiv_qr (q.get_mpz_t(), r.get_mpz_t(), a.get_mpz_t(), b.get_mpz_t());
Global DGtal::L1LengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::LatticePolytope2D< TSpace, TSequence >::computeConvexHullBorder (OutputIterator itOut, const Point &pointRefC1, const Point &pointRefC3, const HalfSpace &hs1, const HalfSpace &hs2, const HalfSpace &hs3) const
proper parameters documentation.
Global DGtal::LatticePolytope2D< TSpace, TSequence >::getIncludedDigitalPoints (DigitalSet &aSet) const
this method is for now not efficient and is just for visualization purposes.
Global DGtal::LightSternBrocot< TInteger, TQuotient, TMap >::Fraction::father (Quotient m) const
Do it in O(1)... but require to change the data structure.
Class DGtal::MeasureOfStraightLines
Create a vector<Point> interface
Global DGtal::MLPLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::MPolynomial< n, TRing, TAlloc >::operator* (const MPolynomial &p) const
Multiplication could be optimized for monovariate polynomials.
Class DGtal::NaiveParametricCurveDigitizer3D< TParametricCurve >
The method cannot detect an optimal digitization time step, therefore, for curves of high curvature, the method can be very very slow due to the need of setting a tiny digitization step. Such a limitation is planned to be mitigated by splitting a curve into regions of different digitization step.
Class DGtal::NormalVectorEstimatorLinearCellEmbedder< TDigitalSurface, TNormalVectorEstimator, TEmbedder >
assert dimensions of space, embedder and implicit function.
Global DGtal::PlaneProbingDigitalSurfaceLocalEstimator< TSurface, TInternalProbingAlgorithm >::eval (SurfelConstIterator it)
Recompute directions corresponding to locally flat zones at each step.
Class DGtal::PlaneProbingTetrahedronEstimator< TPredicate, mode >
Add PlaneProbingAlgorithm concept.
Global DGtal::RosenProffittLocalLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::SimpleMatrix< TComponent, TM, TN >::myCofactorCoefs
should be static
Global DGtal::SternBrocot< TInteger, TQuotient >::Fraction::father (Quotient m) const
Do it in O(1)... but require to change the data structure.
Class DGtal::Trace
Create a default constructor on TraceWriterTerm(std::cerr)
Class DGtal::TraceWriterTerm
Detect if the terminal has color capabilities
Class DGtal::TransformedPrism
add a constructor to automatically define the shift and the scale according a given associated SCell.
Global DGtal::TransformedPrism::mySurfel
FIX this member
Global DGtal::TriangulatedSurface< TPoint >::merge (const Arc a, const Point &data)
We could also merge boundary triangles.
Class DGtal::TrueDigitalSurfaceLocalEstimator< TKSpace, TShape, TGeometricFunctor >

add precise concept CShape

for now we use a CanonicSCellEmbedder times the gridstep to embed surfels.

Global DGtal::TwoStepLocalLengthEstimator< TConstIterator >::ConstIterator
CONCEPT CHECK sur ConstIterator
Global DGtal::Viewer3D< TSpace, TKSpace >::glCreateListPolygons (const std::vector< VectorPolygon > &aVectPolygon, unsigned int idList)
change the structure to support interactions as QuadMap do. See Limited interaction when using selection with QGLViewer Viewer3D stream mechanism for more details.
Global DGtal::Viewer3D< TSpace, TKSpace >::glCreateListPolygonsWired (const std::vector< VectorPolygon > &aVectPolygon, unsigned int idList)
change the structure to support interactions as QuadMap do. See Limited interaction when using selection with QGLViewer Viewer3D stream mechanism for more details.
Global DGtal::Viewer3D< TSpace, TKSpace >::glCreateListTriangles (const std::vector< VectorTriangle > &aVectTriangle, unsigned int idList)
change the structure to support interactions as QuadMap do. See Limited interaction when using selection with QGLViewer Viewer3D stream mechanism for more details.
Global DGtal::Viewer3D< TSpace, TKSpace >::glCreateListTrianglesWired (const std::vector< VectorTriangle > &aVectTriangle, unsigned int idList)
change the structure to support interactions as QuadMap do. See Limited interaction when using selection with QGLViewer Viewer3D stream mechanism for more details.
Namespace DGtal::Z2i
Once stabilized, provide a Z2l (for int64) and a Z2I (for arbitrary integers).
Namespace DGtal::Z3i
Once stabilized, provide a Z3l (for int64) and a Z3I (for arbitrary integers).
Page Digital surfaces
The concepts concepts::CUndirectedSimpleLocalGraph and concepts::CUndirectedSimpleGraph are susceptible to evolve to meet other standards.
Page Irreducible fraction, continued fractions
Arithmetic operations will soon be implemented with usual arithmetic operations on numerators and denominators. Furthermore, a dedicated system for performing arithmetic operations using only quotients (and guaranteed O(log(k)) complexity) is also under development.
Page Tutorial Image -> ImageAdapter: some simple image manipulations""

Exercise Construct a simple file format converter starting from this file template:

Complementary exercise:

  • Apply the same slice extraction on axis X and Y intersecting the center point of the 3D Image.

Exercise: Construct a program able to extract an 2D image from a given volume and 3 3D points. For instance you can to extract the 2D image defined by the points:

  • Origin (120, 150, 10)
  • Upper point1 (220, 220, 10)
  • Upper point2 (120, 150, 50) You should obtain the following 2D image: