[Tutor] Masked arrays & scipy.ndimage.<filters>
Steven D'Aprano
steve at pearwood.info
Fri Jun 1 10:50:15 CEST 2012
Koen De Munter wrote:
> Dear tutors,
>
> Given an image, I want to generate another image with the mean values of
> the pixels in their neighbourhood, thereby ignoring some of the
> neighbouring pixels (e.g. the padded boundary). I hoped I could use
> masked arrays for that, but apparently, this does not work.
Define "does not work".
Do you get an exception? Your computer crashes? You get a result, but it's not
the result you were expecting? Something else?
> --
> def fnc(buffer)
> return numpy.mean(buffer)
> mean = scipy.ndimage.generic_filter(masked_array, fnc, footprint = f, mode = 'constant', cval = 0.0)
scipy, even more than numpy, is a fairly specialised library. You may have
better luck asking this question on a dedicated scipy mailing list.
> Is there a way to get around this issue, or do I have to accept the filter function can not handle masked arrays?
What does the documentation for generic_filter say?
What happens if you test it with a really small, simple example, say an array
of just five or six values? Can you show us what you expect to get and what
you actually get?
--
Steven
More information about the Tutor
mailing list