Fast block filters with integral images

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Fast block filters with integral images

Stephan Saalfeld
Dear list members,

I made some ExtendedPluginFilters from the fast block filters available
in the mpicbg library.  The filters use the integral image trick to
calculate the sum in a rectangular block in constant time regardless of
the block's size.  That way we have implemented

Mean,
(Sample)Variance,
Standard Deviation,
normalized cross correlation,
and mean-scaling

We have used the STD and mean filter for statistical outlier removal.  A
pixel is considered an outlier if it is larger or smaller than

mean+-a*STD

in a block centered around the pixel. a and the block-size are
parameters of the filter.  Outliers are replaced by smearing in
surrounding non-outlier pixels.

Impressive with the filters is the speed when used with large
block-sizes, please use the preview option.

Although integral image filters show their real strength when used for
calculating the result for many block-sizes on demand (which can be done
using the mpicbg API), the filter plugins here may already be useful for
daily use when time plays a role.

Find the filters in Fiji under

Plugins->Integral Image Filters

or in a package for standalone ImageJ including classes, sources and a
few interactive demonstrations:

http://fly.mpi-cbg.de/saalfeld/download/integral_image.jar

Best regards,
Stephan