SF.net SVN: matplotlib: [4964] trunk/toolkits/basemap/examples/warpimage.py

2008-02-14 Thread jswhit
Revision: 4964
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4964&view=rev
Author:   jswhit
Date: 2008-02-14 14:07:41 -0800 (Thu, 14 Feb 2008)

Log Message:
---
subclass Basemap, make a 'bluemarble' method.

Modified Paths:
--
trunk/toolkits/basemap/examples/warpimage.py

Modified: trunk/toolkits/basemap/examples/warpimage.py
===
--- trunk/toolkits/basemap/examples/warpimage.py2008-02-14 21:51:58 UTC 
(rev 4963)
+++ trunk/toolkits/basemap/examples/warpimage.py2008-02-14 22:07:41 UTC 
(rev 4964)
@@ -1,30 +1,50 @@
 import pylab as P
 import numpy
-from mpl_toolkits.basemap import Basemap
+from mpl_toolkits.basemap import Basemap as Basemap1 
 from numpy import ma
 from matplotlib.image import pil_to_array
 from PIL import Image
 
-# shows how to warp an image from one map projection to another.
-# 'blue marble next generation' image from http://visibleearth.nasa.gov/
+class Basemap(Basemap1):
+# subclass Basemap and add bluemarble method.
+def bluemarble(self,masked=False):
+"""display 'blue marble next generation' image from 
http://visibleearth.nasa.gov/""";
+
+# read in jpeg image to rgba array of normalized floats.
+pilImage = Image.open('bmng.jpg')
+rgba = pil_to_array(pilImage)
+rgba = rgba.astype(numpy.float32)/255. # convert to normalized floats.
+
+# define lat/lon grid that image spans (projection='cyl').
+nlons = rgba.shape[1]; nlats = rgba.shape[0]
+delta = 360./float(nlons)
+lons = numpy.arange(-180.+0.5*delta,180.,delta)
+lats = numpy.arange(-90.+0.5*delta,90.,delta)
 
-# read in jpeg image to rgba array of normalized floats.
-pilImage = Image.open('bmng.jpg')
-rgba = pil_to_array(pilImage)
-rgba = rgba.astype(numpy.float32)/255. # convert to normalized floats.
+if self.projection != 'cyl':
+# transform to nx x ny regularly spaced native projection grid
+# nx and ny chosen to have roughly the same horizontal res as 
original image.
+dx = 2.*numpy.pi*m.rmajor/float(nlons)
+nx = int((self.xmax-self.xmin)/dx)+1; ny = 
int((self.ymax-self.ymin)/dx)+1
+rgba_warped = ma.zeros((ny,nx,4),numpy.float64)
+# interpolate rgba values from proj='cyl' (geographic coords) to 
'lcc'
+# if masked=True, values outside of projection limb will be masked.
+for k in range(4):
+rgba_warped[:,:,k] = 
self.transform_scalar(rgba[:,:,k],lons,lats,nx,ny,masked=masked)
+# make points outside projection limb transparent.
+rgba_warped = rgba_warped.filled(0.)
+# plot warped rgba image.
+im = self.imshow(rgba_warped)
+else:
+im = self.imshow(rgba)
+return im
 
-# define lat/lon grid that image spans (projection='cyl').
-nlons = rgba.shape[1]; nlats = rgba.shape[0]
-delta = 360./float(nlons)
-lons = numpy.arange(-180.+0.5*delta,180.,delta)
-lats = numpy.arange(-90.+0.5*delta,90.,delta)
-
 # create new figure
 fig=P.figure()
 # define cylindrical equidistant projection.
 m = 
Basemap(projection='cyl',llcrnrlon=-180,llcrnrlat=-90,urcrnrlon=180,urcrnrlat=90,resolution='l')
 # plot (unwarped) rgba image.
-im = m.imshow(rgba)
+im = m.bluemarble()
 # draw coastlines.
 m.drawcoastlines(linewidth=0.5,color='0.5')
 # draw lat/lon grid lines.
@@ -37,19 +57,8 @@
 fig=P.figure()
 # define orthographic projection centered on North America.
 m = Basemap(projection='ortho',lat_0=40,lon_0=40,resolution='l')
