- Global DGtal::ArrayImageIterator< TIterableClass >::advance (std::ptrdiff_t n)
- Find a more efficient implementation ...
- Global DGtal::ArrayImageIterator< TIterableClass >::Domain
- or in template with default value ?
- Global DGtal::ArrayImageIterator< TIterableClass >::Linearizer
- 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.
- Struct DGtal::concepts::CDigitalSet< T >
- add boost::Container ? Not for now, since coding style do not match with STL (e.g. Iterator instead of iterator).
- Struct DGtal::concepts::CDigitalSurfaceTracker< T >
- Complete documentation
- Struct DGtal::concepts::CDomain< T >
- Complete domain checking.
- Global DGtal::concepts::CDomainArchetype< TSpace >::DigitalSet
- DigitalSet
- Global DGtal::concepts::CDomainArchetype< TSpace >::Predicate
- DigitalSetPredicate
- Struct DGtal::concepts::CDrawableWithBoard2D< T >
ImageContainerByHashTree does not implement setStyle(Board2D &).
ImageContainerByHashTree does not implement defaultStyle(std::string&)const.
- Struct DGtal::concepts::CDrawableWithViewer3D< T, S, KS >
ImageContainerByHashTree does not implement setStyle(display &).
ImageContainerByHashTree does not implement defaultStyle(std::string&)const.
- Struct 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.
- Struct DGtal::DrawableWithBoard2D
- (JOL) Put this class elsewhere.
- Struct 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.
- Struct 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
- Struct 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: