Beispiel #1
0
dopt = opt['train']

print "load cues"
eX = vigra.impex.readHDF5(dopt['ragFeatures'], 'edgeFeatures')
nX = vigra.impex.readHDF5(dopt['ragFeatures'], 'nodeFeatures')

print "load sizes"
eSize = vigra.impex.readHDF5(dopt['ragL1EdgeSize'], 'data')
nSize = vigra.impex.readHDF5(dopt['ragL1NodeSize'], 'data')

print "load label file"
eY = vigra.impex.readHDF5(dopt['ragL1EdgeGt'], 'data')

print "load rag"

rag = graphs.loadGridRagHDF5(dopt['ragL1'], 'data')

graphData = learning.GraphData(rag=rag, eX=eX, nX=nX, eSize=eSize, nSize=nSize)

rfFolder = dopt['activeRfDir'].encode('ASCII')

treeCount = 1000
noise = 0.010

if False:

    print "do active initial learning"
    learner = learning.ActiveGraphLearning(treeCount=treeCount, noise=noise)
    rf0Path = rfFolder + 'rf0.h5'
    rf0Path = rf0Path.encode('ASCII')
    learner.initialTraining(graphData=graphData, eY=eY, rfPath=rf0Path)
Beispiel #2
0
    segData.append([seg, "seg"])

    gridGraph = graphs.gridGraph(seg.shape[0:3])
    print "make rag"
    # get region adjacency graph from super-pixel labels
    rag = graphs.regionAdjacencyGraph(gridGraph, seg, isDense=False)

    print "save rag to file"
    rag.writeHDF5(opt['ragL0'], 'data')

