blob detection and dust removal

Vighnesh Birodkar vighneshbirodkar at gmail.com
Sun May 1 21:27:53 EDT 2016


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!
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20160501/83f23cdb/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dust.png
Type: image/png
Size: 67490 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20160501/83f23cdb/attachment.png>


More information about the scikit-image mailing list