source: orange/Orange/OrangeWidgets/Unsupervised/OWNetworkFromDistances.py @ 9671:a7b056375472

Revision 9671:a7b056375472, 3.1 KB checked in by anze <anze.staric@…>, 2 years ago (diff)

Moved orange to Orange (part 2)

Line 
1"""
2THIS WIDGET IS OBSOLETE; USE OWNxFromDistances.py
3"""
4
5#
6# OWNetworkFromDistances.py
7#
8
9import OWGUI
10import orange
11import orngNetwork
12import copy, random
13
14from OWNetworkHist import *
15from OWWidget import *
16from OWGraph import *
17from OWHist import *
18
19class OWNetworkFromDistances(OWWidget, OWNetworkHist):
20    settingsList=["spinLowerThreshold", "spinUpperThreshold", "netOption", "dstWeight", "kNN", "andor", "excludeLimit"]
21   
22    def __init__(self, parent=None, signalManager=None):
23        OWWidget.__init__(self, parent, signalManager, "Network from Distances")
24        OWNetworkHist.__init__(self)
25       
26        self.inputs = [("Distances", orange.SymMatrix, self.setMatrix)]
27        self.outputs = [("Network", orngNetwork.Network), ("Data", ExampleTable), ("Distances", orange.SymMatrix)]
28
29        self.addHistogramControls()
30       
31        # get settings from the ini file, if they exist
32        self.loadSettings()
33       
34        # GUI
35        # general settings
36        boxHistogram = OWGUI.widgetBox(self.mainArea, box = "Distance histogram")
37        self.histogram = OWHist(self, boxHistogram)
38        boxHistogram.layout().addWidget(self.histogram)
39
40        boxHistogram.setMinimumWidth(500)
41        boxHistogram.setMinimumHeight(300)
42       
43        # info
44        boxInfo = OWGUI.widgetBox(self.controlArea, box = "Network info")
45        self.infoa = OWGUI.widgetLabel(boxInfo, "No data loaded.")
46        self.infob = OWGUI.widgetLabel(boxInfo, '')
47        self.infoc = OWGUI.widgetLabel(boxInfo, '')
48       
49        OWGUI.rubber(self.controlArea)
50       
51        self.resize(700, 100)
52
53    def sendReport(self):
54        self.reportSettings("Settings",
55                            [("Edge thresholds", "%.5f - %.5f" % (self.spinLowerThreshold, self.spinUpperThreshold)),
56                             ("Selected vertices", ["All", "Without isolated vertices", "Largest component", "Connected with vertex"][self.netOption]),
57                             ("Weight", ["Distance", "1 - Distance"][self.dstWeight])])
58        self.reportSection("Histogram")
59        self.reportImage(self.histogram.saveToFileDirect, QSize(400,300))
60        self.reportSettings("Output graph",
61                            [("Vertices", self.matrix.dim),
62                             ("Edges", self.nedges),
63                             ("Connected vertices", "%i (%.1f%%)" % (self.pconnected, self.pconnected / max(1, float(self.matrix.dim))*100)),
64                             ])
65       
66    def sendSignals(self):
67        if self.graph != None:
68            #setattr(matrix, "items", self.graph.items)
69            self.matrix.items = self.graph.items
70       
71        self.send("Network", self.graph)
72       
73        if self.matrix:
74            self.send("Distances", self.matrix)
75           
76        if self.graph == None:
77            self.send("Data", None)
78        else:
79            self.send("Data", self.graph.items)
80                                                                     
81if __name__ == "__main__":   
82    appl = QApplication(sys.argv)
83    ow = OWNetworkFromDistances()
84    ow.show()
85    appl.exec_()
Note: See TracBrowser for help on using the repository browser.