-
Notifications
You must be signed in to change notification settings - Fork 1
/
demo.py
81 lines (68 loc) · 2.94 KB
/
demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# -*- coding: utf-8 -*-
# *****************************************************************************
# NICOS, the Networked Instrument Control System of the FRM-II
# Copyright (c) 2009-2014 by the NICOS contributors (see AUTHORS)
#
# This program is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# This program is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc.,
# 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# Module authors:
# Georg Brandl <[email protected]>
#
# *****************************************************************************
"""Live widget demonstration."""
import sys
import glob
from PyQt4.QtGui import QMainWindow, QApplication
from PyQt4.uic import loadUi
# Allow running this after "python setup.py build"
sys.path[0:0] = glob.glob('build/lib.*')
# pylint: disable=F0401
from nicoslivewidget import LWWidget, LWData, ShowGrid, Logscale, Grayscale, \
Filelist, Normalize, Darkfield, Despeckle, CreateProfile, Histogram, \
MinimumMaximum, BrightnessContrast
try:
from nicoslivewidget import __version__
except ImportError:
__version__ = 'pre 0.1.2'
class MainWindow(QMainWindow):
def __init__(self, parent):
QMainWindow.__init__(self, parent)
loadUi('demo.ui', self)
self.livewidget = LWWidget(self)
# self.livewidget.setControlsVisible(False)
self.livewidget.setControls(ShowGrid | Logscale | Grayscale | Filelist |
Normalize | Darkfield | Despeckle |
CreateProfile | Histogram | MinimumMaximum |
BrightnessContrast)
self.plotLayout.addWidget(self.livewidget)
self.livewidget.setAxisLabels('detectors', 'time channels')
x = open("testdata/testdata.npy").read()[80:]
data = LWData(1024, 1024, 1, "<u4", x)
self.livewidget.setData(data)
# self.livewidget.setLog10(True)
self.livewidget.setKeepAspect(True)
def setWindowTitle(self, title):
title += ' version:' + __version__
QMainWindow.setWindowTitle(self, title)
def setColormap(self, on):
self.livewidget.setStandardColorMap(self.grayscaleBox.isChecked(),
self.cyclicBox.isChecked())
if __name__ == '__main__':
app = QApplication(sys.argv[1:])
window = MainWindow(None)
window.setWindowTitle('LiveWidget demo')
window.resize(1000, 600)
window.show()
app.exec_()