-# transform to nx x ny regularly spaced native projection grid
-# nx and ny chosen to have roughly the same horizontal res as original image.
-dx = 2.*numpy.pi*m.rmajor/float(nlons)
-nx = int((m.xmax-m.xmin)/dx)+1; ny = int((m.ymax-m.ymin)/dx)+1
-rgba_warped = ma.zeros((ny,nx,4),numpy.float64)
-# interpolate rgba values from proj='cyl' (geographic coords) to 'lcc'
-# values outside of projection limb will be masked.
-for k in range(4):
-rgba_warped[:,:,k] = 
m.transform_scalar(rgba[:,:,k],lons,lats,nx,ny,masked=True)
-# make points outside projection limb transparent.
-rgba_warped = rgba_warped.filled(0.)
 # plot warped rgba image.
-im = m.imshow(rgba_warped)
+im = m.bluemarble(masked=True)
 # draw coastlines.
 m.drawcoastlines(linewidth=0.5,color='0.5')
 # draw lat/lon grid lines every 30 degrees.
@@ -64,16 +73,7 @@
 m = Basemap(llcrnrlon=-145.5,llcrnrlat=1.,urcrnrlon=-2.566,urcrnrlat=46.352,\
 rsphere=(6378137.00,6356752.3142),lat_1=50.,lon_0=-107.,\
 resolution='i',area_thresh=1000.,projection='lcc')
-# transform to nx x ny regularly spaced native projection grid
-# nx and ny chosen to have roughly the same horizontal res as original image.
-dx = 2.*P.pi*m.rmajor/float(nlons)
-nx = int((m.xmax-m.xmin)/dx)+1; ny = int((m.ymax-m.ymin)/dx)+1
-rgba_warped = numpy.zeros((ny,nx,4),numpy.float64)
-

SF.net SVN: matplotlib: [4963] trunk/toolkits/basemap/examples

2008-02-14 Thread jswhit
Revision: 4963
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4963&view=rev
Author:   jswhit
Date: 2008-02-14 13:51:58 -0800 (Thu, 14 Feb 2008)

Log Message:
---
update blue marble image

Modified Paths:
--
trunk/toolkits/basemap/examples/warpimage.py

Added Paths:
---
trunk/toolkits/basemap/examples/bmng.jpg

Added: trunk/toolkits/basemap/examples/bmng.jpg
===
(Binary files differ)


Property changes on: trunk/toolkits/basemap/examples/bmng.jpg
___
Name: svn:mime-type
   + application/octet-stream

Modified: trunk/toolkits/basemap/examples/warpimage.py
===
--- trunk/toolkits/basemap/examples/warpimage.py2008-02-13 21:48:38 UTC 
(rev 4962)
+++ trunk/toolkits/basemap/examples/warpimage.py2008-02-14 21:51:58 UTC 
(rev 4963)
@@ -6,10 +6,10 @@
 from PIL import Image
 
 # shows how to warp an image from one map projection to another.
-# image from http://visibleearth.nasa.gov/
+# 'blue marble next generation' image from http://visibleearth.nasa.gov/
 
 # read in jpeg image to rgba array of normalized floats.
-pilImage = Image.open('land_shallow_topo_2048.jpg')
+pilImage = Image.open('bmng.jpg')
 rgba = pil_to_array(pilImage)
 rgba = rgba.astype(numpy.float32)/255. # convert to normalized floats.
 
@@ -84,4 +84,30 @@
 m.drawmeridians(meridians,labels=[1,1,0,1],color='0.5')
 P.title("Blue Marble image warped from 'cyl' to 'lcc' projection",fontsize=12)
 print 'warp to lambert conformal map ...'
