Re: objects with their Delaunay graphs overlaid.

Chris Barker <[email protected]>
Newsgroups gmane.comp.python.scientific.user
Message-ID <CALGmxELxUvrSCNoSWYEG0xZB9_dCH-9K9z=abSK39hfhZ8Sjzg@mail.gmail.com>
first of all, I think scipy's triangulate only does 2D -- those appeared to
be 3D images.

But in any case, it only does a convex hull -- if your points are not
convex, you need constrained Delaney, which I don't know of a good
open-source code for. But triangle is a good one if you can deal with the
unclear license:

here is one wrapper:

https://github.com/drufat/triangle

I have no idea if it works.

-CHB






On Wed, Mar 14, 2018 at 6:35 PM, Franck Kalala <[email protected]>
wrote:

> It does not bring a big change....
>
> 2018-03-14 17:54 GMT+00:00 Thiago Franco Moraes <[email protected]>:
>
>> Try to invert the points:
>>
>> triangles = tri.Triangulation(points[:,1], points[:,0])
>>
>> On Wed, Mar 14, 2018 at 2:16 PM Franck Kalala Mutombo <[email protected]>
>> wrote:
>>
>>> Thank you Thiago,
>>>
>>> It is working but the triangulation goes out of the object for some
>>> points and is that I wanted to avoid compare the image I attached.
>>>
>>> Best
>>>
>>> -
>>> Franck Kalala Mutombo, (PhD. Mathematics )
>>> +243(04)844140 411 | +27(0)7646 91608
>>> skype: franckm4
>>>
>>> "*No one knows the future, however, but this does not prevent us to
>>> project** in it and to act as if we control it*"
>>>
>>>
>>> On 14 March 2018 at 16:42, Thiago Franco Moraes <[email protected]>
>>> wrote:
>>>
>>>> You have to use plt.triplot. Also, you can use
>>>> matplotlib.tri.Triangulation to triangulate using the delaunay. Something
>>>> like this:
>>>>
>>>> from matplotlib import pyplot as plt
>>>>
>>>> from skimage.io import imread
>>>> from skimage.feature import corner_harris, corner_subpix, corner_peaks,
>>>> peak_local_max
>>>> import matplotlib.tri as tri
>>>> import matplotlib.pyplot as plt
>>>>
>>>> image = imread("cup.png", as_grey='True')
>>>> points = peak_local_max(corner_harris(image), min_distance=2)
>>>> triangles = tri.Triangulation(points[:,0], points[:,1])
>>>> fig, ax = plt.subplots()
>>>> ax.imshow(image, interpolation='nearest', cmap=plt.cm.gray)
>>>> ax.triplot(triangles)
>>>> plt.show()
>>>>
>>>>
>>>>
>>>>
>>>> On Wed, Mar 14, 2018 at 1:24 PM Franck Kalala <
>>>> [email protected]> wrote:
>>>>
>>>>> Hello All
>>>>>
>>>>> I am not sure this a good place to ask this. I am just making a try.
>>>>> I have and image and I would like to reproduced the Delaunay graphs
>>>>> overlaid.
>>>>> See the attached image for an idea.
>>>>>
>>>>> I try the following code:
>>>>>
>>>>> from matplotlib import pyplot as plt
>>>>>
>>>>> from skimage.io import imread
>>>>> from skimage.feature import corner_harris, corner_subpix,
>>>>> corner_peaks, peak_local_max
>>>>> from scipy.spatial import Delaunay
>>>>> import matplotlib.pyplot as plt
>>>>>
>>>>> image = imread("cup.png", as_grey='True')
>>>>>
>>>>>
>>>>> #points = corner_peaks(corner_harris(image), min_distance=1)
>>>>> points = peak_local_max(corner_harris(image), min_distance=2)
>>>>> #coords_subpix = corner_subpix(image, coords, window_size=13)
>>>>> tri = Delaunay(points)
>>>>>
>>>>> #imgplot = plt.imshow(image,cmap='gray')
>>>>> #plt.triplot(points[:,0], points[:,1], tri.simplices.copy())
>>>>> #plt.plot(points[:,0], points[:,1], 'o')
>>>>> #plt.show()
>>>>> #print(image)
>>>>>
>>>>> coords = peak_local_max(corner_harris(image), min_distance=2)
>>>>> coords_subpix = corner_subpix(image, coords, window_size=13)
>>>>>
>>>>> fig, ax = plt.subplots()
>>>>> ax.imshow(image, interpolation='nearest', cmap=plt.cm.gray)
>>>>> ax.plot(coords[:, 1], coords[:, 0], '.b', markersize=3)
>>>>> #ax.plot(coords_subpix[:, 1], coords_subpix[:, 0], '+r', markersize=15)
>>>>> #ax.axis((0, 350, 350, 0))
>>>>> plt.show()
>>>>>
>>>>>
>>>>> this code does not help. I attach also the cup image for a try.
>>>>>
>>>>> best
>>>>>
>>>>> franck
>>>>> _______________________________________________
>>>>> SciPy-User mailing list
>>>>> [email protected]
>>>>> https://mail.python.org/mailman/listinfo/scipy-user
>>>>>
>>>>
>>>> _______________________________________________
>>>> SciPy-User mailing list
>>>> [email protected]
>>>> https://mail.python.org/mailman/listinfo/scipy-user
>>>>
>>>>
>>> _______________________________________________
>>> SciPy-User mailing list
>>> [email protected]
>>> https://mail.python.org/mailman/listinfo/scipy-user
>>>
>>
>> _______________________________________________
>> SciPy-User mailing list
>> [email protected]
>> https://mail.python.org/mailman/listinfo/scipy-user
>>
>>
>
> _______________________________________________
> SciPy-User mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/scipy-user
>
>


-- 

Christopher Barker, Ph.D.
Oceanographer

Emergency Response Division
NOAA/NOS/OR&R            (206) 526-6959   voice
7600 Sand Point Way NE   (206) 526-6329   fax
Seattle, WA  98115       (206) 526-6317   main reception

[email protected]

_______________________________________________
SciPy-User mailing list
[email protected]
https://mail.python.org/mailman/listinfo/scipy-user
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.