DGtalTools is a separate github project containing tools constructed using DGtal library. The main goal of this part is to gather simple and useful tools exploiting the structures and algorithms defined in DGtal. The resulting tools could be useful to:
-
Share and apply DGtal algorithms to various data from different domains.
-
Construct demonstration tools like online demonstrations (as for instance the one of the Image Processing Online (http://www.ipol.im)
-
Simplify comparisons of different algorithms with an single framework.
-
Provide useful tools of digital image related algorithms (extraction of connected components, digital contour/surface extraction, simple visualization tools ... etc).
The source code of the tools can also be used to non DGtal familiar user to show how to include the DGtal library framework directly in their own source code (in complement of DGtal tutorial http://libdgtal.org/doc/stable/tutorials.html).
Actually the DGTal project is organized as follows:
-
[DistanceTransform] (#DistanceTransform)
Utilities to convert various simple file formats:
- convertVol: a simple generic volume image converters (can process actually pgm3d, vol, longvol, raw (for writing)).
- dicom2vol: convert dicom images into 3d volumic file.
- freeman2sdp: convert freeman chain towards a Sequence of Discrete Points.
- HDF52vol: convert HDF5 to vol file format.
- longvol2vol: convert longvol to vol file using different conversion policies.
- ofs2off: convert OFS mesh format towards a OFF variant.
- pgm2freeman: to extract a freeman chain contour from a grayscale image.
- raw2vol and vol2raw: transform 3D volumes files from (resp. to) raw to vol.
- raw2HDF5: convert raw image to HDF5.
- slice2vol: tool to merge slices into one 3d volumic file.
- sdp2vol: a simple tool to create a 3d vol image from 3d digital points.
- vol2sdp: a simple tools to extract digital points from 3d vol files.
- vol2off: extract dual surface of a digital object (equiv. Marching Cubes)
- vol2obj: convert a volume file into OBJ format (all voxels belonging to threshold interval)
- vol2slice: tool to extract all slices from 3d volumic images.
- LUTBasedNSDistanceTransform: Compute the 2D translated neighborhood-sequence distance transform of a binary image.
- CumulativeSequenceTest and RationalBeattySequenceTest: tests from LUTBasedNSDistanceTransform.
- 2dLocalEstimators: program to compare local curvature/tangent estimators on implicit shapes
- Maximal DSS based estimators
- Maximal DCA based estimators
- Binomial convolver based estimators
- Integral Invariants based estimators
- 3dLocalEstimators: program to compare 3D local curvature (mean or gaussian) estimators on 3D implicit shapes.
- lengthEstimator: program to generate multigrid analysis of length estimators.
- tangentBC: tangent estimator using the Binomial convolver.
- curvatureBC: curvature estimator using the Binomial convolver.
- curvatureMCMS: curvature estimator using the maximal segments cover (to be updated for current DGtal version).
- estimatorComparator: program to perform comparison of local quantity estimators (to be updated for current DGtal version).
- vol2normalField: compute the normal vector field of a given vol file .
- shapeGenerator: generate multigrid shape
- contourGenerator: generate multigrid shape contours
grid size = 1 | grid size= 0.1 | grid size = 0.01 |
Illustration of the shapeGenerator tools |
- 3dCurvatureViewer: permits to compute and visualize mean or gaussian curvature of binary shapes.
- 3dCurvatureViewerNoise: Same as 3dCurvatureViewer, but allow to add some noise to objects.
- 3dCurveViewer: displays 3D curves with tangential cover and projections onto bounding box.
- 3dImageViewer: tools to display 3d slice images (.vol, .pgm3d and dicom with ITK) with QGLViewer.
- 3dVolViewer: volume file (.vol, .pgm3d and dicom with ITK ) viewer with QGLViewer.
- displayContours: display discrete contours from various format (.fc (freemanchain), .sdp).
- meshViewer: display 3D mesh from OFS or OFF format.
- patternTriangulation: a new tool that draws with Board2D the convex hull, the closest-point Delaunay triangulation or the farthest-point Delaunay triangulation of a pattern.
Here are some illustrations of such a tools:
3dCurvatureViewer | 3dCurveViewer | 3dImageViewer | 3dVolViewer | displayContours | meshViewer |
- use cmake tool to generate a build script (MakeFile, VS project,..) from the CMakeLists.txt
- DGtal must be installed in your system. Concerning DGtal dependencies (boost, Qt,...), all the dependencies used to compile your DGtal library must be present to build the DGtalTools.