+
+# create new figure
+fig=P.figure()
+# define oblique mercator map.
+m = Basemap(height=2400,width=1200,
+resolution=None,projection='omerc',\
+lon_0=-100,lat_0=15,lon_2=-120,lat_2=65,lon_1=-50,lat_1=-55)
+# transform to nx x ny regularly spaced native projection grid
+# nx and ny chosen to have roughly the same horizontal res as original image.
+dx = 2.*numpy.pi*m.rmajor/float(nlons)
+nx = int((m.xmax-m.xmin)/dx)+1; ny = int((m.ymax-m.ymin)/dx)+1
+rgba_warped = ma.zeros((ny,nx,4),numpy.float64)
+# interpolate rgba values from proj='cyl' (geographic coords) to 'lcc'
+# values outside of projection limb will be masked.
+for k in range(4):
+rgba_warped[:,:,k] = 
m.transform_scalar(rgba[:,:,k],lons,lats,nx,ny,masked=False)
+# make points outside projection limb transparent.
+rgba_warped = rgba_warped.filled(0.)
+# plot warped rgba image.
+im = m.imshow(rgba_warped)
+# draw lat/lon grid lines every 20 degrees.
+m.drawmeridians(numpy.arange(0,360,20),color='0.5')
+m.drawparallels(numpy.arange(-80,81,20),color='0.5')
+P.title("Blue Marble image warped from 'cyl' to 'omerc' 
projection",fontsize=12)
+print 'warp to oblique mercator map ...'
+
 P.show()


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins


SF.net SVN: matplotlib: [4965] trunk/toolkits/basemap/examples/warpimage.py

2008-02-14 Thread jswhit
Revision: 4965
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4965&view=rev
Author:   jswhit
Date: 2008-02-14 14:20:44 -0800 (Thu, 14 Feb 2008)

Log Message:
---
put import PIL in try/except

Modified Paths:
--
trunk/toolkits/basemap/examples/warpimage.py

Modified: trunk/toolkits/basemap/examples/warpimage.py
===
--- trunk/toolkits/basemap/examples/warpimage.py2008-02-14 22:07:41 UTC 
(rev 4964)
+++ trunk/toolkits/basemap/examples/warpimage.py2008-02-14 22:20:44 UTC 
(rev 4965)
@@ -2,13 +2,16 @@
 import numpy
 from mpl_toolkits.basemap import Basemap as Basemap1 
 from numpy import ma
-from matplotlib.image import pil_to_array
-from PIL import Image
 
 class Basemap(Basemap1):
 # subclass Basemap and add bluemarble method.
 def bluemarble(self,masked=False):
 """display 'blue marble next generation' image from 
http://visibleearth.nasa.gov/""";
+try:
+from PIL import Image
+except ImportError:
+raise ImportError('bluemarble method requires PIL 
(http://www.pythonware.com/products/pil/)')
+from matplotlib.image import pil_to_array
 
 # read in jpeg image to rgba array of normalized floats.
 pilImage = Image.open('bmng.jpg')


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins


SF.net SVN: matplotlib: [4966] trunk/toolkits/basemap/MANIFEST.in

2008-02-14 Thread jswhit
Revision: 4966
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4966&view=rev
Author:   jswhit
Date: 2008-02-14 14:22:13 -0800 (Thu, 14 Feb 2008)

Log Message:
---
add new blue marble image.

Modified Paths:
--
trunk/toolkits/basemap/MANIFEST.in

Modified: trunk/toolkits/basemap/MANIFEST.in
===
--- trunk/toolkits/basemap/MANIFEST.in  2008-02-14 22:20:44 UTC (rev 4965)
+++ trunk/toolkits/basemap/MANIFEST.in  2008-02-14 22:22:13 UTC (rev 4966)
@@ -49,7 +49,7 @@
 include examples/run_all.py
 include examples/polarmaps.py
 include examples/warpimage.py
-include examples/land_shallow_topo_2048.jpg
+include examples/bmng.jpg
 include examples/pnganim.py
 include examples/garp.py
 include examples/setwh.py


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins


SF.net SVN: matplotlib: [4967] trunk/toolkits/basemap/lib/mpl_toolkits/ basemap/basemap.py

2008-02-14 Thread jswhit
Revision: 4967
  http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4967&view=rev
Author:   jswhit
Date: 2008-02-14 15:18:09 -0800 (Thu, 14 Feb 2008)

Log Message:
---
fix fill_color in drawmapboundary

Modified Paths:
--
trunk/toolkits/basemap/lib/mpl_toolkits/basemap/basemap.py

Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/basemap.py
===
--- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/basemap.py  2008-02-14 
22:22:13 UTC (rev 4966)
+++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/basemap.py  2008-02-14 
23:18:09 UTC (rev 4967)
@@ -1133,7 +1133,6 @@
 else:
 ax.axesPatch.set_facecolor(fill_color)
 ax.axesPatch.set_zorder(0)
-ax.axesPatch.set_facecolor(ax.get_axis_bgcolor())
 ax.axesPatch.set_edgecolor(color)
 ax.set_frame_on(True)
 if zorder is not None:


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

-
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse012070mrt/direct/01/
___
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins