def volumina_flexible_layer(data, layer_types, labels=None): assert len(layer_types) == len(data) app = QApplication (sys.argv) import volumina from volumina.api import Viewer v = Viewer () v.title = " Volumina Demo " v.showMaximized () for i, d in enumerate(data): layer_name = "layer_" + str(i) if labels is not None: layer_name = labels[i] # get data type of the elements d, to determine # if we use a grayscale overlay (float32) or a randomcolors overlay (uint) for labels data_type = d.dtype if layer_types[i] == 'Grayscale': v.addGrayscaleLayer(d , name = layer_name) elif layer_types[i] == 'RandomColors': v.addRandomColorsLayer(d.astype(np.uint32), name=layer_name) elif layer_types[i] == 'Red': v.addAlphaModulatedLayer(d , name=layer_name, tintColor=QColor(255,0,0)) elif layer_types[i] == 'Green': v.addAlphaModulatedLayer(d , name=layer_name, tintColor=QColor(0,255,0)) elif layer_types[i] == 'Blue': v.addAlphaModulatedLayer(d , name=layer_name, tintColor=QColor(0,0,255)) else: raise KeyError("Invalid Layer Type, %s!" % layer_types[i]) app.exec_()
def volumina_n_layer(data, labels = None): app = QApplication(sys.argv) import volumina from volumina.api import Viewer v = Viewer () v.title = " Volumina Demo " v.showMaximized () for ind, d in enumerate(data): layer_name = "layer_" + str(ind) if labels is not None: layer_name = labels[ind] # get data type of the elements d, to determine # if we use a grayscale overlay (float32) or a randomcolors overlay (uint) for labels data_type = d.dtype if data_type == np.float32 or data_type == np.float64: v.addGrayscaleLayer(d , name = layer_name) else: v.addRandomColorsLayer(d.astype(np.uint32), name = layer_name) app.exec_()
def view(data, labels=None, layer_types=None): """ """ if labels is not None: assert len(labels) == len(data) if layer_types is not None: assert len(layer_types) == len(data) assert all(ltype in ('Grayscale', 'RandomColors', 'Red', 'Green', 'Blue') for ltype in layer_types) app = QApplication(sys.argv) from volumina.api import Viewer v = Viewer() v.title = "Volumina Viewer" v.showMaximized() for i, d in enumerate(data): layer_name = layer_name = "layer_" + str(i) if labels is None else labels[i] if layer_types is None: _dtype_to_layer(v, d, layer_name) else: _name_to_layer(v, d, layer_types[i], layer_name) app.exec_()
def show(): import numpy as np import sys , h5py ; from numpy import float32 , uint8 from vigra.filters import hessianOfGaussianEigenvalues , gaussianSmoothing from vigra.analysis import watersheds from vigra.analysis import labelVolumeWithBackground, extendedLocalMinima3D from PyQt4.QtCore import QTimer ; from PyQt4 . QtGui import QApplication app = QApplication ( sys.argv ) from volumina.api import Viewer v = Viewer () v . title = " Volumina Demo " v . showMaximized () print "blubb" print a data = np.random.random((50,50,50)) v . addGrayscaleLayer ( data , name =" raw data ") t = QTimer () t.setInterval (200) app.exec_ ()
def volumina_single_layer(data): app = QApplication (sys.argv) from volumina.api import Viewer v = Viewer () v.title = " Volumina Demo " v.showMaximized () v.addGrayscaleLayer (data , name =" raw data ") app . exec_ ()
def volumina_double_layer(data, overlay): # get data type of the elements of overlay, to determine # if we use a grayscale overlay (float32) or a randomcolors overlay (uint) for labels mask = [] for i in range( len(overlay.shape) ): mask.append(0) mask = tuple(mask) data_type = type(overlay[mask]) app = QApplication (sys.argv) from volumina.api import Viewer v = Viewer () v.title = " Volumina Demo " v.showMaximized () v.addGrayscaleLayer(data , name = " raw data ") if data_type == np.float32: v.addGrayscaleLayer(overlay , name = " overlay ") else: v.addRandomColorsLayer(overlay, name = " overlay ") app . exec_ ()