Image Analysis: identifying objects with Mathematica 7.0

  • Follow


Hi All!

I would appreciate any input on the following problem:

After scanning my samples with TEM, I get images (JPEG or TIFF) which
contain many  dimmers, e.g. gold nanoparticles connected via some
other molecule.
Approximately half of the popoulation is that of dimmers, while the
other half contains trimmers, monomers, etc. I would like to run some
statistics on the samples.
I read Theodore Gray's post in the Wolfram Blog about the new
capabilities of image processing in Mathematica 7.0.1 and I would like
to ask if it is possible to do the following in Mathematica:

Pick out a square that contains the dimmers, define that square as a
new image, and then let Mathematica search for such an image within
the original image.

I know that Mathematica has a new function MorphologicalComponents
that is apparently the key to getting this done, but I don't really
understand how to use it. It is also supposed to return the
coordinates of the located images, but I don't know how to extract
this output from the function.

Thanks,

Gideon

0
Reply gidienator (13) 4/13/2009 7:31:20 AM


Hi Gideon,

if I understand correctly, you want to find where a "subpicture" occurs 

in a larger picture.

If you consider the picture as a numerrical array, then the correlation 

is large at places ahere the subpicture appears.

Here is a simple example where we place a subpicture in the middle of a 

larger array:

m1 = SparseArray[{{10, 10} -> 1, {10, 11} -> 1, {11, 10} ->

      1, {11, 11} -> 1}, {20, 20}];

m2 = {{1, 1}, {1, 1}};

ListCorrelate[m2, m1] // MatrixForm



hope this helps, Daniel



GidiL wrote:

> Hi All!

> 

> I would appreciate any input on the following problem:

> 

> After scanning my samples with TEM, I get images (JPEG or TIFF) which

> contain many  dimmers, e.g. gold nanoparticles connected via some

> other molecule.

> Approximately half of the popoulation is that of dimmers, while the

> other half contains trimmers, monomers, etc. I would like to run some

> statistics on the samples.

> I read Theodore Gray's post in the Wolfram Blog about the new

> capabilities of image processing in Mathematica 7.0.1 and I would like

> to ask if it is possible to do the following in Mathematica:

> 

> Pick out a square that contains the dimmers, define that square as a

> new image, and then let Mathematica search for such an image within

> the original image.

> 

> I know that Mathematica has a new function MorphologicalComponents

> that is apparently the key to getting this done, but I don't really

> understand how to use it. It is also supposed to return the

> coordinates of the located images, but I don't know how to extract

> this output from the function.

> 

> Thanks,

> 

> Gideon

> 



0
Reply dh1 (452) 4/16/2009 8:19:46 AM


All,

Mathematica 8 sheds new light on this old thread:

On 4/15/09 9:04 AM, Matthias Odisio wrote:
> Gideon,
> 
> GidiL wrote:
>> Hi All!
>>
>> I would appreciate any input on the following problem:
>>
>> After scanning my samples with TEM, I get images (JPEG or TIFF) which
>> contain many  dimmers, e.g. gold nanoparticles connected via some
>> other molecule.
>> Approximately half of the popoulation is that of dimmers, while the
>> other half contains trimmers, monomers, etc. I would like to run some
>> statistics on the samples.
>> I read Theodore Gray's post in the Wolfram Blog about the new
>> capabilities of image processing in Mathematica 7.0.1 and I would like
>> to ask if it is possible to do the following in Mathematica:
>>
>> Pick out a square that contains the dimmers, define that square as a
>> new image, and then let Mathematica search for such an image within
>> the original image.
> 
> Yes, it is possible.
> 
> You can use ImageCorrelate; if the appearance of the dimmers varies a 
> lot in the image, this approach may not be good. You can then revert to 
> ImageFilter with a more robust template matching function.
> 

As of Mathematica 8, ImageCorrelate is equipped with most of these
robust template matching functions, e.g. as used in (J.P. Lewis,
"Fast Normalized Cross-Correlation"), etc.
Moreover, as a convenience the second argument of ImageCorrelate may
now be an image, ie. the template or pattern you want to find matches
of. See the documentation at:
http://reference.wolfram.com/mathematica/ref/ImageCorrelate.html

That being said, if my memory does not fail me, Gideon's specific
problem is perhaps better solved using various morphological
functions followed by queries to ComponentMeasurements.

Matthias Odisio
Wolfram Research


> We could probably be more specific if we could see one of your images.
> 
> Matthias Odisio
> Wolfram Research
> 
>>
>> I know that Mathematica has a new function MorphologicalComponents
>> that is apparently the key to getting this done, but I don't really
>> understand how to use it. It is also supposed to return the
>> coordinates of the located images, but I don't know how to extract
>> this output from the function.
>>
>> Thanks,
>>
>> Gideon
> 

0
Reply Matthias 11/24/2010 12:01:54 PM

2 Replies
45 Views

(page loaded in 0.081 seconds)

Similiar Articles:













7/4/2012 12:49:51 PM


Reply: