graphqt documentation

Class GUView is a QGraphicsView / QWidget with interactive scene having scalable axes box

Usage

Create GUView object within pyqt QApplication
---------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUView import GUView
app = QtGui.QApplication(sys.argv)
w = GUView(None, raxes=QtCore.QRectF(0, 0, 100, 100), origin='UL',               scale_ctl='HV', margl=0.12, margr=0.10, margt=0.06, margb=0.06)
w.show()
app.exec_()

Connect/disconnecr recipient to signals
----------------------------
w.connect_axes_limits_changed_to(recipient)
w.disconnect_axes_limits_changed_from(recipient)
w.test_axes_limits_changed_reception(self, x1, x2, y1, y2)

w.connect_wheel_is_stopped_to(recipient)
w.disconnect_wheel_is_stopped_from(recipient)
w.test_wheel_is_stopped_reception(self)

w.connect_view_is_closed_to(recipient)
w.disconnect_view_is_closed_from(recipient)
w.test_view_is_closed_reception(self)

Major methors
-----------------
w.reset_original_size()
w.set_rect_axes(rectax, set_def=True)

Methods
-------
rs = w.rect_scene_from_rect_axes(raxes=None)
w.set_rect_scene(rs) # the same as zoom-in/out, do not change default

w.set_rect_axes_default(rectax)
w.set_origin(origin='UL')
w.set_transform_orientation() # if origin is changed
w.set_scale_control(scale_ctl='HV') # sets dynamically controlled axes
sc = w.scale_control()
w.set_margins(margl=None, margr=None, margt=None, margb=None)

w.set_limits_vertical(yaxmin, yaxmax)
w.check_limits()
w.check_axes_limits_changed() # compare axes box with old and sends signal if changed
w.update_my_scene()
w.set_view()
w.reset_original_size() # calls sequence of methods: set_view, update_my_scene, check_axes_limits_changed
w.add_rect_to_scene_v1(rect, brush=QtGui.QBrush(), pen=QtGui.QPen(Qt.yellow, 4, Qt.DashLine)) # returns QGraphicsRectItem
w.add_rect_to_scene(rect, brush=QtGui.QBrush(), pen=QtGui.QPen(Qt.yellow, 4, Qt.DashLine))  # returns GUQGraphicsRectItem
r = w.rect_axes()
xmin, xmax, ymin, ymax = w.axes_limits()

Internal methods
-----------------
w._select_further_action(e) # checks cursor position relative to margin box items and sets w.scalebw
w._continue_wheel_event(t_msec=500)
w.on_timeout(self)


Re-defines methods
------------------
__del__
enterEvent, leaveEvent, closeEvent, resizeEvent, keyPressEvent, 
mouseReleaseEvent, mousePressEvent, mouseMoveEvent, wheelEvent

Created on September 9, 2016 by Mikhail Dubrovin

Class GUViewAxes is a QGraphicsView / QWidget with interactive scalable scene with axes

Usage

Create GUViewAxes object within pyqt QApplication
--------------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUViewAxes import GUViewAxes

app = QtGui.QApplication(sys.argv)
w = GUViewAxes(None, raxes=QtCore.QRectF(0, 0, 100, 100), origin='UL',                   scale_ctl='HV', rulers='TR', margl=0.02, margr=0.12, margt=0.06, margb=0.02)
w.show()
app.exec_()

Connect/disconnecr recipient to signals
---------------------------------------

Methods
-------
w.set_show_rulers(rulers='TBLR')
w.reset_original_image_size()

Internal methods
-----------------

Re-defines methods
------------------
w.update_my_scene() # GUView.update_my_scene() + draw rulers
w.set_style()       # sets GUView.set_style() + color, font, pen
w.closeEvent()      # removes rulers, GUView.closeEvent()

Created on December 14, 2016 by Mikhail Dubrovin

Class GUViewAxesDL is a QGraphicsView / QWidget with interactive scalable scene with axes

DL stands for Down and Lext axes only.

Usage

import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUViewAxesDL import GUViewAxesDL

app = QtGui.QApplication(sys.argv)
w = GUViewAxesDL(None, raxes=QtCore.QRectF(0, 0, 100, 100), origin_up=False, scale_ctl=3)
w.show()
app.exec_()

Created on September 9, 2016 by Mikhail Dubrovin

Class GUViewImage is a GUViewAxes/QWidget for interactive image

Usage

Create GUViewImage object within pyqt QApplication
--------------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUViewImage import GUViewImage
import graphqt.ColorTable as ct
app = QtGui.QApplication(sys.argv)
ctab = ct.color_table_monochr256()
w = GUViewImage(None, arr, origin='UL', scale_ctl='HV', coltab=ctab)
w.show()
app.exec_()

Connect/disconnecr recipient to signals
---------------------------------------
w.connect_cursor_pos_value_to(recipient)
w.disconnect_cursor_pos_value_from(recipient)
w.test_cursor_pos_value_reception(self, ix, iy, v)

w.connect_pixmap_is_updated_to(recip)
w.disconnect_pixmap_is_updated_from(recip)
w.test_pixmap_is_updated_reception(self)

Enherited:
w.connect_axes_limits_changed_to(w.test_axes_limits_changed_reception)
w.connect_pixmap_is_updated_to(w.test_pixmap_is_updated_reception)

Major methors
-----------------
w.reset_original_image_size()   # def in GUViewAxes and GUView
w.set_pixmap_from_arr(arr=None)

#------ combined:
w.set_color_table(coltab=None) # sets color table, nothing else
w.set_pixmap_from_arr(arr=None) # to redraw
#------ combined:
w.set_intensity_limits(amin, amax) # sets attributes, nothing else
w.set_pixmap_from_arr()
#------

w.set_rect_scene(rs) # works as zoom-in/out, do not change default
w.set_rect_axes(rs) # def in GUView, reset default axes rect

Methods
-------
w.set_style(self) # sets GUViewAxes.set_style(self) + transparent background
arr = w.image_data()
w.add_pixmap_to_scene(self, pixmap, flag=Qt.IgnoreAspectRatio, mode=Qt.FastTransformation)

w.set_pixmap_random(shape=(512,512))
w.save_pixmap_in_file(fname='fig-image.xpm')
w.save_qimage_in_file(fname='fig-image.gif') 
w.save_window_in_file(fname='fig-image.png') 
w.on_but_reset() # calls w.reset_original_image_size()

Internal methods
-----------------
w.display_pixel_pos(self, e) # submits signal when coursor hovering pixel
w.on_but_save(self, at_obj=None)

Re-defines methods
------------------
mouseMoveEvent, closeEvent, keyPressEvent

