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_()
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_()
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_()
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_()
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_()
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_()
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_()
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()
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_()
##----- 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_()
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_()
##----- 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_()
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_()