Code Monkey home page Code Monkey logo

dgtaltools's Introduction

DGtalTools

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 https://dgtal-team.github.io/doc-nightly/packageTutorials.html).

More Information

  • Related DGtalTools-contrib: https://github.com/DGtal-team/DGtalTools-contrib
  • Release 1.3 DOI
  • Release 1.2 DOI
  • Release 1.1 DOI
  • Release 1.0 DOI
  • Release 0.9.4.1 DOI
  • Release 0.9.4 DOI
  • Release 0.9.3 DOI
  • Release 0.9.2 DOI
  • Release 0.9.1 DOI
  • Release 0.9 DOI
  • Release 0.8 DOI
  • Continuous Integration (Linux/MacOS/Windows) Build status

Documentation

The description and documentation of the tools are available here.

Actually the DGTal project is organized as follows:

  • Converters: utilities to convert various simple file formats (for instance vol2raw, dicom2vol, mesh2heightfield ...)

  • Estimators: different geometric estimators (like tangent, curvature 2D/3D...)

  • Generators: utilities to generate various contours/shapes

  • Visualization: various tools to visualize digital data (set of voxels, vol file, heightmap ... )

  • Volumetric: tools to manipulate volumetric files (marching cube, sub sampling, thinning)

  • ImageProcessing: tools to process images (image restoration, image inpainting)

How to build the tools

  • 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.

Galleries

dgtaltools's People

Contributors

akrah avatar alinemartin avatar copyme avatar dcoeurjo avatar elcerdo avatar hadjiszs avatar jacquesolivierlachaud avatar jlevallois avatar kerautret avatar mtola avatar ngophuc avatar nnormand avatar phcerdan avatar raphaellenain avatar rolanddenis avatar seangongx avatar troussil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dgtaltools's Issues

homotopicThinning3D is not built

Here is the build error:

