[MINC-users] mincblur with FWHM =?utf-8?Q?<=3D_?=voxel dims

Alex Zijdenbos zijdenbos at gmail.com
Mon Jun 25 17:44:51 EDT 2012


Thanks, Vladimir - this is very interesting. Tried, tested, and true - I ran the same series of blurring experiments, and comparing mincblur to fast_blur you are absolutely correct that it maintains grey level across all kernel widths, see this snap:
 ​
mincblur-fastblur_4.00mm.png (http://cl.ly/3o3f0l1o0J330s3X3M42)  

The image comparison on the right is the mincblur result of the 5mm blurring kernel (left column) and the difference (simple subtraction) between the mincblur and fast_blur result at that scale. Some things of note:

- fast_blur maintains average grey level to at least 6 decimals; you can see in the graph above that mincblur deviates somewhat even all the way out to 5x voxel size

- mincblur also generates some odd artifacts (the dot pattern) that I haven't been able to explain so far.

- as the 'picture frame' image on the right shows, there are some slight differences between both methods. The amplitude of that diff is very small though, in the range [-2e-5,2e-5] so that is probably just quantization (the in-/and output volumes are short).

- fast_blur uses about 40% more memory.

With the exception of that last point, I think fast_blur wins this contest hands down…

Question perhaps is: should we "MINC" have multiple pieces of code for doing the exact same thing, slightly differently? Me thinks not, but?  

-- A

--  
Alex Zijdenbos
Sent with Sparrow (http://www.sparrowmailapp.com)


On Monday, 25 June, 2012 at 2:07 AM, Vladimir S. Fonov wrote:

> Hello,
>  
> I have my own implementation of gaussian blurring in EZminc:
> https://github.com/vfonov/EZminc/blob/master/tools/fast_blur.cpp
> (fast_blur binary in the minc-toolkit) .
> I think it behaves properly for any blurring kernel size, and it  
> produces the same results as mincblur when fwhm> 2*voxel size
>  
> On 24/06/2012 5:20 PM, Alex Zijdenbos wrote:
> > I did some experimenting by blurring a binary cube in an image and
> > monitoring the mean value (generously padded and away from the image
> > edge to avoid edge effects). See this graph: ​mincblur_mean.png
> > (http://cl.ly/2V472I092L3U3R3e0k02) which shows the mean value of the
> > 1mm isotropic image as a function of kernel FWHM running from 0.2 to
> > 5.0mm with 0.1mm steps. You can see that for FWHM< 2*voxel_dim the
> > mean signal starts to go up rather steeply. By contrast, the orange
> > HR line is from the same image, but obtained by first upsampling it
> > to a relatively high (0.1mm) resolution, performing the blur at that
> > resolution, and downsampling the result. I would argue that, barring
> > some resampling effects, these curves should be the same.
> >  
>  
>  
> --  
> Best regards,
>  
> Vladimir S. Fonov ~ vladimir <dot> fonov <at> gmail <dot> com
> _______________________________________________
> MINC-users at bic.mni.mcgill.ca (mailto:MINC-users at bic.mni.mcgill.ca)
> http://www.bic.mni.mcgill.ca/mailman/listinfo/minc-users
>  
>  




More information about the MINC-users mailing list