Global scope methods
--------------------
img = image_with_random_peaks(shape=(500, 500)) : 
test_guiviewimage(tname)

Created on September 9, 2016 by Mikhail Dubrovin

Class GUViewGraph is a QWidget for interactive image

Usage ::
from graphqt.GUViewGraph import GUViewGraph #… w = GUViewGraph(None, arr, origin=’UL’, scale_ctl=’HV’, coltab=ctab)

Created on 2016-09-09 by Mikhail Dubrovin

Class GUViewHist is a QWidget for interactive image

Usage

Create GUViewHist object within pyqt QApplication
--------------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUViewHist import GUViewHist
rectax=QtCore.QRectF(0, -1.2, 100, 2.4)    
app = QtGui.QApplication(sys.argv)
w = GUViewHist(None, rectax, origin='DL', scale_ctl='H', rulers='DL',                    margl=0.12, margr=0.02, margt=0.02, margb=0.06)
w._ymin =-1.2
w._ymax = 1.2
w.add_hist(y1, (0,100), pen=QtGui.QPen(Qt.blue, 0), brush=QtGui.QBrush(Qt.green))
w.show()
app.exec_()

Connect/disconnecr recipient to signals
---------------------------------------
w.connect_statistics_updated_to(recip)
w.disconnect_statistics_updated_from(recip)
w.test_statistics_std_reception(self, mean, rms, err_mean, err_rms, neff, skew, kurt, err_err, sum_w)

w.connect_mean_std_updated_to(recip)
w.disconnect_mean_std_updated_from(recip)
w.test_hist_mean_std_updated_reception(self, mean, rms)

w.connect_cursor_bin_changed_to(recip)
w.disconnect_cursor_bin_changed_from(recip)

w.connect_histogram_updated_to(recip) :
w.disconnect_histogram_updated_from(recip) :
w.test_histogram_updated_reception()


Methods
-------
w.set_limits_horizontal(amin=None, amax=None) # sets self.amin, self.amax
w.set_limits()
values, centers, edges = w.visible_hist_vce(ihis=0)
mean, rms, err_mean, err_rms, neff, skew, kurt, err_err, sum_w = w.visible_hist_stat(ihis=0)
mean, std = w.visible_hist_mean_std(ihis=0)

w.on_axes_limits_changed(x1, x2, y1, y2)
w.evaluate_hist_statistics() # emits signal statistics_updated
w.evaluate_hist_mean_std() # emits signal mean_std_updated

ind, hb.values = w.hist_bin_value(x, ihis=0)

w.reset_original_hist() 
w.add_hist(values, edges, pen=QtGui.QPen(Qt.black), brush=QtGui.QBrush(), vtype=np.float)
w.add_array_as_hist(arr, pen=QtGui.QPen(Qt.black), brush=QtGui.QBrush(), vtype=np.float)
w.remove_all_graphs()


Internal methods
-----------------
w._init_cursor_scope()
w.set_style()
w._add_path_to_scene(path, pen=QtGui.QPen(Qt.yellow), brush=QtGui.QBrush())


Re-defines methods
------------------
mouseReleaseEvent, closeEvent, mouseMoveEvent, wheelEvent, 
enterEvent, leaveEvent, keyPressEvent, __del__

Global scope methods
--------------------
amin, amax, nhbins, values = image_to_hist_arr(arr, vmin=None, vmax=None, nbins=None)

Created on September 9, 2016 by Mikhail Dubrovin

Class GUViewColorBar is a QWidget for interactive color bar

Usage

import sys
from PyQt4 import QtGui, QtCore
from graphqt.GUViewColorBar import GUViewColorBar
import graphqt.ColorTable as ct
app = QtGui.QApplication(sys.argv)
ctab = ct.color_table_monochr256()
w = GUViewColorBar(None, coltab=ctab)
w.show()
app.exec_()

Created on September 9, 2016 by Mikhail Dubrovin

Class FWView is a QGraphicsView QWidget with interactive scalable scene

FW stands for Full Window - no margins for rullers etc.

Usage

# Test
#-----
import sys
from PyQt4 import QtGui, QtCore
from graphqt.FWView import FWView
app = QtGui.QApplication(sys.argv)
w = FWView(None, rscene=QtCore.QRectF(0, 0, 100, 100), origin='UL', scale_ctl='HV')
w.show()
app.exec_()

# Constructor and destructor
#---------------------------
from graphqt.FWView import FWView
w = FWView(parent=None, rscene=QtCore.QRectF(0, 0, 10, 10), origin='UL', scale_ctl='HV', show_mode=0)
w.__del__() # on w.close()

# Main methods
#-------------
w.set_rect_scene(rs, set_def=True)
w.reset_original_size()
w.connect_cursor_on_scene_pos_to(recip)
w.connect_scene_rect_changed_to(recip)
w.connect_mouse_press_event_to(recip) 

# Methods
#---------
w.set_origin(origin='UL')           # sets attributes for origin
w.set_scale_control(scale_ctl='HV') # sets attribute _scale_ctl = 0/+1/+2
sctrl = w.scale_control()
w.set_style()
w.set_signs_of_transform()
w.set_background_style(bkgd="background-color:black; border: 0px solid green")
w.set_scene_item_rect_zvalue(sc_zvalue=20)

# Re-calls
#---------    
w.update_my_scene()
w.set_cursor_type_on_scene_rect(curs_hover=Qt.CrossCursor, curs_grab=Qt.SizeAllCursor)
w.set_view(rs=None)

# Methods for tests
#------------------
w.add_rect_to_scene_v1(rect, brush=QtGui.QBrush(), pen=QtGui.QPen(Qt.yellow, 4, Qt.DashLine))
w.add_rect_to_scene(rect, brush=QtGui.QBrush(), pen=QtGui.QPen(Qt.yellow, 4, Qt.DashLine))
w.add_test_items_to_scene(show_mode=0)

# Call-back slots
#----------------
w.mouseReleaseEvent(e)
# w.mouseDoubleCkickEvent(e)
w.mousePressEvent(e)
w.mouseMoveEvent(e)
w.wheelEvent(e)
w.enterEvent(e)
w.leaveEvent(e)
w.closeEvent(e)
w.resizeEvent(e)
# w.paintEvent(e)
w.key_usage(self)
w.keyPressEvent(e)

w.connect_mouse_move_event_to(recip)
w.disconnect_mouse_move_event_from(recip)
w.test_mouse_move_event_reception(e)     # resieves signal mouse_move_event(QMouseEvent)

w.on_timeout()
w.emit_signal_if_scene_rect_changed()        # emits signal scene_rect_changed(QRectF)
w.connect_scene_rect_changed_to(recip)
w.disconnect_scene_rect_changed_from(recip)
w.test_scene_rect_changed_reception(rs)

