[SciPy-user] problems with ndimage spline filtering
Wed Mar 14 09:31:50 CDT 2007
I've started to use the ndimage package in scipy, and had noticed
that I got really ugly results from image interpolation with spline
orders greater than 1.
I tracked this down to the 'pre-filtering' step with
scipy.ndimage.spline_filter, which is (I presume) supposed to smooth
out the image signal so that splines with large support can be used
Unfortunately, this function doesn't smooth anything; instead it
appears to introduce very strong ringing artifacts (and not much
else). I've attached example images, filtered with orders 2, 3, and
4. The ringing is extremely pronounced on the piecewise-constant
image (input2.png), but even for natural, continuous tone images
(e.g. input1.png) there is a big problem.
Here are examples:
Note that in all cases, the image was processed as 64-bit floating
point before clamping to 8-bit for output, so this isn't likely to be
a precision problem. the filter command I used was:
>>> filtered = scipy.ndimage.spline_filter(input_array, order=n)
where n varied.
Is this the expected results? Does anyone have any idea what's going
Program in Biomedical Informatics and Department of Biochemistry
Stanford University School of Medicine
More information about the SciPy-user