Add itkIntegralImageFilter

Hi Everyone!

I am interested in using some Haar-like features for an object recognition task. I think an integral image is the way to go for computational performance. (I need to take the features further after this which is easy if I have an integral image.)

Searching, no integral image algorithm exists. I would be able to implement the N dimensional version (at least single threaded). The issue is that the algorithm doesn’t vectorize well. However, it does appears to have overlapping sub problems. Maybe some dynamic programming tricks?

Before I go ahead and try and do this, any suggestions from the ITK community? Would this be a useful contribution?

Thank you!

Some notes:


The normal algorithm already utilizes “dynamic programming tricks”.

As parallel implementation is non-trivial, it would be quite useful to have it in ITK.

As single-threaded implementation is almost a single iterator loop (with special handling of edge cases), it is of lower value as a stand-alone filter but would still be welcome.

Using the existing boundary condition with value 0 might be of use for either single-threaded or multi-threaded implementation.