|
From: Jeff W. <jef...@no...> - 2013-06-26 12:20:05
|
> Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 6:27 PM > 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 > > > > Goodman, Alexander (398J-Affiliate) > <mailto:ale...@jp...> > June 24, 2013 4:30 PM > 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 > > > ------------------------------------------------------------------------ |