/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp: In function ‘int main(int, char*)’:
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:51: erreur: type/value mismatch at argument 2 in template parameter list for ‘template<class Image, unsigned int p, class IntegerLong> class DGtal::DistanceTransformation’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:51: erreur: expected a constant of type ‘unsigned int’, got ‘Predicate {aka DGtal::SimpleThresholdForegroundPredicate<DGtal::ImageContainerBySTLVector<DGtal::HyperRectDomain<DGtal::SpaceND<3u, int> >, unsigned char> >}’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:51: erreur: type/value mismatch at argument 3 in template parameter list for ‘template<class Image, unsigned int p, class IntegerLong> class DGtal::DistanceTransformation’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:51: erreur: expected a type, got ‘2’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:55: erreur: invalid type in declaration before ‘(’ token
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:81: erreur: expression list treated as compound expression in initializer [-fpermissive]
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:116:81: erreur: cannot convert ‘Predicate {aka DGtal::SimpleThresholdForegroundPredicate<DGtal::ImageContainerBySTLVector<DGtal::HyperRectDomain<DGtal::SpaceND<3u, int> >, unsigned char> >}’ to ‘int’ in initialization
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:117:58: erreur: type/value mismatch at argument 2 in template parameter list for ‘template<class Image, unsigned int p, class IntegerLong> class DGtal::DistanceTransformation’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:117:58: erreur: expected a constant of type ‘unsigned int’, got ‘Predicate {aka DGtal::SimpleThresholdForegroundPredicate<DGtal::ImageContainerBySTLVector<DGtal::HyperRectDomain<DGtal::SpaceND<3u, int> >, unsigned char> >}’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:117:58: erreur: type/value mismatch at argument 3 in template parameter list for ‘template<class Image, unsigned int p, class IntegerLong> class DGtal::DistanceTransformation’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:117:58: erreur: expected a type, got ‘2’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:117:73: erreur: expected initializer before ‘ImageLong’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:120:3: erreur: ‘ImageLong’ was not declared in this scope
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:120:13: erreur: expected ‘;’ before ‘resultL2’
/home/roussillon/Git/DGtalTools/volumetric/homotopicThinning3D.cpp:153:22: erreur: ‘resultL2’ was not declared in this scope
make[2]: *
* [volumetric/CMakeFiles/homotopicThinning3D.dir/homotopicThinning3D.cpp.o] Erreur 1
make[2]: La cible « volumetric/CMakeFiles/homotopicThinning3D.dir/build » n'a pas pu être refabriquée à cause d'erreurs.
make[1]: *** [volumetric/CMakeFiles/homotopicThinning3D.dir/all] Erreur 2

link to ITK not work when DGtal installed with ITK option

It does not come from my ITK since it works with DGtal install ...

Linking CXX executable 3dVolMarchingCubes
ld: library not found for -litksys
collect2: ld returned 1 exit status
make[2]: *** [volumetric/3dVolMarchingCubes] Error 1
make[1]: *** [volumetric/CMakeFiles/3dVolMarchingCubes.dir/all] Error 2
make: *** [all] Error 2

[build-error] 3dLocalEstimators.cpp related to CGAL ( MongeJetFittingMeanCurvatureEstimator.h )

I just compiled DGtal from master with no problems with the following options:

ccmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_CXX_COMPILER_ARG1=-std=c++11 -DCMAKE_CXX_FLAGS=-std=c++11 -DWITH_QT5:BOOL=ON -DWITH_CGAL:BOOL=ON -DWITH_ITK:BOOL=ON -DWITH_EIGEN:BOOL=ON -DWITH_HDF5:BOOL=ON -DWITH_MAGICK:BOOL=ON -DWITH_OPENMP:BOOL=ON -DWITH_GMP:BOOL=ON -DBUILD_SHARED_LIBS:BOOL=ON -DBUILD_TESTING:BOOL=OFF -DBUILD_EXAMPLES:BOOL=OFF -DCMAKE_INSTALL_PREFIX:PATH=/home/phc/devtoolset/release/DGtal -DCMAKE_BUILD_TYPE=Release ../DGtal-src

Facing build errors related with CGAL:

[24%] Building CXX object estimators/CMakeFiles/3dLocalEstimators.dir/3dLocalEstimators.cpp.o

In file included from /home/phc/Software/DGtal/DGtalTools-src/estimators/3dLocalEstimators.cpp:69:0:
/home/phc/devtoolset/release/DGtal/include/DGtal/geometry/surfaces/estimation/estimationFunctors/MongeJetFittingMeanCurvatureEstimator.h:101:51: error: wrong number of te
mplate arguments (1, should be 3)
     typedef CGAL::Monge_via_jet_fitting<CGALKernel>  CGALMongeViaJet;
                                                   ^
In file included from /home/phc/devtoolset/release/DGtal/include/DGtal/geometry/surfaces/estimation/estimationFunctors/MongeJetFittingMeanCurvatureEstimator.h:56:0,
                 from /home/phc/Software/DGtal/DGtalTools-src/estimators/3dLocalEstimators.cpp:69:
/usr/include/CGAL/Monge_via_jet_fitting.h:56:9: note: provided for ‘template<class DataKernel, class LocalKernel, class SvdTraits> class CGAL::Monge_via_jet_fitting’
   class Monge_via_jet_fitting {

Origin problem in sliceViewer

I have an issue with the sliceViewer tool (see snapshot): the origin of the Vol file is not taken into account correctly in the slice panes (I'll send you the Catenoid vol file by email).

capture d ecran 2014-11-03 a 14 22 32

shape generator pb

When I test the shape generator i obtained the following error:

./shapeGenerator/contourGenerator --shape ball -R 10 -f fc --outputGeometry titi
1 -9 0000100101101011111111121211221212222222223232233232333333333030330030300000
Assertion failed: (isValid()), function eval, file /usr/local/include/DGtal/geometry/curves/estimation/TrueLocalEstimatorOnPoints.ih, line 99.
Abort trap: 6

With the pts format it gives no errors but empty geometric file.

pgm2vol <--> vol2pgm converters

If not only me thinks that it will be nice to have those converters I am going to add them.

BTW Could not we have some general converter which recognize extension? There is GenericReader and Writer in DGtal so should not be a problem to have something like that.

ofs2OFF

When compiling DGtal without QGLViewer, I get the error (due to missing WITH...)

[ 94%] [ 94%] Built target volCComponentCounter
Built target volSubSample
[100%] Building CXX object surfaceTools/CMakeFiles/ofs2off.dir/ofs2off.cpp.o
/home/dcoeurjo/Sources/DGtalTools/surfaceTools/ofs2off.cpp:31:32: erreur fatale: QtGui/qapplication.h : Aucun fichier ou dossier de ce type
compilation terminée.
make[2]: *** [surfaceTools/CMakeFiles/ofs2off.dir/ofs2off.cpp.o] Erreur 1

homotopicThinning3D not compile

Since perhaps some DGtal updates ...
David it is perhaps related to previous modification of DistanceTransformation ? Can you check it ?

Scanning dependencies of target homotopicThinning3D
[ 15%] Building CXX object volumetric/CMakeFiles/homotopicThinning3D.dir/homotopicThinning3D.cpp.o
/Users/kerautre/EnCours/DGtalTools/volumetric/homotopicThinning3D.cpp:113:42: error: template
argument for template type parameter must be a type
typedef DistanceTransformation<Image, 0> DTL2;
^
/usr/local/include/DGtal/geometry/volumes/distance/DistanceTransformation.h:92:23: note:
template parameter is declared here
typename TPointPredicate,
^
/Users/kerautre/EnCours/DGtalTools/volumetric/homotopicThinning3D.cpp:116:3: error: expected a
class or namespace
DTL2::OutputImage resultL2 = dtL2.compute ( image );
^
/Users/kerautre/EnCours/DGtalTools/volumetric/homotopicThinning3D.cpp:149:8: error: use of
undeclared identifier 'resultL2'
if (resultL2( _it ) <= layer_layer)
^

VolSegment

Like pgm2freeman but for volume from basic threshold or auto with otsu

enhance estimatorComparato

  • adding curvatureMCMS
  • removing curvatureBC tangentBC and curvatureMCMS in favor to a single estimatorcomparator ?
  • rename estimatorComparator -> estimatorComparator2d?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.