In [1]:
import opengm
import vigra
import numpy
import time
import sys
In [2]:
shape=[2,2]
numLabels=2
unaries=numpy.random.rand(shape[0], shape[1],numLabels)
potts=opengm.PottsFunction([numLabels,numLabels],0.0,0.4)
gm=opengm.grid2d2Order(unaries=unaries,regularizer=potts)
In [3]:
opengm.visualizeGm(gm=gm,layout='spring',iterations=10000,plotUnaries=False)
opengm.visualizeGm(gm=gm,layout='spring',plotUnaries=False)
In [4]:
#Chain (non-shared functions):
numVar=5
gm=opengm.gm([2]*numVar)
f1=numpy.ones([2])
f2=numpy.ones([2,2])
for vi in xrange(numVar):
gm.addFactor(gm.addFunction(f1),vi)
if(vi+1<numVar):
gm.addFactor(gm.addFunction(f2),[vi,vi+1])
In [5]:
# visualize gm
opengm.visualizeGm( gm,layout='spring',plotUnaries=False)
In [ ]: