Rank: 36 based on 1305 downloads (last 30 days) and 16 files submitted
photo

David Legland

E-mail
Company/University
INRA, France

Personal Profile:

Research engineer in computer sciences, more precisely image processing and applied statistics.

Interested in image analysis, geometrical modelling, image registration problems, estimation in discrete images, and polyhedral reconstruction.

web page:
http://www.pfl-cepia.inra.fr/ (in french)
See also:
http://matgeom.sourceforge.net
http://matimage.sourceforge.net

Professional Interests:
image analysis, applied statistics, geometric computing, registration

 

Watch this Author's files

 

Files Posted by David View all
Updated   File Tags Downloads
(last 30 days)
Comments Rating
13 Oct 2014 Screenshot geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland potw, pick of the week, 3d, geometric computing, plane, toolbox 426 94
  • 4.84375
4.8 | 36 ratings
17 Sep 2014 Screenshot Geometric measures in 2D/3D images Measure of geometric parameters in 2D or 3D images (surface area, perimeter, Euler Number...) Author: David Legland image analysis, particle analysis, region properties, minkowski functionals, intrinsic volumes, geometric measures 90 9
  • 5.0
5.0 | 3 ratings
02 Sep 2014 Screenshot Feret diameter and oriented box Compute Feret diameters and oriented bounding box from label image Author: David Legland feret diameter, image processing, label image, particle analysis, oriented box 45 1
  • 5.0
5.0 | 5 ratings
25 Jun 2014 Screenshot Table class A class for handling data tables together with row and column labels Author: David Legland statistics, data table, data exploration, data import, oop 44 0
01 Apr 2014 Screenshot geom2d Geometry library for matlab. Performs geometric computations on points, lines, circles, polygons... Author: David Legland geometry, computational geometr..., display, intersection, polygon, plan 345 58
  • 4.04762
4.0 | 24 ratings
Comments and Ratings by David View all
Updated File Comments Rating
13 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland

@Abdulrahman,
sorry, I missed your comment... There is no direct function for testing if a point is inside a 3D circle. What you can do is 1) extract the plane containing the circle, 2) test if the point belong to the plane, and 3) if yes, compute coordinates of point in 2D plane, and test if the 2D point is within the 2D circle (you may need geom2d also).
hope this helps ?
regards

13 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland

Hi Jin,
yes, there aer numerical precision issus with this function... I have submitted a new version, that is more tolerant for finding intersection at edges of faces. However sometimes too many intersections are obtained. You can remove them by using the 'mergeClosePoints' function from the geom2d toolbox.
regards,
David

10 Sep 2014 Geometric measures in 2D/3D images Measure of geometric parameters in 2D or 3D images (surface area, perimeter, Euler Number...) Author: David Legland

@Hamed:
It will be difficult for me to answer your question... I think you should ask your question in more appropriate location, such as Matlab Answers, StackOverflow.com, or similar forums.

10 Sep 2014 Geometric measures in 2D/3D images Measure of geometric parameters in 2D or 3D images (surface area, perimeter, Euler Number...) Author: David Legland

Hi Mike,
you can have a look at the paper for which I wrote this contribution:
Legland, D.; Kiêu, K. & Devaux, M.-F. Computation of Minkowski measures on 2D and 3D binary images Image Anal. Stereol., 2007, 26, 83-92, http://www.ias-iss.org/ojs/IAS/article/view/811
(there is free access to pdf).

You can also find resources in the book "Statistical Analysis of microstructures in Material Sciences", by J Ohser and F. Muecklich (they provide some C code too).
regards,
David

25 Jun 2014 geom2d Geometry library for matlab. Performs geometric computations on points, lines, circles, polygons... Author: David Legland

Hi Filipp,
I think your problem is closely related to Hamiltonian path in graph theory. Maybe what you can try to do is create Delaunay triangulation of your points. This will produce a set of triangle, that you can convert to a set of edges that do not self-intersect. The set of edges form a graph, then you can find or write an algorithm that finds an Hamiltonian path that goes through each vertex once and only once. Hope this gives the idea...

By "sorting" vertices, I was meaning finding the order of indices that need to be considered. Maybe the term "ordering" would have been more appropriate. The idea is to keep the original array unchanged, and work only on vertex indices. But this is just technical consideration.

Regards,
David

Comments and Ratings on David's Files View all
Updated File Comment by Comments Rating
23 Oct 2014 geom2d Geometry library for matlab. Performs geometric computations on points, lines, circles, polygons... Author: David Legland Jasper

I believe I found a bug in the clipEdge function, however do not have the time to investigate what exactly the bug is. However, results can be different when calling clipEdge(allEdges, box) instead of clipEdge(oneEdge, box) for each box. Example variables where the error occurs can be found here: http://codepaste.net/sd1k8o
Edge in row number four is not correctly clipped when clipping all edges at once.

21 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland David

13 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland Legland, David

@Abdulrahman,
sorry, I missed your comment... There is no direct function for testing if a point is inside a 3D circle. What you can do is 1) extract the plane containing the circle, 2) test if the point belong to the plane, and 3) if yes, compute coordinates of point in 2D plane, and test if the 2D point is within the 2D circle (you may need geom2d also).
hope this helps ?
regards

13 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland Legland, David

Hi Jin,
yes, there aer numerical precision issus with this function... I have submitted a new version, that is more tolerant for finding intersection at edges of faces. However sometimes too many intersections are obtained. You can remove them by using the 'mergeClosePoints' function from the geom2d toolbox.
regards,
David

09 Oct 2014 geom3d Library to handle 3D geometric primitives: create, intersect, display, and make basic computations Author: David Legland Jin

Hi David,

Really great tool! It helped me with a lot of problems. Thank you for sharing it with us.

Recently I'm using intersectLineMesh3d quite often. Here is an example I feel not all the intersections are found.

V =

0.5036 0.3333 0.3063
0.4102 0.1667 0.2098
0.1742 0.3820 0.1983
0.3505 0.4296 0.1688
0.3183 0.3623 0.3165
0.4246 0.2660 0.1180

P =

2 3 6
2 3 5
3 4 6
3 4 5
1 2 6
1 2 5
1 4 5
1 4 6

LINE =

0.3538 0.3302 0.2503 -0.8359 0.1600 -0.5250

This command
[inters pos inds] = intersectLineMesh3d(LINE,V,P) only gives me one intersection, but it should have two instead. Could you help me with that? Did I misunderstand the meaning of input and output? Thank you so much.

Contact us