Ejemplo n.º 1
0
    def addHocViewer(grayData=None, segData=None, title="viewer", visu=True):
        if visu:
            app = QApp.Instance().app

            v = Viewer()

            if grayData is not None:
                for name in grayData.keys():
                    data = grayData[name]
                    if _hasVigra:
                        if isinstance(data, vigra.arraytypes.VigraArray):
                            v.addGrayscaleLayer(data.view(numpy.ndarray),
                                                name=name)
                        else:
                            v.addGrayscaleLayer(data, name=name)
                    else:
                        v.addGrayscaleLayer(data, name=name)

            if segData is not None:
                for name in segData.keys():
                    data = segData[name]
                    if _hasVigra:
                        if isinstance(data, vigra.arraytypes.VigraArray):
                            v.addColorTableLayer(data.view(numpy.ndarray),
                                                 name=name)
                        else:
                            v.addColorTableLayer(data, name=name)
                    else:
                        v.addGrayscaleLayer(data, name=name)

            v.setWindowTitle(title)
            v.showMaximized()
            app.exec_()
Ejemplo n.º 2
0
    def addHocViewer(grayData=None, segData=None, title="viewer", visu=True):
        if visu:
            app = QApp.Instance().app

            v = Viewer()

            if grayData is not None:
                for name in grayData.keys():
                    data = grayData[name]
                    if hasVigra:
                        if isinstance(data, vigra.arraytypes.VigraArray):
                            v.addGrayscaleLayer(data.view(numpy.ndarray), name=name)
                        else:
                            v.addGrayscaleLayer(data, name=name)
                    else:
                        v.addGrayscaleLayer(data, name=name)

            if segData is not None:
                for name in segData.keys():
                    data = segData[name]
                    if hasVigra:
                        if isinstance(data, vigra.arraytypes.VigraArray):
                            v.addColorTableLayer(data.view(numpy.ndarray), name=name)
                        else:
                            v.addColorTableLayer(data, name=name)
                    else:
                        v.addGrayscaleLayer(data, name=name)

            v.setWindowTitle(title)
            v.showMaximized()
            app.exec_()
l1 = v.addGrayscaleLayer(raw, name="raw", direct=True)
l1.visible = direct
colortable = [
    QColor(0, 0, 0, 0).rgba(),
    QColor(255, 0, 0).rgba(),
    QColor(0, 255, 0).rgba(),
    QColor(0, 0, 255).rgba()
]

