We are really excited to share with you the release 1.2 of DGtal and its tools. As usual, all edits and bugfixes are listed in the Changelog, and we would like to thank all devs involved in this release. In this short review, we would like to focus on only few of them.
Yes.. it has been quite a long requested feature and we are pleased to introduce you the brand new (partial) python binding (kudos Pablo Hernandez-Cerdan). At this point, only a few collections of classes/functions are available in the binding (mostly, basic kernels, some image containers and many topology classes), but everything is set up for further improvements.
To give you a glimpse, just
pip3 install dgtal
and then here you have just a quick example of the computation of the Euler characteristic and simple point tests on random sets:
import dgtal import random Point = dgtal.kernel.Point3D Domain = dgtal.kernel.DomainZ3i Set = dgtal._dgtal.kernel.DigitalSetZ3i dom = Domain( Point(0,0,0), Point(10,10,10)) mySet = Set(dom) # Random set for i in range(50*50): mySet.insert(Point(random.randint(0,10),random.randint(0,10),random.randint(0,10))) # Digital Object (with topology) Object = dgtal.topology.Object26_6 Topo = Object.TDigitalTopology FAdj = Topo.TForegroundAdjacency BAdj = Topo.TBackgroundAdjacency fadj = FAdj() badj = BAdj() topo = Topo(fadj, badj) obj = Object(topo,mySet) # Checking the simple points cptSimple=0 for p in mySet: if obj.isSimple(p): cptSimple += 1 print("Number of simple points: "+str(cptSimple)+ " / " + str(mySet.size())) # Cubical Complex kspace = dgtal.topology.KSpace3D() ccomplex = dgtal.topology.CubicalComplex3D(kspace) ccomplex.construct(mySet) print("Euler characteristic: "+str(ccomplex.euler()))
To learn more about the binding, please check this
Pull-Request. Please note that all python objects have a pretty self-exploratory documentation. Just use
ipython to inspect the objects.
Many new features on the Geometry package, including plane probing based normal vector estimators, and the Quickhull algorithm in arbitrary dimensional lattice space, used to speed-up the new convexity package that was introduced in the release 1.1.
- DGtal 1.2: https://dgtal.org/download/
- Complete changelogs:
- DGtalTools 1.2: https://dgtal.org/dgtaltools/
- DGtalTools-contrib 1.2: https://dgtal.org/dgtaltools/
- DGtal Documentation: https://dgtal.org/doc/stable
- DGtalTools documentation: https://dgtal.org/doc/tools/stable
- DGtalTools-contrib: https://github.com/DGtal-team/DGtalTools-contrib