blob detection and dust removal

Raphael Okoye raphael at aims.ac.za
Mon May 2 01:07:27 EDT 2016


hi Vighnesh,

 Further processing involves getting the size and positions of real
crystals (I want to use the positions to estimate the pair correlation
function and then using the pair correlation function to estimate the
structure factor) The image comes from a sequence of time lapse images.
There are dust particles of various sizes in the images so if they are not
eliminated, a false structure factor will be determined.  The median filter
took care of the very little ones but didn’t work for the bigger ones.

Thanks a lot.

Raphael

On 1 May 2016 at 21:27, Vighnesh Birodkar <vighneshbirodkar at gmail.com>
wrote:

> Hi
>
> That really depends on your application. What's your motivation for
> removing these dust particles ? How are these images going to be processed
> further ?
>
> Thanks
> Vighnesh
>
> On Monday, May 2, 2016 at 12:13:27 AM UTC-4, Raphael wrote:
>>
>> hi Vighnesh,
>>
>>  Thanks a bunch!! I see my error now.
>>
>> Actually that blob you detected a dust particle. Which  operation would
>> you suggest to erase it? I tried morphological erosion but it doesn't take
>> it away.
>>
>> Thanks
>> Raphael
>>
>> On 1 May 2016 at 18:27, Vighnesh Birodkar <vighnesh... at gmail.com> wrote:
>>
>>> Hello Raphael
>>>
>>> The error here is because the output of blob_doh in a numpy array of
>>> blobs, it is not an image meant for display. If you notice the example the
>>> blobs are being drawn separately inside the for loop. If no blobs are being
>>> detected, you can adjust the threshold. Lowering the threshold will make
>>> the function detect more blobs. It is clarified futher in the documentation
>>>
>>> http://scikit-image.org/docs/dev/api/skimage.feature.html#skimage.feature.blob_doh
>>>
>>> I was able to detect one blob in your image with the default threshold
>>> value. See:
>>> https://gist.github.com/vighneshbirodkar/c16515126e648cf92f08d3319d3a023e
>>>
>>> Find the result attached.
>>>
>>> Thanks
>>> Vighnesh
>>>
>>> On Saturday, April 30, 2016 at 2:02:51 AM UTC-4, Raphael wrote:
>>>
>>>> hi folks,
>>>>
>>>>   Got a problem removing dust and identifying blobs/crytals. Kindly see
>>>> my code below
>>>>
>>>>
>>>> from __future__ import division, print_function
>>>> import matplotlib.pyplot as plt
>>>> import numpy as np
>>>> from skimage import io, feature, color, measure, draw, img_as_float,
>>>> exposure
>>>> from skimage.filters.rank import median
>>>> from skimage.feature import blob_dog, blob_log, blob_doh
>>>> from skimage.morphology import disk
>>>>
>>>> #raw image
>>>> image_raw =
>>>> img_as_float((io.imread('/home/raphael/Documents/ScikitImage/Run
>>>> 4-2_00061cropped.tif'))) (RawImage.tif attached)
>>>> plt.imshow(image_raw)
>>>>
>>>> #converted to grayscale
>>>>
>>>> img_gray =
>>>> color.rgb2gray(io.imread('/home/raphael/Documents/ScikitImage/Run
>>>> 4-2_00061cropped.tif'))
>>>> plt.imshow(image_gray)
>>>>
>>>>
>>>> #applied median filter to take out small dust particles. But the big
>>>> dust particle on the top right corner still persists (see median1.png
>>>> attached)
>>>> img_filtered=median(img_gray,disk(10))
>>>> plt.imshow(img_filtered)
>>>>
>>>>
>>>> #applied  adapthist to make image more clearer (see adaptive.png)
>>>>
>>>> img_equalized=exposure.equalize_adapthist(img_filtered)
>>>> plt.imshow(img_equalized)
>>>>
>>>> #trying to detect the crystals/blobs. I followed the example here
>>>> http://scikit-image.org/docs/dev/auto_examples/features_detection/plot_blob.html
>>>> But this gave an error. matplotlib was not happy with the data type
>>>> blobs_doh = blob_doh(img_equalized,  max_sigma=30, threshold=.1)
>>>> plt.imshow(blobs_doh)
>>>>
>>>> My problems are:
>>>>
>>>> 1. I could not get the dust particle out especially the really big one
>>>> on the top right. How can I get it out?
>>>>
>>>> 2. I could not detect the crystals/blobs in the image using blob_doh
>>>>
>>>> Any ideas/suggestions is highly appreciated.  Thank you!
>>>>
>>> --
>>> You received this message because you are subscribed to a topic in the
>>> Google Groups "scikit-image" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/scikit-image/VtkzL9ZCY6Q/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> scikit-image... at googlegroups.com.
>>> To post to this group, send email to scikit... at googlegroups.com.
>>> To view this discussion on the web, visit
>>> https://groups.google.com/d/msgid/scikit-image/0fd22d80-4549-470f-b61b-f48d9a8d66f5%40googlegroups.com
>>> <https://groups.google.com/d/msgid/scikit-image/0fd22d80-4549-470f-b61b-f48d9a8d66f5%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>> --
> You received this message because you are subscribed to a topic in the
> Google Groups "scikit-image" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/scikit-image/VtkzL9ZCY6Q/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> scikit-image+unsubscribe at googlegroups.com.
> To post to this group, send email to scikit-image at googlegroups.com.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/scikit-image/b9ede614-1c9d-4a22-a681-fab417250aba%40googlegroups.com
> <https://groups.google.com/d/msgid/scikit-image/b9ede614-1c9d-4a22-a681-fab417250aba%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> For more options, visit https://groups.google.com/d/optout.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20160501/6fd88d7e/attachment.html>


More information about the scikit-image mailing list