Ignore:
Timestamp:
Oct 6, 2010, 4:02:40 PM (14 years ago)
Author:
gnappo
Message:

Inserita gestione pannelli per la visualizzazione grafi.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/main/java/weka/clusterers/forMetisMQI/GraphAlgorithms.java

    r23 r24  
    1111import weka.clusterers.forMetisMQI.graph.UndirectedGraph;
    1212import weka.clusterers.forMetisMQI.util.CoarserGraphElement;
     13import weka.clusterers.forMetisMQI.util.Configuration;
    1314import weka.clusterers.forMetisMQI.util.GraphsFrame;
    1415import weka.clusterers.forMetisMQI.util.Util;
     
    6869                if (stack.size() > 0) {
    6970                        partition = KL(stack.peek().getContracted());
     71                        if(Configuration.instance().getVerboseLevel() > 1) {
     72                                GraphsFrame.instance().addPanel(Util.panelContractedGraph(stack.peek()));
     73                                GraphsFrame.instance().addPanel(Util.panelContractedGraph(stack.peek(),partition.getSmallerSubgraph().createInducedSubgraph().getVertices()));
     74                        }
    7075                        partition = Uncoarse.uncoarse(stack, partition);
    7176                }
     
    8186         * @param sizeFinerGraph
    8287         */
    83         static public Set<Set<Node>> metisMqi(UndirectedGraph g, int numberOfCluster, int sizeFinerGraph, boolean randomBisection) {
    84                 GraphsFrame gf = new GraphsFrame("Prova");
     88        static public Set<Set<Node>> metisMqi(UndirectedGraph g) {
     89                int numberOfCluster = Configuration.instance().getNumberOfClusters();
     90                boolean randomBisection = Configuration.instance().isRandomBisection();
     91                int sizeFinerGraph = Configuration.instance().getSizeFinerGraph();
     92                int verboseLevel = Configuration.instance().getVerboseLevel();
     93                GraphsFrame gf = GraphsFrame.instance();
    8594                System.out.println("Vertex count: " + g.getVertexCount());
    8695                System.out.println("Edges count: " + g.getEdgeCount());
    87                 Iterator<Node> iNodes = g.getVertices().iterator();
    88                 int degreeCounter = 0;
    89                 while(iNodes.hasNext()) {
    90                         Node node = iNodes.next();
    91                         if(g.degree(node) == 1) {
    92                                 degreeCounter++;
    93                         }
    94                 }
    9596                Set<Set<Node>> clusters = new HashSet<Set<Node>>();
    9697                UndirectedGraph gclone = g.clone();
    97                 gf.addPanel(Util.panelGraph(gclone));
    9898                for (int i = 0; i < numberOfCluster; i++) {
    9999                        Bisection bisection = null;
     100                        if(verboseLevel > 1)
     101                                gf.addPanel(Util.panelGraph(g.clone()));
    100102                        if(!randomBisection)
    101103                                bisection = metis(g,sizeFinerGraph);
    102104                        else
    103105                                bisection = new Bisection(g);
     106                       
     107                        if(verboseLevel > 1)
     108                                gf.addPanel(Util.panelCluster(g.clone(),bisection.getSmallerSubgraph().createInducedSubgraph().getVertices()));
     109                       
    104110                        System.out.print("Partizione iniziale: ");
    105111                        System.out.print("V1: " + bisection.getSubgraph().getVertexCount());
     
    127133                        }
    128134                }
    129                 gf.addPanel(Util.panelClusters(gclone, clusters));
     135                if(verboseLevel > 0)
     136                        gf.addPanel(Util.panelClusters(gclone, clusters));
    130137                gf.setVisible(true);
    131138                return clusters;
Note: See TracChangeset for help on using the changeset viewer.