if False:
    print "accumulate edge weights and save them"

    print "load rag"
    # get region adjacency graph from super-pixel labels
    rag = graphs.loadGridRagHDF5(opt['ragL0'], 'data')
    gridGraph = rag.baseGraph

    print "read dmap"
    tmap = vigra.impex.readHDF5(opt['thinnedDistTransformPMap1'], 'data')
    tmap = numpy.require(tmap, dtype=numpy.float32)
    grayData.append([tmap, "tmap"])

    print "extract"
    ggTmap = graphs.implicitMeanEdgeMap(gridGraph, tmap)
    ewDmap = rag.accumulateEdgeFeatures(ggTmap)

    vigra.impex.writeHDF5(ewDmap, opt['ragEdgeDmap'], "data")

    print "read pmap"
    pmap = boundaryP1 = vigra.impex.readHDF5(
    # get region adjacency graph from super-pixel labels
    rag = graphs.regionAdjacencyGraph(gridGraph, seg, isDense=False)


    print "save rag to file"
    rag.writeHDF5(opt['ragL0'],'data')




if False:
    print "accumulate edge weights and save them"

    print "load rag"
    # get region adjacency graph from super-pixel labels
    rag = graphs.loadGridRagHDF5(opt['ragL0'],'data')
    gridGraph  = rag.baseGraph

    print "read dmap"
    tmap = vigra.impex.readHDF5(opt['thinnedDistTransformPMap1'], 'data')
    tmap = numpy.require(tmap, dtype=numpy.float32)
    grayData.append([tmap, "tmap"])

    print "extract"
    ggTmap = graphs.implicitMeanEdgeMap(gridGraph, tmap)
    ewDmap = rag.accumulateEdgeFeatures(ggTmap)

    vigra.impex.writeHDF5(ewDmap, opt['ragEdgeDmap'], "data")

    print "read pmap"
    pmap = boundaryP1 = vigra.impex.readHDF5(opt['boundaryP1'],'exported_data').view(numpy.ndarray)[:, :, :, 0]
Beispiel #4
0
data = numpy.random.rand(*shape).astype(numpy.float32)
data = vigra.taggedView(data, "xyz")

if False:
    labels = numpy.random.randint(5, size=shape[0] * shape[1] * shape[2])
    labels = labels.reshape(shape).astype(numpy.uint32)
    labels = vigra.analysis.labelVolume(labels)
    adjListGraph = graphs.listGraph()
    gridGraph = graphs.gridGraph(shape)
    rag = graphs.regionAdjacencyGraph(gridGraph, labels)
    rag.writeHDF5("bla.h5", "dset")

else:

    # load the region adjacency graph
    rag = graphs.loadGridRagHDF5("bla.h5", "dset")

print rag.labels.shape, rag.labels.dtype, type(rag.labels)

print "accumulate edge and node features"

edgeCuesMean = rag.accumulateEdgeFeatures(iEdgeMap(rag.baseGraph, data))
edgeCuesMean = numpy.array([edgeCuesMean, edgeCuesMean]).T

nodeCuesMean = rag.accumulateNodeFeatures(data)
nodeCuesMean = numpy.array([nodeCuesMean, nodeCuesMean]).T

mergeGraph = graphs.mergeGraph(rag)

featureManager = graphs.NeuroDynamicFeatures(rag, mergeGraph)
Beispiel #5
0
data = numpy.random.rand(*shape).astype(numpy.float32)
data = vigra.taggedView(data,"xyz")

if False:
    labels = numpy.random.randint(5, size=shape[0]*shape[1]*shape[2])
    labels = labels.reshape(shape).astype(numpy.uint32)
    labels = vigra.analysis.labelVolume(labels)
    adjListGraph  = graphs.listGraph()
    gridGraph = graphs.gridGraph(shape)
    rag = graphs.regionAdjacencyGraph(gridGraph, labels)
    rag.writeHDF5("bla.h5", "dset")

else :

    # load the region adjacency graph
    rag = graphs.loadGridRagHDF5("bla.h5","dset")

print rag.labels.shape, rag.labels.dtype ,type(rag.labels)


print "accumulate edge and node features"


edgeCuesMean = rag.accumulateEdgeFeatures( iEdgeMap(rag.baseGraph, data) )
edgeCuesMean = numpy.array([edgeCuesMean, edgeCuesMean]).T

nodeCuesMean = rag.accumulateNodeFeatures(data)
nodeCuesMean = numpy.array([nodeCuesMean, nodeCuesMean]).T


Beispiel #6
0
print "load cues"
eX = vigra.impex.readHDF5(dopt['ragFeatures'], 'edgeFeatures')
nX = vigra.impex.readHDF5(dopt['ragFeatures'], 'nodeFeatures')

print "load sizes"
eSize = vigra.impex.readHDF5(dopt['ragL1EdgeSize'], 'data')
nSize = vigra.impex.readHDF5(dopt['ragL1NodeSize'], 'data')

print "load label file"
eY  = vigra.impex.readHDF5(dopt['ragL1EdgeGt'], 'data')


print "load rag"

rag = graphs.loadGridRagHDF5(dopt['ragL1'],'data')



graphData = learning.GraphData(rag=rag, eX=eX, nX=nX, 
                               eSize=eSize, nSize=nSize)

rfFolder = dopt['activeRfDir'].encode('ASCII')


treeCount = 1000
noise = 0.010

if False :

    print "do active initial learning"
Beispiel #7
0
print "load cues"
edgeCues = vigra.impex.readHDF5(dopt["ragFeatures"], "edgeFeatures")
nodeCues = vigra.impex.readHDF5(dopt["ragFeatures"], "nodeFeatures")

print "load sizes"
edgeSize = vigra.impex.readHDF5(dopt["ragL1EdgeSize"], "data")
nodeSize = vigra.impex.readHDF5(dopt["ragL1NodeSize"], "data")

print "load label file"
edgeLabels = vigra.impex.readHDF5(dopt["ragL1EdgeGt"], "data")


print "load rag"

rag = graphs.loadGridRagHDF5(dopt["ragL1"], "data")
gridGraph = rag.baseGraph

print "get merge graph"

mg = graphs.mergeGraph(rag)


df = graphs.NeuroDynamicFeatures(rag, mg)


# assign features
df.assignEdgeCues(edgeCues)
df.assignNodeCues(nodeCues)
df.assignEdgeSizes(edgeSize)
df.assignNodeSizes(nodeSize)