w.connect_mouse_press_event_to(recip)
w.disconnect_mouse_press_event_from(recip)
w.test_mouse_press_event_reception(e)


# w.connect_wheel_is_stopped_to(recip)
# w.disconnect_wheel_is_stopped_from(recip)
# w.test_wheel_is_stopped_reception()
See:

Created on 2017-01-03 by Mikhail Dubrovin

Class FWViewImage is a FWView for interactive image

FWView <- QGraphicsView <- … <- QWidget

Usage

# Test
#-----
import sys
from PyQt4 import QtGui, QtCore
from graphqt.FWViewImage import FWViewImage
import graphqt.ColorTable as ct
app = QtGui.QApplication(sys.argv)
ctab = ct.color_table_monochr256()
w = FWViewImage(None, arr, origin='UL', scale_ctl='HV', coltab=ctab)
w.show()
app.exec_()

# Main methods in addition to FWView
#------------------------------------
w.set_pixmap_from_arr(arr, set_def=True)
w.set_coltab(self, coltab=ct.color_table_rainbow(ncolors=1000, hang1=250, hang2=-20))

w.connect_mouse_press_event_to(w.test_mouse_press_event_reception)
w.connect_mouse_move_event_to(w.test_mouse_move_event_reception)
w.connect_scene_rect_changed_to(w.test_scene_rect_changed_reception)

# Methods
#--------
w.set_style()
ix, iy, v = w.cursor_on_image_pixcoords_and_value(p)

# Call-back slots
#----------------
w.mousePressEvent(e)
# w.mouseMoveEvent(e)
# w.closeEvent(e)
w.key_usage()
w.keyPressEvent(e)

# Overrides method from FWView
#-----------------------------
w.test_mouse_move_event_reception(e) # signature differs from FWView

# Global methods for test
#------------------------
img = image_with_random_peaks(shape=(500, 500))
See:

Created on September 9, 2016 by Mikhail Dubrovin

Class FWViewColorBar is a FWView for interactive color bar

FWView <- QGraphicsView <- … <- QWidget

Usage

# Create object
#--------------
from graphqt.FWViewColorBar import FWViewColorBar
import graphqt.ColorTable as ct

ctab = ct.color_table_rainbow(ncolors=1000, hang1=250, hang2=-20)
w = FWViewColorBar(None, coltab=ctab, orient='H', wlength=200, wwidth=50, keys_on=True)

# Main methods
#-------------
w.set_colorbar_table_ind(ctab_ind=None) # None for next in the loop
w.set_colorbar_table(ctab)

ctab = w.color_table()          # current color table used in colorbar
ctab_ind = color_table_index()  # current color table index

w.connect_new_color_table_index_is_selected_to(recip)
w.disconnect_new_color_table_index_is_selected_from(recip)
w.connect_new_color_table_index_is_selected_to(w.test_new_color_table_index_is_selected_reception)

w.connect_new_color_table_to(w.test_new_color_table_reception)
w.disconnect_new_color_table_from(recip)
w.connect_new_color_table_to(w.test_new_color_table_reception)

w.connect_mouse_move_event_to(w.test_mouse_move_event_reception) # from FWViewImage
See:

Created on November 9, 2017 by Mikhail Dubrovin

Class FWViewAxis is a widget with interactive axes

FWViewAxis <- FWView <- QGraphicsView <- QWidget

Usage

Create FWViewAxis object within pyqt QApplication
--------------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.FWViewAxis import FWViewAxis

app = QtGui.QApplication(sys.argv)
w = FWViewAxis(None, raxes=QtCore.QRectF(0, 0, 100, 100), origin='UL',                   scale_ctl='HV', rulers='TR')
w.show()
app.exec_()

Connect/disconnecr recipient to signals
---------------------------------------

Methods
-------
w.set_show_rulers(rulers='TBLR')
w.reset_original_image_size()

Internal methods
-----------------

Re-defines methods
------------------
w.update_my_scene() # FWView.update_my_scene() + draw rulers
w.set_style()       # sets FWView.set_style() + color, font, pen
w.closeEvent()      # removes rulers, FWView.closeEvent()

Created on December 12, 2017 by Mikhail Dubrovin

Class FWRuler adds a ruller to one of the sides of the scene rectangle

Usage

rs = QtCore.QRectF(0, 0, 1, 1)
s = QtGui.QGraphicsScene(rs)
v = QtGui.QGraphicsView(s)
v.setGeometry(20, 20, 600, 400)

v.fitInView(rs, Qt.IgnoreAspectRatio) # Qt.IgnoreAspectRatio Qt.KeepAspectRatioByExpanding Qt.KeepAspectRatio

ruler1 = FWRuler(s, 'L')
ruler2 = FWRuler(s, 'D')
ruler3 = FWRuler(s, 'U')
ruler4 = FWRuler(s, 'R')

ruler1.remove()

ruler4.remove()

Created on December 12, 2017 by Mikhail Dubrovin

Class GUQGraphicsRectItem is derived from QGraphicsRectItem to intercept events

Created on June 12, 2016 by Mikhail Dubrovin

Class GURuler adds a ruller to one of the sides of the scene rectangle

Usage

rv = QtCore.QRectF(-0.2, -0.2, 1.4, 1.4)
rs = QtCore.QRectF(0, 0, 1, 1)

s = QtGui.QGraphicsScene(rs)
v = QtGui.QGraphicsView(s)

v.setGeometry(20, 20, 600, 400)

v.fitInView(rv, 0) # Qt.IgnoreAspectRatio Qt.KeepAspectRatioByExpanding Qt.KeepAspectRatio

ruler1 = GURuler(s, GURuler.VL)
ruler2 = GURuler(s, GURuler.HD)
ruler3 = GURuler(s, GURuler.HU)
ruler4 = GURuler(s, GURuler.VR)

ruler3.remove()
ruler4.remove()

Created on June 12, 2016 by Mikhail Dubrovin

GUUtils - re-usable utils

Usage:

from graphqt.GUUtils import select_item_from__popup_menu, QtGui
app = QtGui.QApplication(sys.argv)    
lst = ('apple', 'orange', 'pear', 'peache', 'plum') 
item = select_item_in_popup_menu(lst)
print 'selected: %s' % item

from graphqt.GUUtils import print_rect
print_rect(r, cmt='')

Created on 2016-10-21 by Mikhail Dubrovin

GUUtils.proc_stat(weights, bins)[source]

Copied from CalibManager/src/PlotImgSpeWidget.py

GUUtils.proc_stat_v2(weights, centers)[source]

Returns mean and rms for input histogram arrays.

