org.processmining.mining.graphclustering
Class ClusterGraph

java.lang.Object
  extended by org.processmining.mining.graphclustering.ClusterGraph
All Implemented Interfaces:
DotFileWriter

public class ClusterGraph
extends java.lang.Object
implements DotFileWriter

Author:
Christian W. Guenther (christian@deckfour.org)

Field Summary
protected  boolean attenuateEdges
           
protected  java.util.ArrayList<ClusterNode> clusters
           
protected  Edges edges
           
protected  LogEvents events
           
protected  cern.colt.matrix.DoubleMatrix2D followMatrix
           
protected  boolean mergeClusters
           
protected  double minimalFrequency
           
protected  java.util.ArrayList<Node> nodeMap
           
protected  java.util.ArrayList<Node> nodes
           
protected  double normalizationFactor
           
protected  java.util.ArrayList<Node> primitiveNodes
           
 
Constructor Summary
ClusterGraph(LogEvents events, cern.colt.matrix.DoubleMatrix2D followMatrix)
           
 
Method Summary
protected  double calculateNormalizationFactor()
           
 void cluster(double threshold)
           
 void createEdges()
           
static java.lang.String format(double number)
           
 cern.colt.matrix.DoubleMatrix2D getFollowMatrix()
           
 javax.swing.JPanel getGraphPanel(double threshold)
           
 LogEvents getLogEvents()
           
 double getMinimalNodeFrequency()
           
 Node getNode(int index)
           
 double getThresholdShowing(int numberOfPrimitives)
           
protected  void mergeWithExistingClusters(ClusterNode cluster)
           
 double normalize(double frequency)
           
 ClusterNode resolveCluster(java.lang.String name)
           
 Node resolveNode(java.lang.String name)
           
 void setAttenuateEdges(boolean attenuation)
           
 void setMergeClusters(boolean merge)
           
 void testOutput()
           
protected  boolean victimLeft(boolean[] victimMap)
           
 void writeToDot(java.io.Writer bw)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

nodes

protected java.util.ArrayList<Node> nodes

primitiveNodes

protected java.util.ArrayList<Node> primitiveNodes

clusters

protected java.util.ArrayList<ClusterNode> clusters

nodeMap

protected java.util.ArrayList<Node> nodeMap

edges

protected Edges edges

events

protected LogEvents events

followMatrix

protected cern.colt.matrix.DoubleMatrix2D followMatrix

normalizationFactor

protected double normalizationFactor

minimalFrequency

protected double minimalFrequency

attenuateEdges

protected boolean attenuateEdges

mergeClusters

protected boolean mergeClusters
Constructor Detail

ClusterGraph

public ClusterGraph(LogEvents events,
                    cern.colt.matrix.DoubleMatrix2D followMatrix)
Method Detail

format

public static java.lang.String format(double number)

resolveNode

public Node resolveNode(java.lang.String name)

resolveCluster

public ClusterNode resolveCluster(java.lang.String name)

getNode

public Node getNode(int index)

setAttenuateEdges

public void setAttenuateEdges(boolean attenuation)

setMergeClusters

public void setMergeClusters(boolean merge)

getThresholdShowing

public double getThresholdShowing(int numberOfPrimitives)

calculateNormalizationFactor

protected double calculateNormalizationFactor()

normalize

public double normalize(double frequency)

getMinimalNodeFrequency

public double getMinimalNodeFrequency()

getLogEvents

public LogEvents getLogEvents()

getFollowMatrix

public cern.colt.matrix.DoubleMatrix2D getFollowMatrix()

cluster

public void cluster(double threshold)

mergeWithExistingClusters

protected void mergeWithExistingClusters(ClusterNode cluster)

createEdges

public void createEdges()

victimLeft

protected boolean victimLeft(boolean[] victimMap)

writeToDot

public void writeToDot(java.io.Writer bw)
                throws java.io.IOException
Specified by:
writeToDot in interface DotFileWriter
Throws:
java.io.IOException

getGraphPanel

public javax.swing.JPanel getGraphPanel(double threshold)
                                 throws java.lang.Exception
Throws:
java.lang.Exception

testOutput

public void testOutput()