s = ((raw // 64)).astype(numpy.uint8)


def onClick(layer, pos5D, pos):
    print("here i am: ", pos5D, s[pos5D])


l2 = v.addColorTableLayer(s,
                          clickFunctor=onClick,
                          name="thresh",
                          colortable=colortable,
                          direct=direct)
l2.colortableIsRandom = True
l2.zeroIsTransparent = True
l2.visible = False

v.addClickableSegmentationLayer(s, "click it", direct=True)

v.show()
app.exec_()
Ejemplo n.º 4
0
    print "seg "
    labels = vigra.readHDF5(lPath, 'data')
    labelsS = vigra.readHDF5(lsPath, 'data')
    #labelsSS = vigra.readHDF5(lssPath, 'data')
    labelsPS = vigra.readHDF5(
        "/mnt/CLAWS1/tbeier/data/stack_with_holes/lps.h5", 'data')

    print ew.shape

    print "datashape", data.shape
    print "resshape", smoothedT.shape

    app = QApplication(sys.argv)
    v = Viewer()

    v.addGrayscaleLayer(data, name="raw")
    v.addGrayscaleLayer(smoothedT, name="smoothedT")
    v.addGrayscaleLayer(ew, name="hessian ew")
    v.addGrayscaleLayer(ews, name="hessian ews")
    v.addGrayscaleLayer(ewss, name="hessian ewss")
    v.addGrayscaleLayer(pEws, name="hessian p80ews")
    #v.addGrayscaleLayer(dd, name="diff ews")
    v.addColorTableLayer(labels, name="labels")
    v.addColorTableLayer(labelsS, name="labelsS")
    #v.addColorTableLayer(labelsSS, name="labelsSS")
    v.addColorTableLayer(labelsPS, name="labelsPS")

    v.setWindowTitle("stack with holes")
    v.showMaximized()
    app.exec_()
item1.setPath(path1)

# Create images
back = (numpy.ones((100, 200, 300)) * 0).astype(numpy.uint8)
back[0:60, 0:60, 0:60] = 255
back[40:80, 40:80, 40:80] = 120
back[40:100, 40:100, 0:40] = 80
back[0:45, 50:100, 0:100] = 200
ol = (numpy.zeros((100, 200, 300))).astype(numpy.uint8)
# ol[0:99, 0:99, 0:99] = 120
# ol[0:99, 120:140, 0:99] = 255
ol[:] = back
back.shape = (1,)+back.shape+(1,)
ol.shape = (1,)+ol.shape+(1,)

# Add layers
l1 = v.addGrayscaleLayer(back, name="back")
l1.visible = True
l2 = v.addColorTableLayer(ol, name="overlay")


# Add the path to the graphics scene
# v.editor.imageScenes[0].addItem(item1)
# v.editor.imageScenes[1].addItem(item1)
v.editor.imageScenes[2].addItem(item1)

v.setWindowTitle("Clickable Border Viewer")
v.show()

app.exec_()
Ejemplo n.º 6
0
#load data
f = h5py.File(fname, 'r')       
raw = f[gname].value
assert raw.ndim == 3
assert raw.dtype == numpy.uint8
f.close()

app = QApplication([])
v = Viewer()
direct = True

raw.shape = (1,)+raw.shape+(1,)

l1 = v.addGrayscaleLayer(raw, name="raw", direct=True)
l1.visible = direct
colortable = [QColor(0,0,0,0).rgba(), QColor(255,0,0).rgba(), QColor(0,255,0).rgba(), QColor(0,0,255).rgba()]

s = ((raw/64)).astype(numpy.uint8)
def onClick(layer, pos5D, pos):
    print "here i am: ", pos5D, s[pos5D]
    
l2 = v.addColorTableLayer(s, clickFunctor=onClick, name="thresh", colortable=colortable, direct=direct)
l2.colortableIsRandom = True
l2.zeroIsTransparent = True
l2.visible = False

v.addClickableSegmentationLayer(s, "click it", direct=True)

v.show()
app.exec_()
Ejemplo n.º 7
0
    labelsS = vigra.readHDF5(lsPath, 'data')
    #labelsSS = vigra.readHDF5(lssPath, 'data')
    labelsPS = vigra.readHDF5("/mnt/CLAWS1/tbeier/data/stack_with_holes/lps.h5", 'data')

    print ew.shape



    print "datashape",data.shape
    print "resshape",smoothedT.shape

    app = QApplication(sys.argv)
    v = Viewer()

    v.addGrayscaleLayer(data, name="raw")
    v.addGrayscaleLayer(smoothedT, name="smoothedT")
    v.addGrayscaleLayer(ew, name="hessian ew")
    v.addGrayscaleLayer(ews, name="hessian ews")
    v.addGrayscaleLayer(ewss, name="hessian ewss")
    v.addGrayscaleLayer(pEws, name="hessian p80ews")
    #v.addGrayscaleLayer(dd, name="diff ews")
    v.addColorTableLayer(labels, name="labels")
    v.addColorTableLayer(labelsS, name="labelsS")
    #v.addColorTableLayer(labelsSS, name="labelsSS")
    v.addColorTableLayer(labelsPS, name="labelsPS")

    v.setWindowTitle("stack with holes")
    v.showMaximized()
    app.exec_()

Ejemplo n.º 8
0
##-----

app = QApplication(sys.argv)
v = Viewer()

graph = Graph()


def mkH5source(fname, gname):
    h5file = h5py.File(fname)
    source = OpStreamingHdf5Reader(graph=graph)
    source.Hdf5File.setValue(h5file)
    source.InternalPath.setValue(gname)

    op = OpCompressedCache(parent=None, graph=graph)
    op.BlockShape.setValue([100, 100, 100])
    op.Input.connect(source.OutputImage)

    return op.Output


rawSource = mkH5source("raw.h5", "raw")
segSource = mkH5source("seg.h5", "seg")

v.addGrayscaleLayer(rawSource, name="raw")
v.addColorTableLayer(segSource, name="seg")

v.setWindowTitle("streaming viewer")
v.showMaximized()
app.exec_()
item1 = ClickablePathItem(v.editor.imageScenes[2], clickable_width=11)
item1.set_path_from_coordinates(c_x, c_y)

# Create images
back = (numpy.ones((100, 200, 300)) * 0).astype(numpy.uint8)
back[0:60, 0:60, 0:60] = 255
back[40:80, 40:80, 40:80] = 120
back[40:100, 40:100, 0:40] = 80
back[0:45, 50:100, 0:100] = 200
ol = (numpy.zeros((100, 200, 300))).astype(numpy.uint8)
# ol[0:99, 0:99, 0:99] = 120
# ol[0:99, 120:140, 0:99] = 255
ol[:] = back
back.shape = (1,)+back.shape+(1,)
ol.shape = (1,)+ol.shape+(1,)

# Add layers
l1 = v.addGrayscaleLayer(back, name="back")
l1.visible = True
l2 = v.addColorTableLayer(ol, name="overlay")

# Add the path to the graphics scene
# v.editor.imageScenes[0].addItem(item1)
# v.editor.imageScenes[1].addItem(item1)
# v.editor.imageScenes[2].addItem(item1)

v.setWindowTitle("Clickable Border Viewer")
v.show()

app.exec_()
Ejemplo n.º 10
0
##-----

app = QApplication(sys.argv)
v = Viewer()

graph = Graph()


def mkH5source(fname, gname):
    h5file = h5py.File(fname)
    source = OpStreamingH5N5Reader(graph=graph)
    source.H5N5File.setValue(h5file)
    source.InternalPath.setValue(gname)

    op = OpCompressedCache(parent=None, graph=graph)
    op.BlockShape.setValue([100, 100, 100])
    op.Input.connect(source.OutputImage)

    return op.Output


rawSource = mkH5source("raw.h5", "raw")
segSource = mkH5source("seg.h5", "seg")

v.addGrayscaleLayer(rawSource, name="raw")
v.addColorTableLayer(segSource, name="seg")

v.setWindowTitle("streaming viewer")
v.showMaximized()
app.exec_()