Revision: 4431
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4431&view=rev
Author: jswhit
Date: 2007-11-24 11:43:37 -0800 (Sat, 24 Nov 2007)
Log Message:
-----------
modify pupynere to create masked array when missing_value
and/or _FillValue attribute is defined, and apply scale_factor
and add_offset.
Modified Paths:
--------------
trunk/toolkits/basemap/lib/matplotlib/toolkits/basemap/pupynere.py
Modified: trunk/toolkits/basemap/lib/matplotlib/toolkits/basemap/pupynere.py
===================================================================
--- trunk/toolkits/basemap/lib/matplotlib/toolkits/basemap/pupynere.py
2007-11-24 13:25:06 UTC (rev 4430)
+++ trunk/toolkits/basemap/lib/matplotlib/toolkits/basemap/pupynere.py
2007-11-24 19:43:37 UTC (rev 4431)
@@ -31,7 +31,7 @@
import itertools
import mmap
-from numpy import ndarray, zeros, array
+from numpy import ndarray, zeros, array, ma, squeeze
ABSENT = '\x00' * 8
@@ -257,7 +257,23 @@
}
def __getitem__(self, index):
- return self.__array_data__.__getitem__(index)
+ # modified by jsw to automatically
+ # - remove singleton dimensions
+ # - create a masked array using missing_value or _FillValue attribute
+ # - apply scale_factor and add_offset to packed integer data
+ datout = squeeze(self.__array_data__.__getitem__(index))
+ try:
+ datout = ma.masked_values(datout, self.missing_value)
+ except:
+ try:
+ datout = ma.masked_values(datout, self._FillValue)
+ except:
+ pass
+ try:
+ datout = self.scale_factor*datout + self.add_offset
+ except:
+ pass
+ return datout
def getValue(self):
"""For scalars."""
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 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins