Path: news.mathworks.com!not-for-mail
From: "John D'Errico" <woodchips@rochester.rr.com>
Newsgroups: comp.soft-sys.matlab
Subject: Re: Find gaussian humps in a 3D dataset
Date: Mon, 15 Sep 2008 11:52:02 +0000 (UTC)
Organization: John D'Errico (1-3LEW5R)
Lines: 22
Message-ID: <gali92$64g$1@fred.mathworks.com>
References: <galg9a$995$1@fred.mathworks.com>
Reply-To: "John D'Errico" <woodchips@rochester.rr.com>
NNTP-Posting-Host: webapp-05-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1221479522 6288 172.30.248.35 (15 Sep 2008 11:52:02 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Mon, 15 Sep 2008 11:52:02 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 869215
Xref: news.mathworks.com comp.soft-sys.matlab:490266



"Thomas Clark" <t.clarkremove_spam@cantab.net> wrote in message <galg9a$995$1@fred.mathworks.com>...
> Hi all,
> 
> I have a 3D image (scalar intensity field) of particles in a fluid flow. 
> 
> There may be many particles (1<N<1000), in a large domain (up to 400^3 voxels)
> 
> Each particle could be approximately represented by a gaussian hump in intensity, surrounding the centre position. Standard deviation of the gaussian might be ~ 2 voxels.
> 
> So the question is, how best to find the positions of the particles? 
> 
> I suspect that an optimisation would be very computationally intensive. I can find local maxima very quickly to the accuracy of a single voxel; but I need to get sub-voxel accuracy - perhaps using some kind of polynomial fitting then a derivative-based approach.

No. Don't bother with a polynomial model.

As long as you are willing to assume there
is no near overlap between humps, find the
local peaks, then grab about 5 pixels in each
direction and fit that with a single gaussian
mode. Go on to the next local peak.

John