Simplified version of proc_stat from CalibManager.PlotImgSpeWidget mean, rms, err_mean, err_rms, neff, skew, kurt, err_err, sum_w = proc_stat(weights,bins)

GUUtils.select_color(colini=9, parent=None)[source]

Select color using QColorDialog

GUUtils.select_item_from_popup_menu(list)[source]

Shows the list as a pop-up menu and returns the selected item as a string or None

Module GUDragFactory contains factory methods for draggable objects

Created on 2016-10-09 by Mikhail Dubrovin

Class GUDragBase is a base class for draggable objects

Created on 2016-09-14 by Mikhail Dubrovin

Class GUDragCirc - for draggable circle

Created on 2016-10-09 by Mikhail Dubrovin

Class GUDragPoint - for draggable shape item

Created on 2016-10-11 by Mikhail Dubrovin

Class GUDragRect - for draggable shape item

Created on 2016-10-10 by Mikhail Dubrovin

Class GUViewImageWithShapes is a QWidget for interactive image

Usage

import sys
import numpy as np
arr = np.random.random((1000, 1000))
app = QtGui.QApplication(sys.argv)
w = GUViewImageWithShapes(None, arr, origin='UL', scale_ctl='HV', rulers='UDLR')
w.show()
app.exec_()

Created on 2016-10-10 by Mikhail Dubrovin

Created on 2017-07-27

@author: Mikhail Dubrovin

QListView/QWidget QWCheckList - works on the dictionary of checked items

Usage::

from graphqt.QWCheckList import QWCheckList, print_dic import sys

d = {‘CSPAD1’:True, ‘CSPAD2x21’:False, ‘pNCCD1’:True, ‘Opal1’:False}

app = QtGui.QApplication(sys.argv) w = QWCheckList(parent=None, dic_item_state=d) w.setGeometry(100, 100, 200, 300) w.setWindowTitle(‘Test Check List’) w.show() app.exec_()

print_dic(d)

class QWCheckList.QWCheckList(parent=None, dic_item_state={})[source]

Bases: PyQt4.QtGui.QListView

Gets dict of item for checkbox GUI in format {‘CSPAD1’:True, ‘CSPAD2x21’:False, ‘pNCCD1’:True, ‘Opal1’:False} and modify this list in gui.

Created on June 14, 2017

@author: Mikhail Dubrovin

class QWDateTimeSec.QWDateTimeSec(parent=None, show_frame=False, verb=False)[source]

Bases: CalibManager.Frame.Frame

Widget for date and time selection

set_date_time_fields(tsec=None)[source]

Sets date and time fields for tsec - time in seconds or current time by default.

set_tsec()[source]

Sets self.edi (tsec) field from date and time fields.

QWDateTimeSec.str_tstamp(fmt='%Y-%m-%dT%H:%M:%S', time_sec=None)[source]

Returns string timestamp for specified format and time in sec or current time by default

@version $Id: QWDirName.py 12962 2016-12-09 20:06:16Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

class QWDirName.QWDirName(parent=None, butname='Select', label='Dir:', path='/reg/neh/home/dubrovin/LCLS/rel-expmon/', fltr=<PyQt4.QtGui.Options object>, show_frame=False)[source]

Bases: graphqt.QWFileName.QWFileName

Widget for directory name input

@version $Id: QWFileName.py 12962 2016-12-09 20:06:16Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

class QWFileName.QWFileName(parent=None, butname='Browse', label='File:', path='/reg/neh/home/dubrovin/LCLS/rel-expmon/log.txt', mode='r', fltr='*.txt *.data *.png *.gif *.jpg *.jpegn *', show_frame=False)[source]

Bases: CalibManager.Frame.Frame

Widget for file name input

QWLogger - GUI for Logger

This software was developed for the SIT project. If you use all or part of it, please give an appropriate acknowledgment.

@version $Id: QWLogger.py 13157 2017-02-18 00:05:34Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

class QWLogger.QWLogger(log, cp, show_buttons=True)[source]

Bases: PyQt4.QtGui.QWidget

GUI for Logger

getConfirmation()[source]

Pop-up box for confirmation

Popup GUI for (str) item selection from the list of items

Popup GUI for (str) item selection from the list of items

Class QWSpectrum - supports widget for spectrum

Usage

Create GUViewHist object within pyqt QApplication
--------------------------------------------------
import sys
from PyQt4 import QtGui, QtCore
from graphqt.QWSpectrum import QWSpectrum

arr = image_with_random_peaks((50, 50))
app = QtGui.QApplication(sys.argv)
w = QWSpectrum(None, arr, show_frame=False) #, show_buts=False)

Connect/disconnecr recipient to signals
---------------------------------------

### w.connect_color_table_is_changed_to(recipient)
### w.disconnect_color_table_is_changed_from(recipient) :
### w.test_color_table_is_changed_reception(self)

For self.hist:
self.hist.connect_axes_limits_changed_to(recipient)
self.hist.connect_histogram_updated_to(recipient)
self.hist.disconnect_histogram_updated_from(recipient)


Methods
-------
w.on_but_save()
w.on_but_reset()
ctab = w.color_table(self)
w.on_colorbar() # emits signal color_table_is_changed
w.draw_mean_std(mean, std)
w.draw_stat(mean, rms, err_mean, err_rms, neff, skew, kurt, err_err, sum_w)
w.draw_cursor_locator(x, y, ibin, value)
w.set_tool_tips()
w.set_style()

Internal methods
-----------------

Re-defines methods
------------------
closeEvent

Global scope methods
--------------------
test_guspectrum(tname)
See:

Created on 2017-02-06 by Mikhail Dubrovin

