graphcut
index
/Users/thomas/Documents/Work/ra/graph-cuts/pygraphcut/graphcut.so

Module for performing graph cuts and energy minimization.

 
Classes
       
__builtin__.object
Graph
Energy

 
class Energy(Graph)
    Energy() --> An energy minimization object.
 
This represents an energy minimization object.  One may define binary
variables, and set energy terms (indicating the energy a variable
contributes when it is various true/false states), and then run graph
cut inference to get the minimization state.
 
As a technical matter, this object is a subclass of the Graph object.
Calling the superclass methods should not be necessary in most
situations.
 
 
Method resolution order:
Energy
Graph
__builtin__.object

Methods defined here:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
add_term(...)
add_term(E)
add_term(x, E0, E1)
add_term(x, y, E00, E01, E10, E11)
 
In first form, adds E to the objective.
In second form, adds Ei to the objective if x==i.
In third form, adds Eij to the objective if x==i and y==j.
For the third form, it must be that E00+E11 <= E01+E10 to
preserve submodularity.
add_variable(...)
add_variable()
 
Adds a variable to the energy problem, returning the ID.
minimize(...)
minimize()
 
Run energy minimization and return the minimization value.
var(...)
var(i)
 
Returns the binary value for variable i.

Data and other attributes defined here:
__new__ = <built-in method __new__ of type object at 0x5d2188>
T.__new__(S, ...) -> a new object with type S, a subtype of T

Methods inherited from Graph:
add_edge(...)
add_edge(i, j, i2j_cap, j2i_cap)
 
For nodes with index i and j, set capacities between i and j.
Note that this is additive, that is, previous capacities between
two given nodes are not overridden with this assignment.  Instead
the new capacity is the old capacity plus whatever capacity was
defined through this function.  Capacities cannot be negative.
add_node(...)
add_node([numnodes=1])
 
Creates numnodes nodes.  Returns ID of first created node.  Note
all nodes created have integer indices sequentially in order
after the first created node, that is, if i==add_node(j), then
nodes with indices i, i+1, i+2, ..., i+j-1 now exist.  The first
node ever created should have index 0.
add_tweights(...)
add_tweights(i, source2i_cap, i2sink_cap)
 
For node i, set capacity from source to i and to sink from i.
Note that this has similar additive behavior as add_edge.
maxflow(...)
maxflow()
 
Computes the maxflow/mincut, returning the flow value.
segment(...)
segment(i)
 
Returns True if the given node i is in the sink's partition,
or False if it is in the source's partition.

Data descriptors inherited from Graph:
num_nodes
The number of nodes in the graph.
segments
A list, with an element for each node indicating if it is
in the sink's partition.
sink_nodes
A list of the nodes in the sink's partition.
source_nodes
A list of the nodes in the source's parition.

 
class Graph(__builtin__.object)
    Graph() --> A graph empty except for the source and sink.
 
This represents a capacity graph one may run linear programming upon.
Initially this graph is empty except for the source and sink, but one
may add nodes and edges to this with given capacity, and run maxflow
to run graph cut to partition nodes into source and sink partitions.
 
Note that the source and sink nodes do not exist explicitly, but are
assumed to always exist.  Consequences of this include that the number
of nodes does not include the source and sink, the first index of a
node is 0, and there are different methods for setting capacities
between non-source/sink nodes, and a non-source/sink node and either
the source or the sink.
 
  Methods defined here:
__init__(...)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
add_edge(...)
add_edge(i, j, i2j_cap, j2i_cap)
 
For nodes with index i and j, set capacities between i and j.
Note that this is additive, that is, previous capacities between
two given nodes are not overridden with this assignment.  Instead
the new capacity is the old capacity plus whatever capacity was
defined through this function.  Capacities cannot be negative.
add_node(...)
add_node([numnodes=1])
 
Creates numnodes nodes.  Returns ID of first created node.  Note
all nodes created have integer indices sequentially in order
after the first created node, that is, if i==add_node(j), then
nodes with indices i, i+1, i+2, ..., i+j-1 now exist.  The first
node ever created should have index 0.
add_tweights(...)
add_tweights(i, source2i_cap, i2sink_cap)
 
For node i, set capacity from source to i and to sink from i.
Note that this has similar additive behavior as add_edge.
maxflow(...)
maxflow()
 
Computes the maxflow/mincut, returning the flow value.
segment(...)
segment(i)
 
Returns True if the given node i is in the sink's partition,
or False if it is in the source's partition.

Data descriptors defined here:
num_nodes
The number of nodes in the graph.
segments
A list, with an element for each node indicating if it is
in the sink's partition.
sink_nodes
A list of the nodes in the sink's partition.
source_nodes
A list of the nodes in the source's parition.

Data and other attributes defined here:
__new__ = <built-in method __new__ of type object at 0x5d2004>
T.__new__(S, ...) -> a new object with type S, a subtype of T