Skip to content

Commit f555325

Browse files
authored
Merge pull request #2570 from astrofrog/rename-scatter-3d-layer-state
Rename 3D scatter layer state and define cmap_name on state classes
2 parents 84caca7 + 7b93921 commit f555325

File tree

7 files changed

+37
-29
lines changed

7 files changed

+37
-29
lines changed

glue/core/state_path_patches.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,6 @@ glue.viewers.table.qt.data_viewer.TableLayerArtist -> glue_qt.viewers.table.data
8787
glue.viewers.table.qt.data_viewer.TableViewer -> glue_qt.viewers.table.data_viewer.TableViewer
8888
glue.viewers.table.qt.TableLayerArtist -> glue_qt.viewers.table.TableLayerArtist
8989
glue.viewers.table.qt.TableViewer -> glue_qt.viewers.table.TableViewer
90-
glue_vispy_viewers.volume.layer_state.VolumeLayerState -> glue.viewers.volume3d.layer_state.VolumeLayerState
91-
glue_vispy_viewers.scatter.layer_state.ScatterLayerState -> glue.viewers.scatter3d.layer_state.ScatterLayerState
90+
glue_vispy_viewers.volume.layer_state.VolumeLayerState -> glue.viewers.volume3d.layer_state.VolumeLayerState3D
91+
glue_vispy_viewers.scatter.layer_state.ScatterLayerState -> glue.viewers.scatter3d.layer_state.ScatterLayerState3D
9292
glue_vispy_viewers.common.layer_state.VispyLayerState -> glue.viewers.common3d.layer_state.LayerState3D

glue/viewers/common3d/compat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import uuid
22

33
from ..scatter3d.layer_state import ScatterLayerState
4-
from ..volume3d.layer_state import VolumeLayerState
4+
from ..volume3d.layer_state import VolumeLayerState3D
55

66
STATE_CLASS = {}
77
STATE_CLASS['ScatterLayerArtist'] = ScatterLayerState
8-
STATE_CLASS['VolumeLayerArtist'] = VolumeLayerState
8+
STATE_CLASS['VolumeLayerArtist'] = VolumeLayerState3D
99

1010

1111
def update_3d_viewer_state(rec, context):

glue/viewers/scatter3d/layer_state.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
from glue.core.data_combo_helper import ComponentIDComboHelper
88
from ..common3d.layer_state import LayerState3D
99

10-
__all__ = ['ScatterLayerState']
10+
__all__ = ['ScatterLayerState3D']
1111

1212

13-
class ScatterLayerState(LayerState3D):
13+
class ScatterLayerState3D(LayerState3D):
1414
"""
1515
A state object for scatter layers
1616
"""
@@ -60,16 +60,16 @@ def __init__(self, layer=None, **kwargs):
6060

6161
self._sync_markersize = None
6262

63-
super(ScatterLayerState, self).__init__(layer=layer)
63+
super(ScatterLayerState3D, self).__init__(layer=layer)
6464

6565
if self.layer is not None:
6666

6767
self.color = self.layer.style.color
6868
self.size = self.layer.style.markersize
6969
self.alpha = self.layer.style.alpha
7070

71-
ScatterLayerState.color_mode.set_choices(self, ['Fixed', 'Linear'])
72-
ScatterLayerState.size_mode.set_choices(self, ['Fixed', 'Linear'])
71+
ScatterLayerState3D.color_mode.set_choices(self, ['Fixed', 'Linear'])
72+
ScatterLayerState3D.size_mode.set_choices(self, ['Fixed', 'Linear'])
7373

7474
self.size_att_helper = ComponentIDComboHelper(self, 'size_att')
7575
self.cmap_att_helper = ComponentIDComboHelper(self, 'cmap_att')
@@ -92,8 +92,8 @@ def __init__(self, layer=None, **kwargs):
9292
vector_origin_display = {'tail': 'Tail of vector',
9393
'middle': 'Middle of vector',
9494
'tip': 'Tip of vector'}
95-
ScatterLayerState.vector_origin.set_choices(self, ['tail', 'middle', 'tip'])
96-
ScatterLayerState.vector_origin.set_display_func(self, vector_origin_display.get)
95+
ScatterLayerState3D.vector_origin.set_choices(self, ['tail', 'middle', 'tip'])
96+
ScatterLayerState3D.vector_origin.set_display_func(self, vector_origin_display.get)
9797

9898
self.add_callback('layer', self._on_layer_change)
9999
if layer is not None:
@@ -121,7 +121,7 @@ def _update_priority(self, name):
121121

122122
def _layer_changed(self):
123123

124-
super(ScatterLayerState, self)._layer_changed()
124+
super(ScatterLayerState3D, self)._layer_changed()
125125

126126
if self._sync_markersize is not None:
127127
self._sync_markersize.stop_syncing()
@@ -136,6 +136,10 @@ def flip_size(self):
136136
def flip_cmap(self):
137137
self.cmap_lim_helper.flip_limits()
138138

139+
@property
140+
def cmap_name(self):
141+
return colormaps.name_from_cmap(self.cmap)
142+
139143
@property
140144
def point_sizes(self):
141145
if self.size_mode is None:

glue/viewers/scatter3d/tests/test_layer_state.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@
33
from glue.core import Data, DataCollection
44
from glue.core.tests.test_state import clone
55