class QWSpectrum.QWSpectrum(parent=None, arr=None, coltab=array([4280942847, 4280877311, 4280811775, 4280746239, 4280680703, 4280549631, 4280484095, 4280418559, 4280353023, 4280287487, 4280221951, 4280090879, 4280025343, 4279959807, 4279894271, 4279828735, 4279763199, 4279697663, 4279566591, 4279501055, 4279435519, 4279369983, 4279304447, 4279238911, 4279173375, 4279042303, 4278976767, 4278911231, 4278845695, 4278780159, 4278714623, 4278583551, 4278518015, 4278452479, 4278386943, 4278321407, 4278255871, 4278190335, 4278190591, 4278190847, 4278191103, 4278191359, 4278191615, 4278191871, 4278192383, 4278192639, 4278192895, 4278193151, 4278193407, 4278193663, 4278193919, 4278194431, 4278194687, 4278194943, 4278195199, 4278195455, 4278195711, 4278195967, 4278196479, 4278196735, 4278196991, 4278197247, 4278197503, 4278197759, 4278198271, 4278198527, 4278198783, 4278199039, 4278199295, 4278199551, 4278199807, 4278200319, 4278200575, 4278200831, 4278201087, 4278201343, 4278201599, 4278202111, 4278202367, 4278202623, 4278202879, 4278203135, 4278203391, 4278203647, 4278204159, 4278204415, 4278204671, 4278204927, 4278205183, 4278205439, 4278205951, 4278206207, 4278206463, 4278206719, 4278206975, 4278207231, 4278207487, 4278207999, 4278208255, 4278208511, 4278208767, 4278209023, 4278209279, 4278209535, 4278210047, 4278210303, 4278210559, 4278210815, 4278211071, 4278211327, 4278211839, 4278212095, 4278212351, 4278212607, 4278212863, 4278213119, 4278213375, 4278213887, 4278214143, 4278214399, 4278214655, 4278214911, 4278215167, 4278215679, 4278215935, 4278216191, 4278216447, 4278216703, 4278216959, 4278217215, 4278217727, 4278217983, 4278218239, 4278218495, 4278218751, 4278219007, 4278219519, 4278219775, 4278220031, 4278220287, 4278220543, 4278220799, 4278221055, 4278221567, 4278221823, 4278222079, 4278222335, 4278222591, 4278222847, 4278223103, 4278223615, 4278223871, 4278224127, 4278224383, 4278224639, 4278224895, 4278225407, 4278225663, 4278225919, 4278226175, 4278226431, 4278226687, 4278226943, 4278227455, 4278227711, 4278227967, 4278228223, 4278228479, 4278228735, 4278229247, 4278229503, 4278229759, 4278230015, 4278230271, 4278230527, 4278230783, 4278231295, 4278231551, 4278231807, 4278232063, 4278232319, 4278232575, 4278232831, 4278233343, 4278233599, 4278233855, 4278234111, 4278234367, 4278234623, 4278235135, 4278235391, 4278235647, 4278235903, 4278236159, 4278236415, 4278236671, 4278237183, 4278237439, 4278237695, 4278237951, 4278238207, 4278238463, 4278238975, 4278239231, 4278239487, 4278239743, 4278239999, 4278240255, 4278240511, 4278241023, 4278241279, 4278241535, 4278241791, 4278242047, 4278242303, 4278242815, 4278243071, 4278243327, 4278243583, 4278243839, 4278244095, 4278244351, 4278244863, 4278245119, 4278245375, 4278245631, 4278245887, 4278246143, 4278246399, 4278246911, 4278247167, 4278247423, 4278247679, 4278247935, 4278248191, 4278248703, 4278248959, 4278249215, 4278249471, 4278249727, 4278249983, 4278250239, 4278250751, 4278251007, 4278251263, 4278251519, 4278251775, 4278252031, 4278252543, 4278252799, 4278253055, 4278253311, 4278253567, 4278253823, 4278254079, 4278254591, 4278254847, 4278255103, 4278255359, 4278255615, 4278255615, 4278255613, 4278255612, 4278255611, 4278255610, 4278255609, 4278255608, 4278255607, 4278255605, 4278255604, 4278255603, 4278255602, 4278255601, 4278255600, 4278255599, 4278255597, 4278255596, 4278255595, 4278255594, 4278255593, 4278255592, 4278255590, 4278255589, 4278255588, 4278255587, 4278255586, 4278255585, 4278255584, 4278255582, 4278255581, 4278255580, 4278255579, 4278255578, 4278255577, 4278255575, 4278255574, 4278255573, 4278255572, 4278255571, 4278255570, 4278255569, 4278255567, 4278255566, 4278255565, 4278255564, 4278255563, 4278255562, 4278255561, 4278255559, 4278255558, 4278255557, 4278255556, 4278255555, 4278255554, 4278255552, 4278255551, 4278255550, 4278255549, 4278255548, 4278255547, 4278255546, 4278255544, 4278255543, 4278255542, 4278255541, 4278255540, 4278255539, 4278255537, 4278255536, 4278255535, 4278255534, 4278255533, 4278255532, 4278255531, 4278255529, 4278255528, 4278255527, 4278255526, 4278255525, 4278255524, 4278255522, 4278255521, 4278255520, 4278255519, 4278255518, 4278255517, 4278255516, 4278255514, 4278255513, 4278255512, 4278255511, 4278255510, 4278255509, 4278255508, 4278255506, 4278255505, 4278255504, 4278255503, 4278255502, 4278255501, 4278255499, 4278255498, 4278255497, 4278255496, 4278255495, 4278255494, 4278255493, 4278255491, 4278255490, 4278255489, 4278255488, 4278255487, 4278255486, 4278255484, 4278255483, 4278255482, 4278255481, 4278255480, 4278255479, 4278255478, 4278255476, 4278255475, 4278255474, 4278255473, 4278255472, 4278255471, 4278255469, 4278255468, 4278255467, 4278255466, 4278255465, 4278255464, 4278255463, 4278255461, 4278255460, 4278255459, 4278255458, 4278255457, 4278255456, 4278255455, 4278255453, 4278255452, 4278255451, 4278255450, 4278255449, 4278255448, 4278255446, 4278255445, 4278255444, 4278255443, 4278255442, 4278255441, 4278255440, 4278255438, 4278255437, 4278255436, 4278255435, 4278255434, 4278255433, 4278255431, 4278255430, 4278255429, 4278255428, 4278255427, 4278255426, 4278255425, 4278255423, 4278255422, 4278255421, 4278255420, 4278255419, 4278255418, 4278255417, 4278255415, 4278255414, 4278255413, 4278255412, 4278255411, 4278255410, 4278255408, 4278255407, 4278255406, 4278255405, 4278255404, 4278255403, 4278255402, 4278255400, 4278255399, 4278255398, 4278255397, 4278255396, 4278255395, 4278255393, 4278255392, 4278255391, 4278255390, 4278255389, 4278255388, 4278255387, 4278255385, 4278255384, 4278255383, 4278255382, 4278255381, 4278255380, 4278255378, 4278255377, 4278255376, 4278255375, 4278255374, 4278255373, 4278255372, 4278255370, 4278255369, 4278255368, 4278255367, 4278255366, 4278255365, 4278255364, 4278255362, 4278255361, 4278255360, 4278255360, 4278320896, 4278386432, 4278517504, 4278583040, 4278648576, 4278714112, 4278779648, 4278845184, 4278910720, 4279041792, 4279107328, 4279172864, 4279238400, 4279303936, 4279369472, 4279500544, 4279566080, 4279631616, 4279697152, 4279762688, 4279828224, 4279893760, 4280024832, 4280090368, 4280155904, 4280221440, 4280286976, 4280352512, 4280483584, 4280549120, 4280614656, 4280680192, 4280745728, 4280811264, 4280876800, 4281007872, 4281073408, 4281138944, 4281204480, 4281270016, 4281335552, 4281401088, 4281532160, 4281597696, 4281663232, 4281728768, 4281794304, 4281859840, 4281990912, 4282056448, 4282121984, 4282187520, 4282253056, 4282318592, 4282384128, 4282515200, 4282580736, 4282646272, 4282711808, 4282777344, 4282842880, 4282973952, 4283039488, 4283105024, 4283170560, 4283236096, 4283301632, 4283367168, 4283498240, 4283563776, 4283629312, 4283694848, 4283760384, 4283825920, 4283891456, 4284022528, 4284088064, 4284153600, 4284219136, 4284284672, 4284350208, 4284481280, 4284546816, 4284612352, 4284677888, 4284743424, 4284808960, 4284874496, 4285005568, 4285071104, 4285136640, 4285202176, 4285267712, 4285333248, 4285464320, 4285529856, 4285595392, 4285660928, 4285726464, 4285792000, 4285857536, 4285988608, 4286054144, 4286119680, 4286185216, 4286250752, 4286316288, 4286447360, 4286512896, 4286578432, 4286643968, 4286709504, 4286775040, 4286840576, 4286971648, 4287037184, 4287102720, 4287168256, 4287233792, 4287299328, 4287364864, 4287495936, 4287561472, 4287627008, 4287692544, 4287758080, 4287823616, 4287954688, 4288020224, 4288085760, 4288151296, 4288216832, 4288282368, 4288347904, 4288478976, 4288544512, 4288610048, 4288675584, 4288741120, 4288806656, 4288937728, 4289003264, 4289068800, 4289134336, 4289199872, 4289265408, 4289330944, 4289462016, 4289527552, 4289593088, 4289658624, 4289724160, 4289789696, 4289920768, 4289986304, 4290051840, 4290117376, 4290182912, 4290248448, 4290313984, 4290445056, 4290510592, 4290576128, 4290641664, 4290707200, 4290772736, 4290838272, 4290969344, 4291034880, 4291100416, 4291165952, 4291231488, 4291297024, 4291428096, 4291493632, 4291559168, 4291624704, 4291690240, 4291755776, 4291821312, 4291952384, 4292017920, 4292083456, 4292148992, 4292214528, 4292280064, 4292411136, 4292476672, 4292542208, 4292607744, 4292673280, 4292738816, 4292804352, 4292935424, 4293000960, 4293066496, 4293132032, 4293197568, 4293263104, 4293328640, 4293459712, 4293525248, 4293590784, 4293656320, 4293721856, 4293787392, 4293918464, 4293984000, 4294049536, 4294115072, 4294180608, 4294246144, 4294311680, 4294442752, 4294508288, 4294573824, 4294639360, 4294704896, 4294770432, 4294901504, 4294967040, 4294967040, 4294966784, 4294966528, 4294966272, 4294966016, 4294965504, 4294965248, 4294964992, 4294964736, 4294964480, 4294964224, 4294963712, 4294963456, 4294963200, 4294962944, 4294962688, 4294962432, 4294962176, 4294961664, 4294961408, 4294961152, 4294960896, 4294960640, 4294960384, 4294960128, 4294959616, 4294959360, 4294959104, 4294958848, 4294958592, 4294958336, 4294957824, 4294957568, 4294957312, 4294957056, 4294956800, 4294956544, 4294956288, 4294955776, 4294955520, 4294955264, 4294955008, 4294954752, 4294954496, 4294953984, 4294953728, 4294953472, 4294953216, 4294952960, 4294952704, 4294952448, 4294951936, 4294951680, 4294951424, 4294951168, 4294950912, 4294950656, 4294950144, 4294949888, 4294949632, 4294949376, 4294949120, 4294948864, 4294948608, 4294948096, 4294947840, 4294947584, 4294947328, 4294947072, 4294946816, 4294946560, 4294946048, 4294945792, 4294945536, 4294945280, 4294945024, 4294944768, 4294944256, 4294944000, 4294943744, 4294943488, 4294943232, 4294942976, 4294942720, 4294942208, 4294941952, 4294941696, 4294941440, 4294941184, 4294940928, 4294940416, 4294940160, 4294939904, 4294939648, 4294939392, 4294939136, 4294938880, 4294938368, 4294938112, 4294937856, 4294937600, 4294937344, 4294937088, 4294936832, 4294936320, 4294936064, 4294935808, 4294935552, 4294935296, 4294935040, 4294934528, 4294934272, 4294934016, 4294933760, 4294933504, 4294933248, 4294932992, 4294932480, 4294932224, 4294931968, 4294931712, 4294931456, 4294931200, 4294930688, 4294930432, 4294930176, 4294929920, 4294929664, 4294929408, 4294929152, 4294928640, 4294928384, 4294928128, 4294927872, 4294927616, 4294927360, 4294926848, 4294926592, 4294926336, 4294926080, 4294925824, 4294925568, 4294925312, 4294924800, 4294924544, 4294924288, 4294924032, 4294923776, 4294923520, 4294923264, 4294922752, 4294922496, 4294922240, 4294921984, 4294921728, 4294921472, 4294920960, 4294920704, 4294920448, 4294920192, 4294919936, 4294919680, 4294919424, 4294918912, 4294918656, 4294918400, 4294918144, 4294917888, 4294917632, 4294917120, 4294916864, 4294916608, 4294916352, 4294916096, 4294915840, 4294915584, 4294915072, 4294914816, 4294914560, 4294914304, 4294914048, 4294913792, 4294913280, 4294913024, 4294912768, 4294912512, 4294912256, 4294912000, 4294911744, 4294911232, 4294910976, 4294910720, 4294910464, 4294910208, 4294909952, 4294909696, 4294909184, 4294908928, 4294908672, 4294908416, 4294908160, 4294907904, 4294907392, 4294907136, 4294906880, 4294906624, 4294906368, 4294906112, 4294905856, 4294905344, 4294905088, 4294904832, 4294904576, 4294904320, 4294904064, 4294903552, 4294903296, 4294903040, 4294902784, 4294902528, 4294902272, 4294902016, 4294901760, 4294901761, 4294901762, 4294901763, 4294901764, 4294901765, 4294901766, 4294901768, 4294901769, 4294901770, 4294901771, 4294901772, 4294901773, 4294901775, 4294901776, 4294901777, 4294901778, 4294901779, 4294901780, 4294901781, 4294901783, 4294901784, 4294901785, 4294901786, 4294901787, 4294901788, 4294901790, 4294901791, 4294901792, 4294901793, 4294901794, 4294901795, 4294901796, 4294901798, 4294901799, 4294901800, 4294901801, 4294901802, 4294901803, 4294901805, 4294901806, 4294901807, 4294901808, 4294901809, 4294901810, 4294901811, 4294901813, 4294901814, 4294901815, 4294901816, 4294901817, 4294901818, 4294901819, 4294901821, 4294901822, 4294901823, 4294901824, 4294901825, 4294901826, 4294901828, 4294901829, 4294901830, 4294901831, 4294901832, 4294901833, 4294901834, 4294901836, 4294901837, 4294901838, 4294901839, 4294901840, 4294901841, 4294901843, 4294901844], dtype=uint32), show_frame=True, show_buts=True)[source]

