def main_ex1(): # # EXERCISE: Open the file 'data/ID16B_diatomee.h5' # h5 = ... # # EXERCISE: Display the file into the HDF5 tree # from silx.gui import hdf5 tree = hdf5.Hdf5TreeView() model = tree.findHdf5TreeModel() ... tree.setVisible(True) # # EXERCISE: Access to one frame of the image # print(...) # # EXERCISE: Display it with the data viwer # import silx.gui.data.DataViewerFrame viewer = silx.gui.data.DataViewerFrame.DataViewerFrame() ... viewer.setVisible(True) return tree, viewer
def main_ex1(): # # EXERCISE: Open the file 'data/ID16B_diatomee.h5' # import silx.io h5 = silx.io.open("data/ID16B_diatomee.h5") # # EXERCISE: Display the file into the HDF5 tree # from silx.gui import hdf5 tree = hdf5.Hdf5TreeView() model = tree.findHdf5TreeModel() model.insertH5pyObject(h5) tree.setVisible(True) # # EXERCISE: Access to one frame of the image # print(h5["/data/0000"]) # # EXERCISE: Display it with the data viwer # import silx.gui.data.DataViewerFrame viewer = silx.gui.data.DataViewerFrame.DataViewerFrame() viewer.setData(h5["/data/0000"]) viewer.setVisible(True) return tree, viewer
def testSelection_OriginalModel(self): tree = commonh5.File("/foo/bar/1.mock", "w") item = tree.create_group("a/b/c/d") item.create_group("e").create_group("f") view = hdf5.Hdf5TreeView() view.findHdf5TreeModel().insertH5pyObject(tree) view.setSelectedH5Node(item) selected = list(view.selectedH5Nodes())[0] self.assertIs(item, selected.h5py_object)
def main(filenames): app = qt.QApplication([]) tree = hdf5.Hdf5TreeView() tree.setVisible(True) model = tree.findHdf5TreeModel() for filename in filenames: model.insertFile(filename) app.exec_()
def testSelection_SelectNone(self): tree = commonh5.File("/foo/bar/1.mock", "w") model = hdf5.Hdf5TreeModel() model.insertH5pyObject(tree) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(tree) view.setSelectedH5Node(None) selection = list(view.selectedH5Nodes()) self.assertEqual(len(selection), 0)
def testSelection_RootFromSubTree(self): tree = commonh5.File("/foo/bar/1.mock", "w") group = tree.create_group("a1") group.create_group("b/c/d") model = hdf5.Hdf5TreeModel() model.insertH5pyObject(group) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(group) selected = list(view.selectedH5Nodes())[0] self.assertIs(group, selected.h5py_object)
def main(filenames): app = qt.QApplication([]) window = qt.QSplitter() tree = hdf5.Hdf5TreeView(window) window.addWidget(tree) window.setVisible(True) model = tree.findHdf5TreeModel() for filename in filenames: model.insertFile(filename) app.exec_()
def __init__(self, parent=None): qt.QMainWindow.__init__(self, parent) self.setWindowTitle("HDF5 viewer") # create a tree and a DataViewer separated by a splitter splitter = qt.QSplitter() self.tree = hdf5.Hdf5TreeView(splitter) self.dataViewer = DataViewer(splitter) splitter.addWidget(self.tree) splitter.addWidget(self.dataViewer) splitter.setStretchFactor(1, 1) splitter.setVisible(True) self.setCentralWidget(splitter)
def main(filenames): app = qt.QApplication([]) tree = hdf5.Hdf5TreeView(window) tree.setVisible(True) model = tree.findHdf5TreeModel() for filename in filenames: # # TODO: Load each filename into the model tree # print("Load %s" % filename) app.exec_()
def testSelection_FileFromSubTree(self): tree = commonh5.File("/foo/bar/1.mock", "w") group = tree.create_group("a1") group.create_group("b").create_group("b").create_group("d") model = hdf5.Hdf5TreeModel() model.insertH5pyObject(group) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(tree) selection = list(view.selectedH5Nodes()) self.assertEquals(len(selection), 0)
def testSelection_NotFound(self): tree2 = commonh5.File("/foo/bar/2.mock", "w") tree = commonh5.File("/foo/bar/1.mock", "w") item = tree.create_group("a/b/c/d") item.create_group("e").create_group("f") model = hdf5.Hdf5TreeModel() model.insertH5pyObject(tree) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(tree2) selection = list(view.selectedH5Nodes()) self.assertEqual(len(selection), 0)
def __init__(self, parent=None): qt.QMainWindow.__init__(self, parent) self.setWindowTitle("HDF5 viewer") # create a tree and a DataViewer separated by a splitter splitter = qt.QSplitter() self.tree = hdf5.Hdf5TreeView(splitter) self.dataViewer = DataViewer(splitter) splitter.addWidget(self.tree) splitter.addWidget(self.dataViewer) splitter.setStretchFactor(1, 1) splitter.setVisible(True) self.setCentralWidget(splitter) # connect activated (dbl-click, return key) to a callback self.tree.activated.connect(self.onTreeActivated)
def testSelection_ManyGroupFromSameFile(self): tree = commonh5.File("/foo/bar/1.mock", "w") group1 = tree.create_group("a1") group2 = tree.create_group("a2") group3 = tree.create_group("a3") group1.create_group("b/c/d") item = group2.create_group("b/c/d") group3.create_group("b/c/d") model = hdf5.Hdf5TreeModel() model.insertH5pyObject(group1) model.insertH5pyObject(group2) model.insertH5pyObject(group3) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(item) selected = list(view.selectedH5Nodes())[0] self.assertIs(item, selected.h5py_object)
def testSelection_Tree(self): tree1 = commonh5.File("/foo/bar/1.mock", "w") tree2 = commonh5.File("/foo/bar/2.mock", "w") tree3 = commonh5.File("/foo/bar/3.mock", "w") tree1.create_group("a/b/c") tree2.create_group("a/b/c") tree3.create_group("a/b/c") item = tree2 model = hdf5.Hdf5TreeModel() model.insertH5pyObject(tree1) model.insertH5pyObject(tree2) model.insertH5pyObject(tree3) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(item) selected = list(view.selectedH5Nodes())[0] self.assertIs(item, selected.h5py_object)
def testSelection_RecurssiveLink(self): """ Recurssive link selection This example is not really working as expected cause commonh5 do not support recurssive links. But item.name == "/a/b" and the result is found. """ tree = commonh5.File("/foo/bar/1.mock", "w") group = tree.create_group("a") group.add_node(commonh5.SoftLink("b", "/")) item = tree["/a/b/a/b/a/b/a/b/a/b/a/b/a/b/a/b"] model = hdf5.Hdf5TreeModel() model.insertH5pyObject(tree) view = hdf5.Hdf5TreeView() view.setModel(model) view.setSelectedH5Node(item) selected = list(view.selectedH5Nodes())[0] self.assertEqual(item.name, selected.h5py_object.name)
def __init__(self, parent=None): qt.QMainWindow.__init__(self, parent) self.setWindowTitle("HDF5 viewer") # create a tree and a DataViewer separated by a splitter splitter = qt.QSplitter() self.tree = hdf5.Hdf5TreeView(splitter) self.dataViewer = DataViewer(splitter) splitter.addWidget(self.tree) splitter.addWidget(self.dataViewer) splitter.setStretchFactor(1, 1) splitter.setVisible(True) self.setCentralWidget(splitter) # # TODO: Connect onTreeActivated the tree event # # # TODO: Register populateContextMenu to the context menu callback of the tree # self.background = None self.flatfield = None
def testCreate(self): view = hdf5.Hdf5TreeView() self.assertIsNotNone(view)
def testContextMenu(self): view = hdf5.Hdf5TreeView() view._createContextMenu(qt.QPoint(0, 0))