Re: Delete close, but not identical elements in an array
- To: mathgroup at smc.vnet.net
- Subject: [mg123369] Re: Delete close, but not identical elements in an array
- From: A Retey <awnl at gmx-topmail.de>
- Date: Sun, 4 Dec 2011 02:51:02 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <jbcsev$bvn$1@smc.vnet.net>
Am 03.12.2011 11:08, schrieb Peter Rodenbach: > Hi, > > I have the problem that I have to indentify peaks in an 2D array. I > can do this by Ordering[] the entries in the Flatten[] list. Then I > indentify the positions of the peaks in the array and write them into > a list. An example I work on in an 512 x 512 Pixel array: > > Peaks={{229,170},{119,265},{331,202},{118,264},{314,245}} > > As you can see from those 5 peaks, Number 2 and 4 belong to the same > peak. As I have to count the data at that positions and compare them, > I have to get rid of the peak postions that neighbor each other, as > they actually belong to the same peak. > > What I want now is: have Mathem. evaluate the positions in the list > and delete those which are +-10 pixels around any other. > So the list would look like Peaks={{229,170},{119,265},{331,202}, > {314,245}} afterwards. maybe this is even "better" than just deleting close values, depending on what you actually do: Mean /@ Gather[peaks, Norm[#1 - #2] <= 10 &] hth, albert