Bases: PyQt4.QtGui.QWidget

Widget for file name input

@version $Id: QWUtils.py 13133 2017-02-08 01:05:23Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

QWUtils.changeCheckBoxListInPopupMenu(list, win_title='Set check boxes')[source]

Shows the list of check-boxes as a dialog pop-up menu and returns the (un)changed list

QWUtils.selectFromListInPopupMenu(list)[source]

Shows the list as a pop-up menu and returns the selected item as a string or None

QWUtils.selectRadioButtonInPopupMenu(dict_of_pars, win_title='Select option', do_confirm=False)[source]

Popup GUI to select radio button from the list: dict_of_pars = {‘checked’:’radio1’, ‘list’:[‘radio0’, ‘radio1’, ‘radio2’]}

Class IVMain is a QWidget for interactive image

Usage

import sys
from PyQt4 import QtGui
from graphqt.IVMain import IVMain
app = QtGui.QApplication(sys.argv)
w = IVMain(None, app)
w.show()
app.exec_()
See:

Created on February 1, 2017 by Mikhail Dubrovin

Class IVMainTabs - tabs in IVMain window

Usage

import sys
from PyQt4 import QtGui
from graphqt.IVMainTabs import IVMainTabs
app = QtGui.QApplication(sys.argv)
w = IVMainTabs()
w.show()
app.exec_()
See:

