Changeset 10872:2cf23efd7899 in orange


Ignore:
Timestamp:
05/11/12 15:11:32 (2 years ago)
Author:
mstajdohar
Branch:
default
rebase_source:
0d5420a2952d5a6ad7aef24ab09c78e109e91226
Message:

Added representative variable to ModelItem.

Files:
5 edited

Legend:

Unmodified
Added
Removed
  • Orange/OrangeWidgets/Unsupervised/OWNxClustering.py

    r9671 r10872  
    1313from OWWidget import * 
    1414 
    15  
    1615class OWNxClustering(OWWidget): 
    1716 
     
    2423        self.inputs = [("Network", Orange.network.Graph, 
    2524                        self.setNetwork, Default)] 
    26         self.outputs = [("Network", Orange.network.Graph)] 
     25        self.outputs = [("Network", Orange.network.Graph), 
     26                        ("Community Detection", cd.CommunityDetection)] 
    2727 
    2828        self.net = None 
     
    6868        self.info.setText(' ') 
    6969 
     70        if self.method == 0: 
     71            alg = cd.label_propagation 
     72            kwargs = {'results2items': 1, 
     73                      'resultHistory2items': self.iterationHistory, 
     74                      'iterations': self.iterations} 
     75 
     76        elif self.method == 1: 
     77            alg = cd.label_propagation_hop_attenuation 
     78            kwargs = {'results2items': 1, 
     79                      'resultHistory2items': self.iterationHistory, 
     80                      'iterations': self.iterations, 
     81                      'delta': self.hop_attenuation} 
     82 
     83        self.send("Community Detection", cd.CommunityDetection(alg, **kwargs)) 
     84 
    7085        if self.net is None: 
    7186            self.send("Network", None) 
    7287            return 
    7388 
    74         if self.method == 0: 
    75             labels = cd.label_propagation(self.net, results2items=1, 
    76                                     resultHistory2items=self.iterationHistory, 
    77                                     iterations=self.iterations) 
    78         if self.method == 1: 
    79             labels = cd.label_propagation_hop_attenuation( 
    80                                     self.net, 
    81                                     results2items=1, 
    82                                     resultHistory2items=self.iterationHistory, 
    83                                     iterations=self.iterations, 
    84                                     delta=self.hop_attenuation) 
     89        labels = alg(self.net, **kwargs) 
    8590 
    8691        self.info.setText('%d clusters found' % len(set(labels.values()))) 
  • Orange/network/community.py

    r9922 r10872  
    5757        G.set_items(Orange.data.Table([items, data])) 
    5858 
     59 
     60class CommunityDetection(object): 
     61 
     62    def __init__(self, algorithm, **kwargs): 
     63        self.algorithm = algorithm 
     64        self.kwargs = kwargs 
     65 
     66    def __call__(self, G): 
     67        return self.algorithm(G, **self.kwargs) 
    5968 
    6069def label_propagation_hop_attenuation(G, results2items=0, \ 
  • source/orangeqt/networkcurve.cpp

    r10736 r10872  
    4242ModelItem::ModelItem(int index, int symbol, QColor color, int size, QGraphicsItem* parent): NodeItem(index, symbol, color, size, parent) 
    4343{ 
    44  
     44    representative = 0; 
    4545} 
    4646 
     
    110110    } 
    111111    */ 
     112} 
     113 
     114ModelItem::set_representative(bool value) 
     115{ 
     116    representative = value; 
     117} 
     118 
     119ModelItem::is_representative() 
     120{ 
     121    return representative; 
    112122} 
    113123 
  • source/orangeqt/networkcurve.h

    r9378 r10872  
    145145 
    146146    virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); 
     147 
     148    void set_representative(bool value); 
     149    bool is_representative() const; 
     150 
     151private: 
     152    bool representative; 
    147153}; 
    148154 
  • source/orangeqt/networkcurve.sip

    r9361 r10872  
    4141    ModelItem(int index, int symbol, QColor color, int size, QGraphicsItem* parent /TransferThis/ = 0); 
    4242    virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0); 
     43     
     44    void set_representative(double y); 
     45    bool representative() const; 
    4346}; 
    4447 
Note: See TracChangeset for help on using the changeset viewer.