6-
from ..layer_state import ScatterLayerState
6+
from ..layer_state import ScatterLayerState3D
77

88

9-
class TestScatterLayerState:
9+
class TestScatterLayerState3D:
1010

1111
def setup_method(self, method):
1212
self.data = Data(x=[1, 2, 3, 4, 5], label='test_data')
1313
self.data_collection = DataCollection([self.data])
14-
self.state = ScatterLayerState(layer=self.data)
14+
self.state = ScatterLayerState3D(layer=self.data)
1515

1616
def test_size_syncs_to_layer_markersize(self):
1717
self.state.size = 15

glue/viewers/scatter3d/tests/test_viewer_state.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from glue.core.tests.test_state import clone
33

44
from ..viewer_state import ScatterViewerState3D
5-
from ..layer_state import ScatterLayerState
5+
from ..layer_state import ScatterLayerState3D
66

77

88
def get_choice_labels(choices):
@@ -18,15 +18,15 @@ def setup_method(self, method):
1818
self.state = ScatterViewerState3D()
1919

2020
def test_adding_layer_populates_att_helpers(self):
21-
layer_state = ScatterLayerState(layer=self.data1)
21+
layer_state = ScatterLayerState3D(layer=self.data1)
2222
self.state.layers.append(layer_state)
2323

2424
choices = set(get_choice_labels(self.state.x_att_helper.choices))
2525
assert 'x' in choices
2626

2727
def test_adding_second_layer_adds_its_components(self):
28-
layer_state1 = ScatterLayerState(layer=self.data1)
29-
layer_state2 = ScatterLayerState(layer=self.data2)
28+
layer_state1 = ScatterLayerState3D(layer=self.data1)
29+
layer_state2 = ScatterLayerState3D(layer=self.data2)
3030
self.state.layers.append(layer_state1)
3131
self.state.layers.append(layer_state2)
3232

@@ -36,8 +36,8 @@ def test_adding_second_layer_adds_its_components(self):
3636
assert 'b' in choices
3737

3838
def test_removing_layer_updates_att_helpers(self):
39-
layer_state1 = ScatterLayerState(layer=self.data1)
40-
layer_state2 = ScatterLayerState(layer=self.data2)
39+
layer_state1 = ScatterLayerState3D(layer=self.data1)
40+
layer_state2 = ScatterLayerState3D(layer=self.data2)
4141
self.state.layers.append(layer_state1)
4242
self.state.layers.append(layer_state2)
4343

glue/viewers/volume3d/layer_state.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
from glue.viewers.common.stretch_state_mixin import StretchStateMixin
88
from ..common3d.layer_state import LayerState3D
99

10-
__all__ = ['VolumeLayerState']
10+
__all__ = ['VolumeLayerState3D']
1111

1212

13-
class VolumeLayerState(LayerState3D, StretchStateMixin):
13+
class VolumeLayerState3D(LayerState3D, StretchStateMixin):
1414
"""
1515
A state object for volume layers
1616
"""
@@ -29,7 +29,7 @@ class VolumeLayerState(LayerState3D, StretchStateMixin):
2929

3030
def __init__(self, layer=None, **kwargs):
3131

32-
super(VolumeLayerState, self).__init__(layer=layer)
32+
super(VolumeLayerState3D, self).__init__(layer=layer)
3333

3434
if self.layer is not None:
3535

@@ -42,7 +42,7 @@ def __init__(self, layer=None, **kwargs):
4242
lower='v_min', upper='v_max',
4343
cache=self._limits_cache)
4444

45-
VolumeLayerState.color_mode.set_choices(self, ['Fixed', 'Linear'])
45+
VolumeLayerState3D.color_mode.set_choices(self, ['Fixed', 'Linear'])
4646

4747
self.setup_stretch_callback()
4848

@@ -72,3 +72,7 @@ def _update_priority(self, name):
7272

7373
def flip_limits(self):
7474
self.lim_helper.flip_limits()
75+
76+
@property
77+
def cmap_name(self):
78+
return colormaps.name_from_cmap(self.cmap)

glue/viewers/volume3d/tests/test_layer_state.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
from glue.core import Data, DataCollection
44
from glue.core.tests.test_state import clone
55

6-
from ..layer_state import VolumeLayerState
6+
from ..layer_state import VolumeLayerState3D
77

88

9-
class TestVolumeLayerState:
9+
class TestVolumeLayerState3D:
1010

1111
def setup_method(self, method):
1212
self.data = Data(label='test_cube')
1313
self.data['x'] = np.arange(24).reshape((2, 3, 4))
1414
self.data_collection = DataCollection([self.data])
15-
self.state = VolumeLayerState(layer=self.data)
15+
self.state = VolumeLayerState3D(layer=self.data)
1616

1717
def test_flip_limits(self):
1818
self.state.attribute = self.data.id['x']
@@ -25,7 +25,7 @@ def test_flip_limits(self):
2525
def test_subset_has_fixed_vmin_vmax(self):
2626
subset = self.data.new_subset()
2727
subset.subset_state = self.data.id['x'] > 10
28-
state = VolumeLayerState(layer=subset)
28+
state = VolumeLayerState3D(layer=subset)
2929

3030
assert state.vmin == 0
3131
assert state.vmax == 1

0 commit comments

Comments
 (0)