Created on 2017-02-18 by Mikhail Dubrovin

class IVMainTabs.IVMainTabs(parent=None, app=None)[source]

Bases: PyQt4.QtGui.QWidget

GUI for tabs

Class IVMainButtons window with buttons for IVMain

Usage

import sys
from PyQt4 import QtGui
from graphqt.IVMainButtons import IVMainButtons
app = QtGui.QApplication(sys.argv)
w  = IVMainButtons(parent=None)
w.show()
app.exec_()
See:

Created on February 1, 2017 by Mikhail Dubrovin

Class IVTabDataControl - window for data control

Usage

import sys
from PyQt4 import QtGui
from graphqt.IVTabDataControl import IVTabDataControl
app = QtGui.QApplication(sys.argv)
w = IVTabDataControl(cp, log, show_mode=0377, show_mode_evctl=017)
w.w_evt.connect_new_event_number_to(w.test_on_new_event_number_reception)
w.show()
app.exec_()
See:

Created on 2017-04-12 by Mikhail Dubrovin

class IVTabDataControl.IVTabDataControl(cp, log, parent=None, show_mode=15, show_mode_evctl=15)[source]

Bases: expmon.QWDataControl.QWDataControl

Data control parameters window for tab “Data” derived from QWDataControl to connect signals with IV-app recipients

Class IVTabFileName file name control window

Usage

import sys
from PyQt4 import QtGui
from graphqt.IVTabFileName import IVTabFileName

app = QtGui.QApplication(sys.argv)
w = IVTabFileName(show_mode=03)
w.w_fname.connect_path_is_changed_to_recipient(w.test_signal_reception)
w.w_calib.connect_path_is_changed_to_recipient(w.test_signal_reception)
w.show()
app.exec_()
See:

Created on 2017-02-18 by Mikhail Dubrovin

class IVTabFileName.IVTabFileName(parent=None, show_mode=1)[source]

Bases: CalibManager.Frame.Frame

File name input GUI

Class IVConfigParameters supports configuration parameters for application

This software was developed for the SIT project. If you use all or part of it, please give an appropriate acknowledgment.

Usage

from expmon.Logger import log

log.setPrintBits(0377)
cp.readParametersFromFile()
cp.printParameters()
cp.log_level.setValue('debug')
cp.saveParametersInFile()
See:

Created on 2016-11-22 by Mikhail Dubrovin

class IVConfigParameters.IVConfigParameters(fname=None)[source]

Bases: expmon.PSConfigParameters.PSConfigParameters

A storage of configuration parameters for Image Vievier (iv)

__init__(fname=None)[source]

fname : str - the file name with configuration parameters, if not specified then use default.

Class IVImageCursorInfo is a QWidget for interactive image

QWidget shows cursor coordinates and hovered pixel intensity.

Usage ::

from PyQt4 import QtGui, QtCore from graphqt.IVImageCursorInfo import IVImageCursorInfo

app = QtGui.QApplication(sys.argv) w = IVImageCursorInfo(parent=None) w.setWindowTitle(‘Cursor info’) w.show() app.exec_()

See:

Created on February 1, 2017 by Mikhail Dubrovin

@version $Id: QIcons.py 13111 2017-02-02 01:57:56Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

Logger - logger for graphqt

Usage:

from CalibManager.Logger import logger as log
# or
from graphqt.Logger import log

# set level: 'debug','info','warning','error','critical'
log.setLevel('warning') 

# print messages of all levels: 1,2,4,8,16 for 'debug','info',...
log.setPrintBits(0377) 

log.debug   ('Some message', __name__)
log.info    ('Some message', __name__)
log.warning ('Some message', __name__)
log.error   ('Some message', __name__)
log.critical('Some message', __name__)

levels = logger.getListOfLevels()
level  = logger.getLevel()
fname  = logger.getLogFileName()
fnamet = logger.getLogTotalFileName()
tss    = logger.getStrStartTime()
ts     = logger.timeStamp()
log    = logger.getLogContent()
logtot = logger.getLogContentTotal()

log.saveLogInFile()
log.saveLogTotalInFile()
# or
log.saveLogInFile('file.txt')

log.setGUILogger(guilogger) # will callback guilogger.appendGUILog(msg)

@see class CalibManager.Logger

@see project modules
  • CalibManager.GUILogger.py
  • CalibManager.ConfigParameters

This software was developed for the SIT project. If you use all or part of it, please give an appropriate acknowledgment.

@version $Id:Logger.py 11923 2016-05-17 21:14:33Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

@version $Id: Styles.py 13109 2017-01-31 18:49:38Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

