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_()
Ejemplo n.º 3
0
def streaming_n_layer(files, keys, labels=None, block_shape=[100, 100, 100]):
    from volumina.api import Viewer
    from volumina.pixelpipeline.datasources import LazyflowSource

    from lazyflow.graph import Graph
    from lazyflow.operators.ioOperators.opStreamingHdf5Reader import OpStreamingHdf5Reader
    from lazyflow.operators import OpCompressedCache

    app = QApplication(sys.argv)

    v = Viewer()

    graph = Graph()

    def mkH5source(fname, gname):
        h5file = h5py.File(fname)
        dtype = h5file[gname].dtype

        source = OpStreamingHdf5Reader(graph=graph)
        source.Hdf5File.setValue(h5file)
        source.InternalPath.setValue(gname)

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

        return op.Output, dtype

    #rawSource = mkH5source(data[0], keys[0])
    #v.addGrayscaleLayer(rawSource, name = 'raw')

    for i, f in enumerate(files):

        if labels is not None:
            layer_name = labels[i]
        else:
            layer_name = "layer_%i" % (i)

        source, dtype = mkH5source(f, keys[i])

        if np.dtype(dtype) in (np.dtype('uint8'), np.dtype('float32'),
                               np.dtype('float64')):
            v.addGrayscaleLayer(source, name=layer_name)
        else:
            v.addRandomColorsLayer(source, name=layer_name)

    v.setWindowTitle("Streaming Viewer")
    v.showNormal()
    app.exec_()
Ejemplo n.º 4
0
def view(dset):
    from volumina.api import Viewer
    from PyQt4.QtGui import QApplication
    app = QApplication([])
    v = Viewer()
    if isinstance(dset, str):
        f = h5py.File(dset, 'r')
        d = f["volume/data"].value
        f.close()
        v.setWindowTitle(dset)
        v.addGrayscaleLayer(d, name="raw")
    elif isinstance(dset, numpy.ndarray):
        v.addGrayscaleLayer(dset, name="raw")
    else:
        raise RuntimeError("%r" % dset)
    v.showMaximized()
    app.exec_()
Ejemplo n.º 5
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_()
Ejemplo n.º 6
0
        sigma = float(sigma)

        return (-1.0 / sigma) * gauss(x, mean, sigma) + ((
            (-x + mean) / sigma)**2) * gauss(x, mean, sigma)

    for x in range(patchSize[0]):
        for y in range(patchSize[1]):
            for z in range(patchSize[2]):

                dgx = gauss2d(x, radius[0], sigma[0])
                gy = gauss(y, radius[1], sigma[1])
                gz = gauss(z, radius[2], sigma[2])
                kernel[x, y, z] = dgx * gy * gz

    return kernel


kernel = makeFilter(radius, sigma)
kernel /= numpy.sum(kernel)

kernel -= kernel.min()
kernel /= kernel.max()

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

v.addGrayscaleLayer(kernel, name="raw")

v.setWindowTitle("kernel")
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.º 8
0
    tvbai20 = vigra.readHDF5(ptvbai20, 'data')
    tvc5 = vigra.readHDF5(ptvc5, 'data')
    m1 = vigra.readHDF5(pm1, 'data')
    m2 = vigra.readHDF5(pm2, 'data')
    m3 = vigra.readHDF5(pm3, 'data')
    g1 = vigra.readHDF5(pg1, 'data')
    gf5 = vigra.readHDF5(pgf5, 'data')
    gm3 = vigra.readHDF5(pgm3, 'data')

    diff = gf5-data 

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

    print "add layers"
    v.addGrayscaleLayer(data,    name="raw")
    v.addGrayscaleLayer(nlm,   name="non local mean")
    v.addGrayscaleLayer(nlm2,   name="non local mean (on presmoothed)")
    v.addGrayscaleLayer(tvbi2,   name="tv bregman   2.0  isotropic")
    v.addGrayscaleLayer(tvbai20, name="tv bregman   20.0 anisotropic")
    v.addGrayscaleLayer(tvc5,    name="tv Chambolle 2.0")
    v.addGrayscaleLayer(m1,    name="median 1")
    v.addGrayscaleLayer(m2,    name="median 2")
    v.addGrayscaleLayer(m3,    name="median 3")
    v.addGrayscaleLayer(g1.view(numpy.ndarray),    name="gauss 1")
    v.addGrayscaleLayer(gf5.view(numpy.ndarray),    name="gauss guided filter 5")
    v.addGrayscaleLayer(gm3.view(numpy.ndarray),    name="median guided filter 3")

    v.setWindowTitle("smoothings")
    v.showMaximized()
    app.exec_()
Ejemplo n.º 9
0
    f = pylab.figure()
    for n, arr in enumerate(imgs):
        arr = arr.squeeze()
        f.add_subplot(1, len(imgs), n)
        pylab.imshow(arr.swapaxes(0, 1))
    pylab.show()

else:
    if False:
        pmapSmooth2 = dn.diffusion3d(p.copy() * 255.0, param)
        vigra.impex.writeHDF5(pmapSmooth2, "sub.h5", "dc_1.00_2.50")
    if True:
        pmapSmooth1 = vigra.impex.readHDF5("sub.h5", "dc_0.75_2")
        pmapSmooth2 = vigra.impex.readHDF5("sub.h5", "dc_1.00_2.50")

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

    v.addGrayscaleLayer(pmapSmooth1, name="pmapSmooth_0.75_2.00")
    v.addGrayscaleLayer(pmapSmooth2, name="pmapSmooth_1.00_2.50")
    v.addGrayscaleLayer(p, name="pmap")

    v.addGrayscaleLayer(d, name="raw")

    #v.addGrayscaleLayer(bf.grayscaleErosion(data,sigma=2.5), name="e")
    #v.addGrayscaleLayer(dt, name="dt")

    v.setWindowTitle("data")
    v.showMaximized()
    app.exec_()
    sys.exit()
Ejemplo n.º 10
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.º 11
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.º 13
0



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

v.addGrayscaleLayer(data, name="raw")



with vigra.Timer("get ranks 8*2"):
    a = dn.ballRankOrder(data,
        radius=12, 
        takeNth=2,
        ranks=(0.01,0.1, 0.5, 0.9, 0.99),
        useHistogram=True,
        minVal=0.0,
        maxVal=255.0,
        nBins=256)
    
v.addGrayscaleLayer(a, name="0.5 8* 2")




v.setWindowTitle("data")
v.showMaximized()
app.exec_()

Ejemplo n.º 14
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_()
Ejemplo n.º 15
0
label_arr = numpy.zeros(SHAPE, dtype=numpy.uint8)

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

data_src = ArraySource(data_arr)
data_layer = GrayscaleLayer(data_src)
data_layer.name = "Raw"
data_layer.numberOfChannels = 1

label_src = ArraySinkSource(label_arr)
label_layer = ColortableLayer(label_src,
                              colorTable=default16_new,
                              direct=False)
label_layer.name = "Labels"
label_layer.ref_object = None

assert SHAPE == label_arr.shape == data_arr.shape
v.dataShape = SHAPE

v.layerstack.append(data_layer)
v.layerstack.append(label_layer)

v.editor.setLabelSink(label_src)
v.editor.setInteractionMode("brushing")

v.setWindowTitle("labeling")
v.showMaximized()
app.exec_()