Hi Jeff,

Thanks for the quick reply. However I am a little lost with your suggested solution. The issue here is that if datain is a masked array, dataout will not be a masked array when order=3 is used unless masked=True is set, but this just results in none of the elements (besides those outside the domain of xin and yin) being masked. So are you saying to try setting the mask to what it would be after running interp() with order=0? I would appreciate a more concrete example.

Thanks,
Alex

Alex:  After pondering this a bit more, I don't think you can use order=3 with masked arrays.  Any reason why you can't using a combo of bilinear and nearest neighbor as I described in my previous email?

-Jeff



Just something I thought I should add to this, but would the following code seem like a reasonable workaround? Basically, since map_coordinates() cannot handle mask arrays, I thought that perhaps passing in the actual mask itself to interp() with order=3 may produce close to reasonable results, eg:

dataout = interp(datain, xin, yin, xout, yout, masked=True, order=3)
maskin = datain.mask.astype(int)
maskout = interp(datain.mask, xin, yin, xout, yout, order=3)
dataout.mask = dataout.mask | maskout

Thanks,
Alex




------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to