1. A method of processing a motion blurred image to generate blur kernel data for each pixel of the image, the method comprising: (a) capturing a motion blurred image signal through an imaging device; (b) generating, by a processor, a double discrete wavelet transform signal by computing a two-dimensional double discrete wavelet transform of the motion blurred image signal; (c) using the double discrete wavelet transform signal to perform a first autocorrelation analysis to estimate the blur kernel; and (d) using the blur kernel estimate to perform a local autocorrelation analysis to generate a blur kernel length and direction for each pixel of the motion blurred image.