John Burkhart wrote:

Jeff,

Apologies for dual emails... my earlier one wasn't meant to be sent...

I was hoping you could expand slightly (or at least provide an example) on #1 below. As I said earlier, I now have the GEOTIFF information which should help, and a customized version of the image without the white space. Next, is just to get the raw data! Probably easier - but it seems this is a good exercise nevertheless.

Regards,

john

John: It would definitely be easier to have the raw data. Regarding step number 1, you can do something like this

# m1 is the Basemap instance for map projection 1 (the original

# projection that the GEOTIFF image is in)

# m2 is the Basemap instance for map projection 2 (what you want

# to interpolate the image to)

# x2,y2 are the map projection coordinates of the m2 grid.

lons2, lats2 = m2(x2, y2, inverse=True) # x2, y2 must be 2d arrays

# x1, y1 is the m2 grid in m1 coordinates.

x1, y1 = m1(lons2, lat2)

# if x,y are 1d arrays defining the m1 grid, and data1 is the data on

# the m1 grid, here's how to interpolate to the m2 grid.

# data2 is now data1 interpolated to the m2 grid.

data2 = interp(data1,x,y,x1,y1)

-Jeff

## ···

If your image had no borders of annotations, you could read it in and

get the RGB values of each pixel using PIL (following the example in

warpimage.py). You could then1) compute the polar stereographic coordinates of the rectilinear grid

you want to interpolate to2) use the interp function to interpolate the RGB values from the

original polar stereographic grid to the new grid.Here's part of the docstring for the interp function:

def interp(datain,xin,yin,xout,yout,checkbounds=False,masked=False,order=1):

"""

dataout = interp(datain,xin,yin,xout,yout,order=1)interpolate data (datain) on a rectilinear grid (with x=xin

y=yin) to a grid with x=xout, y=yout.datain is a rank-2 array with 1st dimension corresponding to y,

2nd dimension x.xin, yin are rank-1 arrays containing x and y of

datain grid in increasing order.xout, yout are rank-2 arrays containing x and y of desired output grid."""

Here xin and yin would be the (1d) polar stereographic coords of the

original image grid. xout, yout would be the (2d) coordinates of the

new grid (in the same polar stereographic coordinates as the original

image grid, even though the new grid is a different map projection).You can use the Basemap instances defined for each projection to

compute the coordinates of each grid, and to transform the new grid

into the projection coordinates of the original grid.It's tricky, but should be possible if the image doesn't have any

whitespace or annotations around the edges. Unfortunately, the image

you point to doesn't appear to be that simple.I'm copying the matplotlib-users list just in case anyone has a better

suggestion ...-Jeff

--

Jeffrey S. Whitaker Phone : (303)497-6313

Meteorologist FAX : (303)497-6449

NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...

325 Broadway Office : Skaggs Research Cntr 1D-124

Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg----------------------------------------------------------------

This message was sent using IMP, the Internet Messaging Program.

--

Jeffrey S. Whitaker Phone : (303)497-6313

Meteorologist FAX : (303)497-6449

NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@...259...

325 Broadway Office : Skaggs Research Cntr 1D-124

Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg