本文整理汇总了Python中glue.app.qt.GlueApplication.save_session方法的典型用法代码示例。如果您正苦于以下问题:Python GlueApplication.save_session方法的具体用法?Python GlueApplication.save_session怎么用?Python GlueApplication.save_session使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类glue.app.qt.GlueApplication
的用法示例。
在下文中一共展示了GlueApplication.save_session方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_table_widget_session_no_subset
# 需要导入模块: from glue.app.qt import GlueApplication [as 别名]
# 或者: from glue.app.qt.GlueApplication import save_session [as 别名]
def test_table_widget_session_no_subset(tmpdir):
# Regression test for a bug that caused table viewers with no subsets to
# not be restored correctly and instead raise an exception.
app = get_qapp() # noqa
d = Data(a=[1, 2, 3, 4, 5],
b=[3.2, 1.2, 4.5, 3.3, 2.2],
c=['e', 'b', 'c', 'a', 'f'], label='test')
dc = DataCollection([d])
gapp = GlueApplication(dc)
widget = gapp.new_data_viewer(TableViewer)
widget.add_data(d)
session_file = tmpdir.join('table.glu').strpath
gapp.save_session(session_file)
gapp2 = GlueApplication.restore_session(session_file)
gapp2.show()
gapp2.data_collection[0]
gapp2.viewers[0][0]
示例2: test_add_viewer
# 需要导入模块: from glue.app.qt import GlueApplication [as 别名]
# 或者: from glue.app.qt.GlueApplication import save_session [as 别名]
def test_add_viewer(self, tmpdir):
d1 = Data(x=np.random.random((2,) * self.ndim))
d2 = Data(x=np.random.random((2,) * self.ndim))
dc = DataCollection([d1, d2])
app = GlueApplication(dc)
w = app.new_data_viewer(self.widget_cls, data=d1)
w.viewer_size = (300, 400)
filename = tmpdir.join('session.glu').strpath
app.save_session(filename, include_data=True)
app2 = GlueApplication.restore_session(filename)
# test session is restored correctly
for viewer in app2.viewers:
assert viewer[0].viewer_size == (300, 400)
app.close()
app2.close()
示例3: test_viewer_size
# 需要导入模块: from glue.app.qt import GlueApplication [as 别名]
# 或者: from glue.app.qt.GlueApplication import save_session [as 别名]
def test_viewer_size(self, tmpdir):
# regression test for #781
# viewers were not restored with the right size
d1 = Data(x=np.random.random((2,) * self.ndim))
d2 = Data(x=np.random.random((2,) * self.ndim))
dc = DataCollection([d1, d2])
app = GlueApplication(dc)
w = app.new_data_viewer(self.widget_cls, data=d1)
w.viewer_size = (300, 400)
filename = tmpdir.join('session.glu').strpath
app.save_session(filename, include_data=True)
app2 = GlueApplication.restore_session(filename)
for viewer in app2.viewers:
assert viewer[0].viewer_size == (300, 400)
app.close()
app2.close()
示例4: TestImageViewer
# 需要导入模块: from glue.app.qt import GlueApplication [as 别名]
# 或者: from glue.app.qt.GlueApplication import save_session [as 别名]
#.........这里部分代码省略.........
assert self.viewer.layers[0].enabled # image
assert self.viewer.layers[1].enabled # scatter
assert not self.viewer.layers[2].enabled # image subset
assert self.viewer.layers[3].enabled # scatter subset
assert not self.viewer.layers[2].image_artist.get_visible()
self.data_collection.subset_groups[0].subset_state = self.catalog.id['c'] > -1
assert self.viewer.layers[0].enabled # image
assert self.viewer.layers[1].enabled # scatter
assert self.viewer.layers[2].enabled # image subset
assert self.viewer.layers[3].enabled # scatter subset
assert self.viewer.layers[2].image_artist.get_visible()
def test_linking_and_enabling(self):
# Regression test for a bug that caused layers not not be correctly
# enabled/disabled.
self.viewer.add_data(self.image1)
self.viewer.add_data(self.catalog)
self.catalog.add_component([4, 5, 6], 'e')
self.data_collection.new_subset_group(subset_state=self.catalog.id['e'] > 4)
assert self.viewer.layers[0].enabled # image
assert not self.viewer.layers[1].enabled # scatter
assert not self.viewer.layers[2].enabled # image subset
assert not self.viewer.layers[3].enabled # scatter subset
link1 = LinkSame(self.catalog.id['c'], self.image1.world_component_ids[0])
link2 = LinkSame(self.catalog.id['d'], self.image1.world_component_ids[1])
self.data_collection.add_link(link1)
self.data_collection.add_link(link2)
assert self.viewer.layers[0].enabled # image
assert self.viewer.layers[1].enabled # scatter
assert not self.viewer.layers[2].enabled # image subset
assert self.viewer.layers[3].enabled # scatter subset
def test_save_aggregate_slice(self, tmpdir):
# Regression test to make sure that image viewers that include
# aggregate slice objects in the slices can be saved/restored
self.viewer.add_data(self.hypercube)
self.viewer.state.slices = AggregateSlice(slice(1, 3), 10, np.sum), 3, 0, 0
filename = tmpdir.join('session.glu').strpath
self.application.save_session(filename)
self.application.close()
app2 = GlueApplication.restore_session(filename)
viewer_state = app2.viewers[0][0].state
slices = viewer_state.slices
assert isinstance(slices[0], AggregateSlice)
assert slices[0].slice == slice(1, 3)
assert slices[0].center == 10
assert slices[0].function is np.sum
assert slices[1:] == (3, 0, 0)
app2.close()
def test_subset_cube_image(self):
# Regression test to make sure that if an image and cube are present
# in an image viewer and a subset is also present, we don't get an
# error when trying to access the subset shape
self.viewer.add_data(self.image1)
self.data_collection.new_subset_group(label='subset',
subset_state=self.image1.id['x'] > 1.5)
self.viewer.add_data(self.hypercube)
self.viewer.state.reference_data = self.hypercube
assert self.viewer.layers[1].subset_array.shape == (4, 5)
assert self.viewer.layers[3].subset_array.shape == (4, 5)
def test_preserve_slice(self):
# Regression test to make sure that when adding a second dataset to
# an image viewer, the current slice in a cube does not change.
self.viewer.add_data(self.hypercube)
self.viewer.state.slices = (1, 2, 3, 4)
self.viewer.add_data(self.image1)
assert self.viewer.state.slices == (1, 2, 3, 4)
def test_close(self):
# Regression test for a bug that caused an error related to the toolbar
# and _mpl_nav not being present when closing the viewer.
self.viewer.toolbar.active_tool = self.viewer.toolbar.tools['mpl:zoom']
self.viewer.close(warn=False)
示例5: test_table_widget
# 需要导入模块: from glue.app.qt import GlueApplication [as 别名]
# 或者: from glue.app.qt.GlueApplication import save_session [as 别名]
#.........这里部分代码省略.........
widget.toolbar.actions['table:rowselect'].toggle()
def press_key(key):
event = QtGui.QKeyEvent(QtCore.QEvent.KeyPress, key, Qt.NoModifier)
app.postEvent(widget.ui.table, event)
app.processEvents()
process_events()
# We now use key presses to navigate down to the third row
press_key(Qt.Key_Tab)
press_key(Qt.Key_Down)
press_key(Qt.Key_Down)
process_events()
indices = selection.selectedRows()
# We make sure that the third row is selected
assert len(indices) == 1
assert indices[0].row() == 2
# At this point, the subsets haven't changed yet
np.testing.assert_equal(d.subsets[0].to_mask(), [1, 1, 1, 0, 0])
np.testing.assert_equal(d.subsets[1].to_mask(), [0, 1, 1, 0, 0])
# We specify that we are editing the second subset, and use a 'not' logical
# operation to remove the currently selected line from the second subset.
subset_mode.edit_subset = [d.subsets[1]]
subset_mode.mode = AndNotMode
press_key(Qt.Key_Enter)
np.testing.assert_equal(d.subsets[0].to_mask(), [1, 1, 1, 0, 0])
np.testing.assert_equal(d.subsets[1].to_mask(), [0, 1, 0, 0, 0])
# At this point, the selection should be cleared
indices = selection.selectedRows()
assert len(indices) == 0
# We move to the fourth row and now do an 'or' selection with the first
# subset.
press_key(Qt.Key_Down)
subset_mode.mode = OrMode
subset_mode.edit_subset = [d.subsets[0]]
press_key(Qt.Key_Enter)
np.testing.assert_equal(d.subsets[0].to_mask(), [1, 1, 1, 1, 0])
np.testing.assert_equal(d.subsets[1].to_mask(), [0, 1, 0, 0, 0])
# Finally we move to the fifth row and deselect all subsets so that
# pressing enter now creates a new subset.
press_key(Qt.Key_Down)
subset_mode.mode = ReplaceMode
subset_mode.edit_subset = None
press_key(Qt.Key_Enter)
np.testing.assert_equal(d.subsets[0].to_mask(), [1, 1, 1, 1, 0])
np.testing.assert_equal(d.subsets[1].to_mask(), [0, 1, 0, 0, 0])
np.testing.assert_equal(d.subsets[2].to_mask(), [0, 0, 0, 0, 1])
# Make the color for the new subset deterministic
dc.subset_groups[2].style.color = '#bababa'
# Now finally check saving and restoring session
session_file = tmpdir.join('table.glu').strpath
gapp.save_session(session_file)
gapp2 = GlueApplication.restore_session(session_file)
gapp2.show()
d = gapp2.data_collection[0]
widget2 = gapp2.viewers[0][0]
model2 = widget2.ui.table.model()
data = {'a': [1, 2, 3, 4, 5],
'b': [3.2, 1.2, 4.5, 3.3, 2.2],
'c': ['e', 'b', 'c', 'a', 'f']}
# Need to take into account new selections above
colors = ['#aa0000', '#380088', '#aa0000', "#aa0000", "#bababa"]
check_values_and_color(model2, data, colors)