|
From: <js...@us...> - 2011-02-11 19:30:20
|
Revision: 8970
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=8970&view=rev
Author: jswhit
Date: 2011-02-11 19:30:12 +0000 (Fri, 11 Feb 2011)
Log Message:
-----------
add new Line Integral Convolution (LIC) example (requires vectorplot scikit)
Modified Paths:
--------------
trunk/toolkits/basemap/MANIFEST.in
trunk/toolkits/basemap/examples/README
trunk/toolkits/basemap/examples/run_all.py
Added Paths:
-----------
trunk/toolkits/basemap/examples/hurrearl.nc
trunk/toolkits/basemap/examples/lic_demo.py
Modified: trunk/toolkits/basemap/MANIFEST.in
===================================================================
--- trunk/toolkits/basemap/MANIFEST.in 2011-02-10 07:37:05 UTC (rev 8969)
+++ trunk/toolkits/basemap/MANIFEST.in 2011-02-11 19:30:12 UTC (rev 8970)
@@ -75,9 +75,11 @@
include examples/cities.shx
include examples/show_colormaps.py
include examples/plotprecip.py
+include examples/lic_demo.py
include examples/nws_precip_conus_20061222.nc
include examples/C02562.orog.nc
include examples/ccsm_popgrid.nc
+include examples/hurrearl.nc
include examples/NetCDFFile_tst.py
include examples/maskoceans.py
include examples/README
Modified: trunk/toolkits/basemap/examples/README
===================================================================
--- trunk/toolkits/basemap/examples/README 2011-02-10 07:37:05 UTC (rev 8969)
+++ trunk/toolkits/basemap/examples/README 2011-02-11 19:30:12 UTC (rev 8970)
@@ -141,3 +141,6 @@
daynight.py shows how to shade the regions of a map where the sun has set.
ploticos.py demonstrates plotting on unstructured grids.
+
+lic_demo.py shows how to use vectorplot scikit to visualize vector fields with
+Line Integral Convolutions (LIC).
Added: trunk/toolkits/basemap/examples/hurrearl.nc
===================================================================
(Binary files differ)
Property changes on: trunk/toolkits/basemap/examples/hurrearl.nc
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/toolkits/basemap/examples/lic_demo.py
===================================================================
--- trunk/toolkits/basemap/examples/lic_demo.py (rev 0)
+++ trunk/toolkits/basemap/examples/lic_demo.py 2011-02-11 19:30:12 UTC (rev 8970)
@@ -0,0 +1,42 @@
+# example showing how to use Line Integral Convolution to visualize a vector
+# flow field (from Hurricane Earl). Produces something akin to streamlines.
+# Requires vectorplot scikit (http://scikits.appspot.com/vectorplot).
+try:
+ from netCDF4 import Dataset as NetCDFFile
+except ImportError:
+ from mpl_toolkits.basemap import NetCDFFile
+from mpl_toolkits.basemap import Basemap, cm, shiftgrid
+import numpy as np
+import matplotlib.pyplot as plt
+try:
+ from vectorplot import lic_internal
+except ImportError:
+ raise ImportError('need vectorplot scikit for this example')
+
+date = '2010090100'
+lat0=22.6; lon0=-69.2
+
+ncfile = NetCDFFile('hurrearl.nc')
+u = ncfile.variables['u10m'][:,:]
+v = ncfile.variables['v10m'][:,:]
+lons1 = ncfile.variables['lon'][:]
+lats1 = ncfile.variables['lat'][:]
+lons, lats = np.meshgrid(lons1,lats1)
+ncfile.close()
+
+fig = plt.figure(figsize=(8,8))
+m = Basemap(projection='stere',lat_0=lat0,lon_0=lon0,width=1.e6,height=1.e6,resolution='i')
+nxv = 501; nyv = 501
+udat, vdat, xv, yv = m.transform_vector(u,v,lons1,lats1,nxv,nyv,returnxy=True)
+texture = np.random.rand(udat.shape[0],udat.shape[1]).astype(np.float32)
+kernellen=51
+kernel = np.sin(np.arange(kernellen)*np.pi/kernellen).astype(np.float32)
+image = lic_internal.line_integral_convolution(udat.astype(np.float32),\
+ vdat.astype(np.float32), texture, kernel)
+im = m.imshow(image,plt.cm.gist_stern)
+m.drawcoastlines()
+m.drawmeridians(np.arange(0,360,2),labels=[0,0,0,1])
+m.drawparallels(np.arange(-30,30,2),labels=[1,0,0,0])
+plt.title('Hurricane Earl flow field visualized with Line Integral Convolution',\
+ fontsize=13)
+plt.show()
Property changes on: trunk/toolkits/basemap/examples/lic_demo.py
___________________________________________________________________
Added: svn:executable
+ *
Modified: trunk/toolkits/basemap/examples/run_all.py
===================================================================
--- trunk/toolkits/basemap/examples/run_all.py 2011-02-10 07:37:05 UTC (rev 8969)
+++ trunk/toolkits/basemap/examples/run_all.py 2011-02-11 19:30:12 UTC (rev 8970)
@@ -10,6 +10,7 @@
test_files.remove('plotsst.py')
test_files.remove('embedding_map_in_wx.py') # requires wx
test_files.remove('plothighsandlows.py') # requires scipy
+test_files.remove('lic_demo.py')
print test_files
py_path = os.environ.get('PYTHONPATH')
if py_path is None:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|