Scikit Blob detection, Not properly working on 3D image
Hello everyone, recently (and for the first time) i had to deal with image processing, my problem is detecting sferical blobs in a 3D grayscale image shaped like this (20,1000,1000). So i looked inside scikit, and i found the function blob_dog&log&doh (the three main algorithms), the procedure is working perfectly for the X and Y coordinates (x,y in [0,1000]x[0,1000]) but failing miserably at identifying the correct Z coord (Z in [0,20]). I think this has to do with: the blobs occupy rougly 30x30 pixels in X,Y, but only 3/4 pixels in Z (since my 3D images have to be taken with a lower resolution in Z). Moreover the algorithms apparently use isotropic gaussian filtering so the variance is the same in all directions (at a given sigma scale) according to the algorithm (Unfortunately not according to my data). Is there any reasonable/sane way to fix for this? What do you guys suggest?
It would be wasteful of processing time, but quick to implement: up-sample interpolate your Z-axis so that you have a cubic voxel size. I would probably also down-sample interpolate the XY-axes by a factor of 2 or 4 to make the data volume more manageable. 512 x 512 x 512 is a pretty easily manageable size for tomography. On Mon, May 13, 2019 at 10:35 AM Francesco Alemanno < francescoalemanno710@gmail.com> wrote:
Hello everyone, recently (and for the first time) i had to deal with image processing, my problem is detecting sferical blobs in a 3D grayscale image shaped like this (20,1000,1000). So i looked inside scikit, and i found the function blob_dog&log&doh (the three main algorithms),
the procedure is working perfectly for the X and Y coordinates (x,y in [0,1000]x[0,1000]) but failing miserably at identifying the correct Z coord (Z in [0,20]).
I think this has to do with:
the blobs occupy rougly 30x30 pixels in X,Y, but only 3/4 pixels in Z (since my 3D images have to be taken with a lower resolution in Z). Moreover the algorithms apparently use isotropic gaussian filtering so the variance is the same in all directions (at a given sigma scale) according to the algorithm (Unfortunately not according to my data).
Is there any reasonable/sane way to fix for this? What do you guys suggest? _______________________________________________ scikit-image mailing list -- scikit-image@python.org To unsubscribe send an email to scikit-image-leave@python.org
-- Robert McLeod, Ph.D. robbmcleod@gmail.com robbmcleod@protonmail.com robert.mcleod@hitachi-hhtc.ca www.entropyreduction.al
scikit-image 0.15 has support for anisotropic sigma in blob_dog and blob_log, thanks to Ambrose Carr! https://github.com/scikit-image/scikit-image/pull/3690 https://github.com/scikit-image/scikit-image/blob/master/doc/release/release... I hope this feature helps you! Juan. On Tue, 14 May 2019, at 4:12 AM, Robert McLeod wrote:
It would be wasteful of processing time, but quick to implement: up-sample interpolate your Z-axis so that you have a cubic voxel size. I would probably also down-sample interpolate the XY-axes by a factor of 2 or 4 to make the data volume more manageable. 512 x 512 x 512 is a pretty easily manageable size for tomography.
On Mon, May 13, 2019 at 10:35 AM Francesco Alemanno <francescoalemanno710@gmail.com> wrote:
Hello everyone, recently (and for the first time) i had to deal with image processing, my problem is detecting sferical blobs in a 3D grayscale image shaped like this (20,1000,1000). So i looked inside scikit, and i found the function blob_dog&log&doh (the three main algorithms),
the procedure is working perfectly for the X and Y coordinates (x,y in [0,1000]x[0,1000]) but failing miserably at identifying the correct Z coord (Z in [0,20]).
I think this has to do with:
the blobs occupy rougly 30x30 pixels in X,Y, but only 3/4 pixels in Z (since my 3D images have to be taken with a lower resolution in Z). Moreover the algorithms apparently use isotropic gaussian filtering so the variance is the same in all directions (at a given sigma scale) according to the algorithm (Unfortunately not according to my data).
Is there any reasonable/sane way to fix for this? What do you guys suggest? _______________________________________________ scikit-image mailing list -- scikit-image@python.org To unsubscribe send an email to scikit-image-leave@python.org
-- Robert McLeod, Ph.D. robbmcleod@gmail.com robbmcleod@protonmail.com robert.mcleod@hitachi-hhtc.ca www.entropyreduction.al
_______________________________________________ scikit-image mailing list -- scikit-image@python.org To unsubscribe send an email to scikit-image-leave@python.org
participants (3)
-
Francesco Alemanno
-
Juan Nunez-Iglesias
-
Robert McLeod