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://liris.cnrs.fr/dgtal/doc/nightly/packageTutorials.html).
- Related DGtalTools-contrib: https://github.com/DGtal-team/DGtalTools-contrib
- Release 0.9 DOI
- Release 0.8 DOI
Actually the DGTal project is organized as follows:
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.
- freeman2img: transform one or several freeman chains into a pgm file by filling their interior areas.
- freeman2sdp: convert freeman chain towards a Sequence of Discrete Points.
- HDF52vol: convert HDF5 to vol file format.
- heightfield2shading: Render a 2D heightfield image into a shading image from various reflectance models (lambertian, specular, custom reflectance map).
- heightfield2vol: a new tool to transform 2D heightmap into volumetric file.
- img2freeman: to extract a freeman chain contour from a grayscale image.
- imgAddNoise: a new tool to add noise (Kanungo's) to a binary 2D object.
- itk2vol: convert any image of itk format (mhd, mha, ...) to vol (available with the itk option in DGtal).
- longvol2vol: convert longvol to vol file using different conversion policies.
- mesh2heightfield: a tool to convert a mesh file into a 2D heightmap (from a normal direction N and from a starting point P).
- ofs2off: convert OFS mesh format towards a OFF variant.
- raw2HDF5: convert raw image to HDF5.
- raw2vol and vol2raw: transform 3D volumes files from (resp. to) raw to vol.
- sdp2vol: a simple tool to create a 3d vol image from 3d digital points.
- slice2vol: tool to merge slices into one 3d volumic file.
- volAddNoise: a new tool to add noise (Kanungo's) to a binary 3D object.
- vol2obj: convert a volume file into OBJ format (all voxels belonging to threshold interval)
- vol2raw: convert a vol to a 8-bit raw file.
- vol2sdp: a simple tools to extract digital points from 3d vol files.
- vol2slice: tool to extract all slices from 3d volumic images.
- volBoundary2obj: export the boundary of a volume file to OBJ format.
- vol2heightfield: a new tool to transform volumetric file into 2D heightmap.
vol2heightmap | heightmap2vol | imgAddNoise | volAddNoise |
mesh2heightfield | heightfield2shading | ||
- 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.
- curvatureBC: curvature estimator using the Binomial convolver.
- curvatureMCMS: curvature estimator using the maximal segments cover (to be updated for current DGtal version).
- curvatureScaleSpaceBCC: a tool to display the curvature scale space of a given contour with the Binomial Convolver Curvature Estimator
- eulerCharacteristic: bruteforce tool to extract (volumetric) Euler characteristic from volumetric binary object.
- generic3dNormalEstimators: computes a normal vector field over a digitized 3D implicit surface for several estimators (II|VCM|Trivial|True).
- lengthEstimators: generate multigrid length estimations of paramteric shapes using DGtal library.
- statisticsEstimators: compute satistics (L1, L2, Loo) from results of two extimators.
- tangentBC: tangent estimator using the Binomial convolver.
- vol2normalField: compute the normal vector field of a given vol file.
Illustration of curvatureScaleSpaceBCC | |
Illustration of generic3dNormalEstimators on VCM estimator applied on smooth and noisy shapes. |
- contourGenerator: generate multigrid shape contours.
- shapeGenerator: generate multigrid shape.
grid size = 1 | grid size= 0.1 | grid size = 0.01 |
Illustration of the shapeGenerator tools |
- 3dCompSurfelData: it computes generic scalar surfel data comparisons with display with surfel association.
- 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.
- 3dDisplaySurfelData: displays surfel data from SDP file with color attributes given as scalar interpreted as color.
- 3dHeightMapViewer: display a 2D image as heightmap by using QGLviewer.
- 3dImageViewer: tools to display 3d slice images (.vol, .pgm3d and dicom with ITK) with QGLViewer.
- 3dSDPViewer: basic display of a sequence of 3d points (as voxel or sphere) and vectors by using QGLviewer.
- 3dVolBoundaryViewer: Display the boundary of a volume file by using 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.
- sliceViewer: a new 2D and 3D slice viewer from 3D volumic files ( pgm3d, vol, longvol, and DICOM with ITK).
Here are some illustrations of such a tools:
3dCurvatureViewer | 3dCurveViewer | 3dImageViewer | 3dVolViewer |
displayContours | meshViewer | 3dSDPViewer | sliceViewer |
3dHeightMapViewer | 3dCompSurfelData |
homotopicThinning3D | volSubSample |
- 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.