Created on Dec 5, 2015 from http://www.justintalbot.com/research/axis-labeling/

@author: Talbot, Lin, Hanrahan

ColorTable collection of methods to generate color bars

Usage

import graphqt.ColorTable as ct

ctab = ct.color_table_monochr256()
ctab = ct.color_table_rainbow(ncolors=1000, hang1=250, hang2=-20)
ctab = ct.color_table_interpolated()
ctab = ct.color_table_interpolated(points=[0, 100, 200, 400, 500, 650, 700], colors=[0xffffff, 0xffff00, 0x00ff00, 0xff0000, 0xff00ff, 0x0000ff, 0])
See:

Created on Dec 6, 2015 by Mikhail Dubrovin

class ColorTable.ColorTable(ncolors=1000, hang1=0, hang2=360, vmin=-10000, vmax=10000)[source]

Creates and provide access to color table

__init__(ncolors=1000, hang1=0, hang2=360, vmin=-10000, vmax=10000)[source]

Makes color table - list of QColors of length ncolors

color_for_value(v)[source]

Returns color mapped to the value in the color table

int_ctable()[source]

converts list of QColor to list of integer rgba values

make_ctable_for_hue_range(ncolors=1000, hang1=0, hang2=360)[source]

Makes color table in the range of hue values

set_hue_range(hang1, hang2)[source]

Sets the range of hue angles and re-generate color table

set_ncolors(ncolors)[source]

Sets the number of color in table and re-generate color table

set_value_range(vmin, vmax)[source]

Sets the range of values which will be mapped to color table

class ColorTable.Storage[source]

Store for shared parameters.

ColorTable.apply_color_table(arr, ctable=None, amin=None, amax=None)[source]

Returns numpy array with colors in stead of intensities

ColorTable.array_for_color_bar(ctab=array([4278190080, 4278255873, 4278321666, 4278387459, 4278453252, 4278519045, 4278584838, 4278650631, 4278716424, 4278782217, 4278848010, 4278913803, 4278979596, 4279045389, 4279111182, 4279176975, 4279242768, 4279308561, 4279374354, 4279440147, 4279505940, 4279571733, 4279637526, 4279703319, 4279769112, 4279834905, 4279900698, 4279966491, 4280032284, 4280098077, 4280163870, 4280229663, 4280295456, 4280361249, 4280427042, 4280492835, 4280558628, 4280624421, 4280690214, 4280756007, 4280821800, 4280887593, 4280953386, 4281019179, 4281084972, 4281150765, 4281216558, 4281282351, 4281348144, 4281413937, 4281479730, 4281545523, 4281611316, 4281677109, 4281742902, 4281808695, 4281874488, 4281940281, 4282006074, 4282071867, 4282137660, 4282203453, 4282269246, 4282335039, 4282400832, 4282466625, 4282532418, 4282598211, 4282664004, 4282729797, 4282795590, 4282861383, 4282927176, 4282992969, 4283058762, 4283124555, 4283190348, 4283256141, 4283321934, 4283387727, 4283453520, 4283519313, 4283585106, 4283650899, 4283716692, 4283782485, 4283848278, 4283914071, 4283979864, 4284045657, 4284111450, 4284177243, 4284243036, 4284308829, 4284374622, 4284440415, 4284506208, 4284572001, 4284637794, 4284703587, 4284769380, 4284835173, 4284900966, 4284966759, 4285032552, 4285098345, 4285164138, 4285229931, 4285295724, 4285361517, 4285427310, 4285493103, 4285558896, 4285624689, 4285690482, 4285756275, 4285822068, 4285887861, 4285953654, 4286019447, 4286085240, 4286151033, 4286216826, 4286282619, 4286348412, 4286414205, 4286479998, 4286545791, 4286611584, 4286677377, 4286743170, 4286808963, 4286874756, 4286940549, 4287006342, 4287072135, 4287137928, 4287203721, 4287269514, 4287335307, 4287401100, 4287466893, 4287532686, 4287598479, 4287664272, 4287730065, 4287795858, 4287861651, 4287927444, 4287993237, 4288059030, 4288124823, 4288190616, 4288256409, 4288322202, 4288387995, 4288453788, 4288519581, 4288585374, 4288651167, 4288716960, 4288782753, 4288848546, 4288914339, 4288980132, 4289045925, 4289111718, 4289177511, 4289243304, 4289309097, 4289374890, 4289440683, 4289506476, 4289572269, 4289638062, 4289703855, 4289769648, 4289835441, 4289901234, 4289967027, 4290032820, 4290098613, 4290164406, 4290230199, 4290295992, 4290361785, 4290427578, 4290493371, 4290559164, 4290624957, 4290690750, 4290756543, 4290822336, 4290888129, 4290953922, 4291019715, 4291085508, 4291151301, 4291217094, 4291282887, 4291348680, 4291414473, 4291480266, 4291546059, 4291611852, 4291677645, 4291743438, 4291809231, 4291875024, 4291940817, 4292006610, 4292072403, 4292138196, 4292203989, 4292269782, 4292335575, 4292401368, 4292467161, 4292532954, 4292598747, 4292664540, 4292730333, 4292796126, 4292861919, 4292927712, 4292993505, 4293059298, 4293125091, 4293190884, 4293256677, 4293322470, 4293388263, 4293454056, 4293519849, 4293585642, 4293651435, 4293717228, 4293783021, 4293848814, 4293914607, 4293980400, 4294046193, 4294111986, 4294177779, 4294243572, 4294309365, 4294375158, 4294440951, 4294506744, 4294572537, 4294638330, 4294704123, 4294769916, 4294835709, 4294901502, 4294967295], dtype=uint32), orient='V', width=2)[source]

Returns 2-d array made of repeated 1-d array ctab to display as a color bar

ColorTable.color_table_interpolated(points=[0, 50, 200, 300, 500, 600, 700], colors=[0, 255, 16711935, 16711680, 65280, 16776960, 16777215])[source]

Returns numpy array of colors linearly-interpolated between points with defined colors

ColorTable.color_table_linear(ncolors=100)[source]

Returns numpy array with ncolors constructed from entire range of RGB colors

ColorTable.color_table_monochr256(inverted=False)[source]

Returns numpy array with monochrome table of 256 colors

ColorTable.interpolate_colors(ctab, p1, p2, c1, c2)[source]

Fills color table ctab between index/points p1 and p2 for interpolated colors from c1 to c2

ColorTable.next_color_table(ict=None)[source]

Returns color table selected in loop or requested by index ict : int among pre-defined

@version $Id: Frame.py 12945 2016-12-08 02:07:56Z dubrovin@SLAC.STANFORD.EDU $

@author Mikhail S. Dubrovin

Indices and tables