ilastikrag
Quickstart Tutorial¶%matplotlib inline
import matplotlib
import pylab
pylab.rcParams['figure.figsize'] = (20.0, 20.0)
from ilastikrag.util import colorize_labels
from collections import OrderedDict
import numpy as np
import pandas as pd
import vigra
import ilastikrag
# Note: Rag inputs must be VigraArray (with axistags)
grayscale = vigra.impex.readImage('grayscale.png', dtype='NATIVE').withAxes('yx')
membranes = vigra.impex.readImage('membranes.png', dtype='NATIVE').withAxes('yx')
superpixels = vigra.impex.readImage('superpixels.png', dtype=np.uint32).withAxes('yx')
vigra.multiImshow(OrderedDict( [('grayscale', (grayscale, 'img')),
('membranes', (membranes, 'img')),
('superpixels', (colorize_labels(superpixels), 'img'))]), (1,3))
rag = ilastikrag.Rag(superpixels)
grayscale_features = rag.compute_features(grayscale, ['standard_edge_mean', 'standard_sp_quantiles_50'])
grayscale_features[:5]
membrane_features = rag.compute_features(membranes, ['standard_edge_quantiles'])
membrane_features[:5]
ndarray
¶grayscale_feature_array = grayscale_features.iloc[:,2:].values # drop sp columns
membrane_feature_array = membrane_features.iloc[:,2:].values
all_features_array = np.concatenate((grayscale_feature_array, membrane_feature_array), axis=1)
print all_features_array[:5]
for feature_name in rag.supported_features():
print feature_name
Note: ilastikrag.gui
requires pyqt4
import ilastikrag.gui
from ilastikrag.gui import FeatureSelectionDialog
default_selections = { 'grayscale' : ['standard_sp_count',
'standard_sp_quantiles_50',
'edgeregion_edge_regionradii_0'],
'membranes' : ['standard_edge_mean',
'standard_edge_minimum',
'standard_edge_variance'] }
user_selections = FeatureSelectionDialog.launch(['grayscale', 'membranes'],
rag.supported_features(),
default_selections)
for channel_name, feature_names in user_selections.items():
print "Selections for '{}':".format(channel_name)
for feature_name in feature_names:
print " {}".format(feature_name)
print ""