Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
def main(filenames):
    app = qt.QApplication([])

    tree = hdf5.Hdf5TreeView()
    tree.setVisible(True)

    model = tree.findHdf5TreeModel()
    for filename in filenames:
        model.insertFile(filename)

    app.exec_()
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
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)
Ejemplo n.º 7
0
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_()
Ejemplo n.º 8
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)
Ejemplo n.º 9
0
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_()
Ejemplo n.º 10
0
    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)
Ejemplo n.º 11
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)
Ejemplo n.º 12
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)
Ejemplo n.º 13
0
    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)
Ejemplo n.º 14
0
    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)
Ejemplo n.º 15
0
    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)
Ejemplo n.º 16
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)

        #
        # TODO: Connect onTreeActivated the tree event
        #

        #
        # TODO: Register populateContextMenu to the context menu callback of the tree
        #

        self.background = None
        self.flatfield = None
Ejemplo n.º 17
0
 def testCreate(self):
     view = hdf5.Hdf5TreeView()
     self.assertIsNotNone(view)
Ejemplo n.º 18
0
 def testContextMenu(self):
     view = hdf5.Hdf5TreeView()
     view._createContextMenu(qt.QPoint(0, 0))