Merge pull request #1651 from j9ac9k/Use_collections.abc
collections.abc not just collections
This commit is contained in:
commit
3b620836c4
@ -12,6 +12,7 @@ examples = OrderedDict([
|
|||||||
('Plot Customization', 'customPlot.py'),
|
('Plot Customization', 'customPlot.py'),
|
||||||
('Timestamps on x axis', 'DateAxisItem.py'),
|
('Timestamps on x axis', 'DateAxisItem.py'),
|
||||||
('Image Analysis', 'imageAnalysis.py'),
|
('Image Analysis', 'imageAnalysis.py'),
|
||||||
|
('Color Maps', 'colorMaps.py'),
|
||||||
('ViewBox Features', Namespace(filename='ViewBoxFeatures.py', recommended=True)),
|
('ViewBox Features', Namespace(filename='ViewBoxFeatures.py', recommended=True)),
|
||||||
('Dock widgets', 'dockarea.py'),
|
('Dock widgets', 'dockarea.py'),
|
||||||
('Console', 'ConsoleWidget.py'),
|
('Console', 'ConsoleWidget.py'),
|
||||||
@ -102,7 +103,6 @@ others = dict([
|
|||||||
('DiffTreeWidget', 'DiffTreeWidget.py'),
|
('DiffTreeWidget', 'DiffTreeWidget.py'),
|
||||||
('MultiPlotWidget', 'MultiPlotWidget.py'),
|
('MultiPlotWidget', 'MultiPlotWidget.py'),
|
||||||
('RemoteGraphicsView', 'RemoteGraphicsView.py'),
|
('RemoteGraphicsView', 'RemoteGraphicsView.py'),
|
||||||
('colorMaps', 'colorMaps.py'),
|
|
||||||
('contextMenu', 'contextMenu.py'),
|
('contextMenu', 'contextMenu.py'),
|
||||||
('designerExample', 'designerExample.py'),
|
('designerExample', 'designerExample.py'),
|
||||||
('DateAxisItem_QtDesigner', 'DateAxisItem_QtDesigner.py'),
|
('DateAxisItem_QtDesigner', 'DateAxisItem_QtDesigner.py'),
|
||||||
|
@ -3,7 +3,7 @@ from .Qt import QtGui, QtCore
|
|||||||
from .python2_3 import basestring
|
from .python2_3 import basestring
|
||||||
from .functions import mkColor, eq
|
from .functions import mkColor, eq
|
||||||
from os import path, listdir
|
from os import path, listdir
|
||||||
import collections
|
from collections.abc import Callable, Sequence
|
||||||
|
|
||||||
_mapCache = {}
|
_mapCache = {}
|
||||||
|
|
||||||
@ -61,14 +61,14 @@ def get(name, source=None, skipCache=False):
|
|||||||
if not skipCache and name in _mapCache:
|
if not skipCache and name in _mapCache:
|
||||||
return _mapCache[name]
|
return _mapCache[name]
|
||||||
if source is None:
|
if source is None:
|
||||||
return _get_from_file(name)
|
return _getFromFile(name)
|
||||||
elif source == 'matplotlib':
|
elif source == 'matplotlib':
|
||||||
return _get_from_matplotlib(name)
|
return getFromMatplotlib(name)
|
||||||
elif source == 'colorcet':
|
elif source == 'colorcet':
|
||||||
return _get_from_colorcet(name)
|
return getFromColorcet(name)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def _get_from_file(name):
|
def _getFromFile(name):
|
||||||
filename = name
|
filename = name
|
||||||
if filename[0] !='.': # load from built-in directory
|
if filename[0] !='.': # load from built-in directory
|
||||||
dirname = path.dirname(__file__)
|
dirname = path.dirname(__file__)
|
||||||
@ -114,7 +114,7 @@ def _get_from_file(name):
|
|||||||
_mapCache[name] = cm
|
_mapCache[name] = cm
|
||||||
return cm
|
return cm
|
||||||
|
|
||||||
def _get_from_matplotlib(name):
|
def getFromMatplotlib(name):
|
||||||
""" import colormap from matplotlib definition """
|
""" import colormap from matplotlib definition """
|
||||||
# inspired and informed by "mpl_cmaps_in_ImageItem.py", published by Sebastian Hoefer at
|
# inspired and informed by "mpl_cmaps_in_ImageItem.py", published by Sebastian Hoefer at
|
||||||
# https://github.com/honkomonk/pyqtgraph_sandbox/blob/master/mpl_cmaps_in_ImageItem.py
|
# https://github.com/honkomonk/pyqtgraph_sandbox/blob/master/mpl_cmaps_in_ImageItem.py
|
||||||
@ -126,7 +126,7 @@ def _get_from_matplotlib(name):
|
|||||||
col_map = mpl_plt.get_cmap(name)
|
col_map = mpl_plt.get_cmap(name)
|
||||||
if hasattr(col_map, '_segmentdata'): # handle LinearSegmentedColormap
|
if hasattr(col_map, '_segmentdata'): # handle LinearSegmentedColormap
|
||||||
data = col_map._segmentdata
|
data = col_map._segmentdata
|
||||||
if ('red' in data) and isinstance(data['red'], collections.Sequence):
|
if ('red' in data) and isinstance(data['red'], Sequence):
|
||||||
positions = set() # super-set of handle positions in individual channels
|
positions = set() # super-set of handle positions in individual channels
|
||||||
for key in ['red','green','blue']:
|
for key in ['red','green','blue']:
|
||||||
for tup in data[key]:
|
for tup in data[key]:
|
||||||
@ -142,7 +142,7 @@ def _get_from_matplotlib(name):
|
|||||||
col_data[:,idx] = np.interp(col_data[:,3], positions, comp_vals)
|
col_data[:,idx] = np.interp(col_data[:,3], positions, comp_vals)
|
||||||
cm = ColorMap(pos=col_data[:,-1], color=255*col_data[:,:3]+0.5)
|
cm = ColorMap(pos=col_data[:,-1], color=255*col_data[:,:3]+0.5)
|
||||||
# some color maps (gnuplot in particular) are defined by RGB component functions:
|
# some color maps (gnuplot in particular) are defined by RGB component functions:
|
||||||
elif ('red' in data) and isinstance(data['red'], collections.Callable):
|
elif ('red' in data) and isinstance(data['red'], Callable):
|
||||||
col_data = np.zeros((64, 4))
|
col_data = np.zeros((64, 4))
|
||||||
col_data[:,-1] = np.linspace(0., 1., 64)
|
col_data[:,-1] = np.linspace(0., 1., 64)
|
||||||
for idx, key in enumerate(['red','green','blue']):
|
for idx, key in enumerate(['red','green','blue']):
|
||||||
@ -155,7 +155,7 @@ def _get_from_matplotlib(name):
|
|||||||
_mapCache[name] = cm
|
_mapCache[name] = cm
|
||||||
return cm
|
return cm
|
||||||
|
|
||||||
def _get_from_colorcet(name):
|
def getFromColorcet(name):
|
||||||
""" import colormap from colorcet definition """
|
""" import colormap from colorcet definition """
|
||||||
try:
|
try:
|
||||||
import colorcet
|
import colorcet
|
||||||
|
Loading…
Reference in New Issue
Block a user