-
-
Notifications
You must be signed in to change notification settings - Fork 112
DGtal dev meeting (June 25th, 2014)
Jacques-Olivier Lachaud edited this page Jun 25, 2014
·
28 revisions
-
namespace policy
- create functors::, gathers all functors into this namespace
- create functions::, gathers all functions into this namespace
- remove detail::, keep details::
- put all standalone functions into functions:: or details::
- question: namespace concepts:: ?
-
cpp11 policy
- Action (S1) check cpp11 features we need and check which compilers/version have them.
-
feedback from students
- lack of documentation
- backward compatibility
- Action (S1) Beginner's guide to DGtal
- look at ITK guide
- elementary programs
- thematic index pages
-
Iterators
- some iterators are well standardized (STL/boost + DGtal): GridCurve, DSL, perhaps some image containers)
- but most DGtal iterators are not standardized
- Action (M1): standardize Image, Domain, DigitalSurface
-
"smart" pointers and parameter passing
- use ConstAlias, Alias, Clone at most
- Action (S2): unify some smart pointers
- Action (M1): check other packages (DigitalSurface, etc)
-
Functors:
- Action (S1) doc on basic functors and functors of other packages.
-
Exceptions ?
- Action (M2) check some assertions and replace them by exception
-
basic linear algebra: for now it is mess
- Point and Vector same class
- SimpleMatrix (standalone)
- EigenDecomposition (package math)
- no usual linear transformation
- but package dec is coming with a linalg package (based on Eigen library)
- Action (S0) : wait for David
-
sets, domains
- characteristic set concept
- no mult and division for continued fractions
- patterns are defined only in the first quadrant (StandardDSLQ0). Keep that ?
- what about nD lattice polytope ?
- link with ArithmeticalDSL, same primitive ? same package ?
-
primitive / recognition algorithms
- Action (S1) : philosophy of primitive / recognition algorithms, concepts, models
- Action () : upgrade some recognition algorithms to return primitives: StabbingLineComputer, StabbingCircleComputer,StandardDSS6Computer,OneBalancedWordComputer
- Action (M) : general 3D straight segment primitive (for now only standard DSS 3D)
-
geometric estimators
- Action () : documentation for length estimators
- upgrade CCurveLocalGeometricEstimator, CGlobalCurveGeometricEstimator, CSegmentComputerEstimator concepts.
- Action (S1) : documentation page for estimators, listing them, explaining global philosophy and concepts, with pointers to specialized pages
- Action () : upgrade of estimators
- 3d curve ? arbitrary set of points ?
-
skeletonization / thinning
- doc
- backport from tools
-
user tools => DGtalTools
-
package divided into directory according to input. Add digitalset (volume for now), pointcloud ?
-
rename Shapes to Shapes and Digitization (if other digitization schemes are implemented)
-
ShapeFactory
- Action (S1) remove it
- Action (S2) refactor ShapeFactory to really produce shapes according parameters
- Action (?) create object facade to many shape types
-
shapes:
- Action () : add list of implicit/parametric shapes
- think again about concepts
- half-planes, rotations/affine transformations (do we keep strong typing here)
- add 3D (euclidean or digital) curves
- Action (S) add principal curvatures and directions (to implicit polynomial shape)
- polytope (with dep)
-
mesh:
- add a user documentation for Mesh
- Action (S1) MeshHelper to build a mesh from a digital surface (primal and dual mesh)
-
digitization:
- Action (M) other digitization schemes
- Action (?) 2d and 3d curve digitization scheme
-
cubical complex
- (S) missing CubicalComplex structure, iterators, so on, update KhalimskySpaceND ?
- (M) builders of CubicalComplex from set of linels, surfels, digital surfaces
-
(M) fast version of KhalimskySpaceND
-
topology invariants (doc)
- Action (M) linking number
- Action (L) homology generators
- (VL) persistent homology
- Linear algebra (nD) => Matrix, Vector, EigenDecomposition + package dec (linalg)
- doc missing
- polytopes (Rn, Qn) => few things, LatticePolytope2D
- affine transformations => only matrices
- bindings with morpho math packages => ?
- image processing packages => binding ITK, DICOM reader, ImageMagick reader/writer
- geometric primitives (fuzzy, higher degree) => Plane recognition (fuzzy in the Hausdorff sense)
- graph algorithms => visitors (depth-first, breadth-first, euclidean distance first), watershed, binding boost::graph (DGtal graphs can be wrapped as boost graphs)
- chamfer or graph-based distances => LUT morpho math tool (not in library)
- medial axis => DT, Voronoi by separable algos + ?
- partition models => LabelledMap (K different characteristic functions stored compactly),
- video => nothing