lavuelib package

Submodules

lavuelib.axesDialog module

detector axis widget

class lavuelib.axesDialog.AxesDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

detector axis widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

xposition = None

(float) x-coordinates of the first pixel

xscale = None

(float) x-scale of pixels

xtext = None

(str) text of x-axis

xunits = None

(str) units of x-axis

yposition = None

(float) y-coordinates of the first pixel

yscale = None

(float) y-scale of pixels

ytext = None

(str) text of y-axis

yunits = None

(str) units of y-axis

lavuelib.bkgSubtractionWidget module

background subtraction widget

class lavuelib.bkgSubtractionWidget.BkgSubtractionWidget(parent=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Define bkg image and subtract from displayed image.

constructor

Parameters:
applyStateChanged

(pyqtgraph.QtCore.pyqtSignal) apply state change signal

bkgFileSelected

(pyqtgraph.QtCore.pyqtSignal) bkg file selected signal

bkgScalingFactor()[source]

provides background scaling factor

Returns:background scaling factor
Return type:float
bkgScalingFactorChanged

(pyqtgraph.QtCore.pyqtSignal) bkg scaling factor change signal

checkBkgSubtraction(state)[source]

unchecks apply CheckBox if state is 1 and it is checked and reset the display

Parameters:state (int) – checkbox state
isBkgSubApplied()[source]

if background subtraction applied :returns: apply status :rtype: bool

setBackground(fname)[source]

sets the image background

Parameters:fname (str) – file name
setBkgScalingFactor(scale)[source]

sets the background scaling factor

Parameters:scale (float or str) – background scaling factor
setDisplayedName(name)[source]

sets displayed file name

Parameters:name (str) – file name
showScalingFactors(show=True)[source]
useCurrentImageAsBkg

(pyqtgraph.QtCore.pyqtSignal) use current image signal

lavuelib.channelGroupBox module

level widget

class lavuelib.channelGroupBox.ChannelGroupBox(parent=None, settings=None, expertmode=False)[source]

Bases: PyQt5.QtWidgets.QWidget

Set minimum and maximum displayed values and its color.

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • settings (lavuelib.settings.Settings) – lavue configuration settings
  • expertmode (bool) – expert mode flag
changeView(showlevels=None)[source]

shows or hides the histogram widget

Parameters:showlevels (bool) – if levels should be shown
channelChanged

(pyqtgraph.QtCore.pyqtSignal) color channel changed signal

channelLabel()[source]

provides color channel label

Returns:color channel label
Return type:str
channelLabels()[source]

provides channel labels

Returns:list of channel labels
Return type:list <str>
colorChannel()[source]

provides color channel

Returns:color channel
Return type:int
rgbChanged

(pyqtgraph.QtCore.pyqtSignal) rgb color channel changed signal

rgbchannels()[source]
setChannel(channel, force=False)[source]

sets color channel

Parameters:
  • channel (int) – color channel
  • force (bool) – force change
setChannelItemText(iid, text)[source]

sets channel item text

Parameters:
  • iid (str) – label id
  • iid – label text
setDefaultColorChannel(channel)[source]

sets default color channel

Parameters:channel (int or int) – default color channel(s)
setNumberOfChannels(number)[source]

sets maximum number of color channel

Parameters:number (int) – number of color channel
showGradient(status=True)[source]

resets color channel

Parameters:status (bool) – show gradient flag
updateBChannel()[source]

update blue channel

updateChannelLabels(chlabels=None)[source]

update channel labels

Parameters:chlabels (dict <int str>) – dictionary with channel labels
updateGChannel()[source]

update green channel

updateRChannel()[source]

update red channel

lavuelib.commandThread module

command thread

class lavuelib.commandThread.CommandThread(instance, commands, parent)[source]

Bases: lavuelib.omniQThread.OmniQThread

thread which executes a list of commands

thread contructor

Parameters:
  • instance (instanceobj or type) – command instance
  • commands (list <str>) – a list of commands
  • parent (pyqtgraph.QtCore.QObject) – thread parent object
commands = None

(list <str>) a list of commands

error = None

(Exception) error thrown by the executed command

finished

(pyqtgraph.QtCore.pyqtSignal) finished signal

instance = None

(instanceobj or type) command instance

lavuelib.commandThread.logger = <Logger lavuelib.commandThread (WARNING)>

(logging.Logger) logger object

lavuelib.configDialog module

configuration widget

class lavuelib.configDialog.ConfigDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accelbuffersum = None

(bool) accelerate buffer sum

accept()[source]

updates class variables with the form content

addrois = None

(bool) add rois enabled

asapobeamtime = None

(str) asapo beamtime id

asapodatasources = None

(list < str > ) asapo datasources

asaposerver = None

(str) asapo server

asaposourcepath = None

(str) asapo sourcepath

asapotoken = None

(str) asapo token

aspectlocked = None

(bool) aspect ratio locked

autodownsample = None

(bool) auto down sample

autozmqtopics = None

(bool) topics for ZMQ stream source fetched from the stream

availimagesources = None

(str) list with available image source widget names

availtoolwidgets = None

(str) list with available tool widget names

calcvariance = None

(bool) calculate variance

correctsolidangle = None

(bool) correct solid angle flag

createGUI()[source]

create GUI

crosshairlocker = None

(bool) crosshair locker switched on

defdetservers = None

(bool) use default detector servers

detservers = None

(str) json hidra detector server list

diffnpt = None

(int) number of points for diffractogram

door = None

(str) device name of sardana door

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

filters = None

(str) json list with filters

floattype = None

(str) float type for pixel intensity

geometryfromsource = None

(bool) fetch geometry from source

gradientcolors = None

(bool) image channels shown with gradient colors

hidraport = None

(str) hidra data port

imagechannels = None

(bool) map image sources to color channels

imagesources = None

(str) json list with image source widget names

interruptonerror = None

(bool) interrupt on error

keepcoords = None

(bool) keep original coordinates

lazyimageslider = None

(bool) lazy image slider

maxmbuffersize = None

(str) maximal number of images in memory buffer

nanmask = None

(bool) nan mask enabled

negmask = None

(bool) adding maximal type value to negative high value mask

nrsources = None

(int) number of image sources

nxslast = None

(bool) nexus file source starts from the last image

nxsopen = None

(bool) nexus file source keeps the file open

orderrois = None

(bool) fetch rois order enabled

overflowcolor = None

(str) json list with overflow color

refreshrate = None

(float) refresh rate

roiscolors = None

(str) json list with rois colors

sardana = None

(bool) sardana enabled

secautoport = None

(bool) find security stream port automatically

secport = None

(str) security stream port

secstream = None

(bool) security stream enabled

sendresults = None

(bool) send results to LavueController flag

sendrois = None

(bool) send rois to LavueController flag

showaddhisto = None

(bool) show color distribution additional histogram widget

showallrois = None

(bool) show all rois flag

showfilters = None

(bool) show filter widget

showframerate = None

(bool) show frame rate widget

showhighvaluemask = None

(bool) show high value mask widget

showhisto = None

(bool) show color distribution histogram widget

showlevels = None

(bool) show intensity levels widget

showmask = None

(bool) show mask widget

showmbuffer = None

(bool) show memory buffer widget

shownorm = None

(bool) show image normalization widget

shownormsf = None

(bool) show image normalization scaling factor widget

showoverflow = None

(bool) show intensity overflow widget

showrange = None

(bool) show range window widget

showscale = None

(bool) show intensity scale widget

showstats = None

(bool) show statistics widget

showsteps = None

(bool) show image step widget

showsub = None

(bool) show bakcground subtraction widget

showsubsf = None

(bool) show bakcground subtraction scaling factor widget

showtrans = None

(bool) show transformation widget

singlerois = None

(bool) set roi1, roi2, roi3, … when alias names are missing

sourcedisplay = None

(bool) store display parameters for specific sources

statswoscaling = None

(bool) statistics without intensity scaling

storegeometry = None

(bool) store detector geometry

timeout = None

(int) image source timeout in ms

toolpollinginterval = None

(float) tool polling interval is s

toolrefreshtime = None

(float) tool refresh rate time is s

toolwidgets = None

(str) json list with tool widget names

zeromask = None

(bool) zero mask enabled

zmqtopics = None

(list < str>) list of topics for ZMQ stream source

class lavuelib.configDialog.TableWidgetDragCheckBoxes(parent)[source]

Bases: PyQt5.QtWidgets.QTableWidget

TableWidget with drag and drop checkboxes

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
create(selected, available, itemnames=None)[source]

populates table

Parameters:
  • selected (list < str>) – all selected aliases
  • available (list < str>) – all available aliases
  • itemnames (dict < str, str>) – dictionary of alias names
dropEvent(event)[source]

replaces rows in the table

Parameters:event (pyqtgraph.QtCore.QEvent:) – drop event
getChecks(available)[source]

update checks in checkboxdata

Parameters:available (list < str>) – all available aliases
Returns:all selected aliases
Return type:list < str>

lavuelib.controllerClient module

tango lavue controller client

class lavuelib.controllerClient.ControllerClient(device)[source]

Bases: PyQt5.QtCore.QObject

lavue controller client

constructor

Parameters:device (str) – tango device name
beamCenterXChanged

(pyqtgraph.QtCore.pyqtSignal) beam Center X changed signal

beamCenterYChanged

(pyqtgraph.QtCore.pyqtSignal) beam Center Y changed signal

detectorDistanceChanged

(pyqtgraph.QtCore.pyqtSignal) detector distance changed signal

detectorROIsChanged

(pyqtgraph.QtCore.pyqtSignal) detector ROIs changed signal

device()[source]

provides tango device name

Returns:tango device name
Return type:str
energyChanged

(pyqtgraph.QtCore.pyqtSignal) energy changed signal

lavueStateChanged

(pyqtgraph.QtCore.pyqtSignal) lavueState changed signal

pixelSizeXChanged

(pyqtgraph.QtCore.pyqtSignal) pixel Size X changed signal

pixelSizeYChanged

(pyqtgraph.QtCore.pyqtSignal) pixel Size Y changed signal

subscribe()[source]

subscribe callback methods

unsubscribe()[source]

unsubscribe callback methods

writeAttribute(name, value)[source]

writes attribute value of device

Parameters:
  • name (str) – attribute name
  • value (any) – attribute value
lavuelib.controllerClient.TANGO = True

(bool) tango imported

class lavuelib.controllerClient.TangoCB(client, name, signal)[source]

Bases: object

tango attribute callback class

constructor

Parameters:
  • client (str) – tango controller client
  • name (str) – attribute name
  • signal (pyqtgraph.QtCore.pyqtSignal) – signal to emit
push_event(*args, **kwargs)[source]

callback method receiving the event

lavuelib.dataFetchThread module

data fetch thread

class lavuelib.dataFetchThread.DataFetchThread(datasource, alist, tid=0)[source]

Bases: lavuelib.omniQThread.OmniQThread

constructor

Parameters:
changeStatus(status)[source]

change connection status

Parameters:status (bool) – connection status
fetching()[source]

provides read flag

getTimeStamp()[source]

get time stamp

Returns:time stamp
Return type:int
isFetching()[source]

is datasource source connected

Returns:if datasource source connected
Return type:bool
newDataNameFetched

(pyqtgraph.QtCore.pyqtSignal) new data name signal

ready()[source]

continue acquisition

setDataSource(datasource)[source]

sets datasource :param datasource: datasource object :type datasource: lavuelib.imageSource.BaseSource

setTimeStamp(tmstamp)[source]

set time stamp

Parameters:tmstamp (int) – set timestamp
stop()[source]

stop the thread

class lavuelib.dataFetchThread.ExchangeList[source]

Bases: object

subclass for data caching

constructor

addData(name, data, metadata='')[source]

write data into exchange object

Parameters:
  • name (str) – image name
  • data (numpy.ndarray) – image data
  • metadata (str) – json dictionary with image metadata
readData()[source]

read data from exchange object

Returns:tuple of exchange object (name, data, metadata)
Return type:list <str, numpy.ndarray, str >
lavuelib.dataFetchThread.GLOBALREFRESHRATE = 0.1

(float) refresh rate in seconds

lavuelib.diffRangeDialog module

detector range widget

class lavuelib.diffRangeDialog.DiffRangeTabDialog(nranges=1, parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

diffractogram range widget class

constructort

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

azend = None

(float) end position of azimuth angle

azstart = None

(float) start position of azimuth angle

createGUI()[source]

create GUI

radend = None

(float) end position of radial coordinate

radstart = None

(float) start position of radial coordinate

radunitindex = None

(int) radial angle index

radunits = None

(list <unicode>) list of units

lavuelib.displayExtensions module

image display widget

class lavuelib.displayExtensions.BaseMarkExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

base mark extension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
name = None

(str) tool name

transpose()[source]

transposes Mark Position lines

updatePositionMark(xdata, ydata, scaled=False)[source]

updates the position mark

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
  • scaled (bool) – scaled flag
class lavuelib.displayExtensions.CenterExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
mouse_doubleclick(x, y, locked)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
  • locked (bool) – double click lock
mouse_position(x, y)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes Center lines

updateCenter(xdata, ydata)[source]

updates the image center

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
class lavuelib.displayExtensions.CutExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeCutRegion(_=None)[source]

changes the current roi region

currentCut()[source]

provides current cut id

Returns:cut id
Return type:int
cutCoords()[source]

provides cuts coordinates

Returns:cuts coordinates
Return type:list < [float, float, float, float] >
cutCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) cut coordinate changed signal

cutData(cid=None)[source]

provides the current cut data

Parameters:cid (int) – cut id
Returns:current cut data
Return type:numpy.ndarray
isCutsEnabled()[source]

provides flag cuts enabled

Returns:cut enabled flag
Return type:bool
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes Cuts

updateCuts(cid, coords)[source]

update Cuts

Parameters:
  • cid (int) – cut id
  • coords (list < [float, float, float, float] >) – cut coordinates
class lavuelib.displayExtensions.DisplayExtension(parent=None)[source]

Bases: PyQt5.QtCore.QObject

display extension for ImageDisplayWidget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
coordinates()[source]

returns coordinates

enabled()[source]

is extension enabled

Returns:is extension enabled
Return type:bool
mouse_click(x, y)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
mouse_doubleclick(x, y, locked)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
  • locked (bool) – double click lock
mouse_position(x, y)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
name = None

(str) extension name

refreshTime()[source]

provides refresh time

Returns:refresh time in seconds
Return type:float
scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
setRefreshTime(refreshtime)[source]

sets refresh time

Parameters:refreshtime (float) – refresh time in seconds
show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes subwidget

class lavuelib.displayExtensions.HandleWithSignals(pos, center, parent)[source]

Bases: pyqtgraph.graphicsItems.ROI.Handle

handle with signals

constructor

Parameters:
hoverEvent(ev)[source]

hover event

Parameters:ev (pyqtgraph.QtCore.QEvent:) – close event
hovered

(pyqtgraph.QtCore.pyqtSignal) hover event emitted

class lavuelib.displayExtensions.LockerExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
coordinates()[source]

returns coordinates

mouse_doubleclick(x, y, locked)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
  • locked (bool) – double click lock
mouse_position(x, y)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes locker lines

updateLocker(xdata, ydata)[source]

updates the locker position

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
class lavuelib.displayExtensions.MarkExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.BaseMarkExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
mouse_doubleclick(x, y, locked)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
  • locked (bool) – double click lock
mouse_position(x, y)[source]

sets vLine and hLine positions

Parameters:
  • x (float) – x coordinate
  • y (float) – y coordinate
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
class lavuelib.displayExtensions.MaximaExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
name = None

(str) tool name

setMaximaPos(positionlist, offset=None)[source]

sets maxima postions

Parameters:
  • positionlist (list < (float, float) >) – [(x1, y1), … , (xn, yn)]
  • offset ([ float, float]) – offset of position
show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes maxima

class lavuelib.displayExtensions.MeshExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeROIRegion(_=None)[source]

changes the current roi region

currentROI()[source]

provides current roi id

Returns:roi id
Return type:int
isROIsEnabled()[source]

provides flag rois enabled

Returns:roi enabled flag
Return type:bool
name = None

(str) tool name

roiCoords()[source]

provides rois coordinates

Returns:rois coordinates
Return type:list < [float, float, float, float] >
roiCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) roi coordinate changed signal

scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes ROIs

updateROIs(rid, coords)[source]

update ROIs

Parameters:
class lavuelib.displayExtensions.ROIExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
calcROIsum()[source]

calculates the current roi sum

Returns:sum roi value, roi id
Return type:(float, int)
calcROIsums()[source]

calculates all roi sums

Returns:sum roi value, roi id
Return type::obj:list < float >
changeROIRegion(_=None)[source]

changes the current roi region

currentROI()[source]

provides current roi id

Returns:roi id
Return type:int
isROIsEnabled()[source]

provides flag rois enabled

Returns:roi enabled flag
Return type:bool
name = None

(str) tool name

roiCoords()[source]

provides rois coordinates

Returns:rois coordinates
Return type:list < [float, float, float, float] >
roiCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) roi coordinate changed signal

scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
setColors(colors=None)[source]

sets colors

Parameters:colors (str) – json list of roi colors
Returns:change status
Return type:bool
show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes ROIs

updateROIs(rid, coords)[source]

update ROIs

Parameters:
class lavuelib.displayExtensions.RegionItem(points=None, pen='w', **args)[source]

Bases: pyqtgraph.graphicsItems.IsocurveItem.IsocurveItem

constructor

Parameters:
  • points (list < (float, float) >) – list of points
  • pen (pyqtgraph.QtGui.QPen) – qt pen
  • args (dict <str, any>) – more params
generatePath()[source]

generate QPainterPath

class lavuelib.displayExtensions.RegionsExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
currentRegion()[source]

provides current region id

Returns:region id
Return type:int
isRegionEnabled()[source]

provides flag regions enabled

Returns:region enabled flag
Return type:bool
name = None

(str) tool name

regionPoints()[source]

provides region coordinates

Returns:region coordinates
Return type:list < list < list < (float, float) > > >
regionPointsChanged

(pyqtgraph.QtCore.pyqtSignal) region points changed signal

scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
setColors(colors=None)[source]

sets colors

Parameters:colors (str) – json list of roi colors
Returns:change status
Return type:bool
show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
transpose()[source]

transposes Regions

updateRegions(points, rid=None)[source]

update Regions

Parameters:
class lavuelib.displayExtensions.SimpleLineROI(pos1, pos2, width=1e-05, **args)[source]

Bases: pyqtgraph.graphicsItems.ROI.LineROI

simple line roi

constructor

Parameters:
  • pos1 ([float, float]) – start position
  • pos2 ([float, float]) – end position
  • args (dict`<:obj:`str, any>) – dictionary with ROI parameters
getCoordinates()[source]

provides the roi coordinates

Parameters:trans (bool) – transposed flag
Returns:x1, y1, x2, y2 positions of the roi
Return type:[float, float, float, float]
class lavuelib.displayExtensions.TrackingExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.BaseMarkExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
class lavuelib.displayExtensions.VHBoundsExtension(parent=None)[source]

Bases: lavuelib.displayExtensions.DisplayExtension

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
name = None

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
updateHBounds(ydata1, ydata2)[source]

updates the horizontal bounds

Parameters:
  • ydata1 (float) – first y-pixel position
  • ydata2 (float) – second y-pixel position
updateVBounds(xdata1, xdata2)[source]

updates the vertical bounds

Parameters:
  • xdata1 (float) – first x-pixel position
  • xdata2 (float) – second x-pixel position

lavuelib.edDictDialog module

editable list dialog

class lavuelib.edDictDialog.EdDictDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

editable list dialog

constructor

Parameters:parent (QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

creates widget GUI

dirty = None

(bool) dirty flag

headers = None

(list <str>) table headers

newvalues = None

(list <str>) table headers

record = None

(dict <str, any>) data (name, value) dictionary

title = None

(str) dialog title

lavuelib.edDictDialog.logger = <Logger lavue (WARNING)>

(logging.Logger) logger object

lavuelib.edListDialog module

editable list dialog

class lavuelib.edListDialog.EdListDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

editable list dialog

constructor

Parameters:parent (QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

creates widget GUI

dirty = None

(bool) dirty flag

headers = None

(list <str>) table headers

record = None

(dict <str, any>) data (name, value) dictionary

title = None

(str) dialog title

lavuelib.edListDialog.logger = <Logger lavue (WARNING)>

(logging.Logger) logger object

lavuelib.filewriter module

Provides abstraction for file writer

class lavuelib.filewriter.FTAttribute(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTObject

virtual file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
dtype

attribute data type

Returns:attribute data type
Return type:str
read()[source]

read attribute value

Returns:python object
Return type:any
reopen()[source]

reopen attribute

shape

attribute shape

Returns:attribute shape
Return type:list < int >
write(o)[source]

write attribute value

Parameters:o (any) – python object
class lavuelib.filewriter.FTAttributeManager(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTObject

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
create(name, dtype, shape=None, overwrite=False)[source]

create a new attribute

Parameters:
  • name (str) – attribute name
  • dtype (str) – attribute type
  • shape (list`< :obj:`int>) – attribute shape
  • overwrite (bool) – overwrite flag
Returns:

attribute object

Return type:

FTAtribute

names()[source]

key values

Returns:attribute names
Return type:list <str>
reopen()[source]

reopen attribute

class lavuelib.filewriter.FTDataFilter(h5object=None, tparent=None)[source]

Bases: lavuelib.filewriter.FTObject

file tree data filter

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
filterid

getter for compression filter id

Returns:compression rate
Return type:int
options

getter for compression options

Returns:compression options
Return type:tuple <int>
rate

getter for compression rate

Returns:compression rate
Return type:int
reopen()[source]

reopen attribute

shuffle

getter for compression shuffle

Returns:compression shuffle
Return type:bool
class lavuelib.filewriter.FTDeflate(h5object=None, tparent=None)[source]

Bases: lavuelib.filewriter.FTDataFilter

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class lavuelib.filewriter.FTField(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTObject

file writer field

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
attributes

return the attribute manager

Returns:attribute manager
Return type:FTAttributeManager
dtype

field data type

Returns:field data type
Return type:str
grow(dim=0, ext=1)[source]

grow the field

Parameters:
  • dim (int) – growing dimension
  • dim – size of the grow
read()[source]

read the field value

Returns:h5 object
Return type:any
refresh()[source]

refresh the field

Returns:refreshed
Return type:bool
reopen()[source]

reopen attribute

shape

field shape

Returns:field shape
Return type:list < int >
size

field size

Returns:field size
Return type:int
write(o)[source]

write the field value

Parameters:o (any) – h5 object
class lavuelib.filewriter.FTFile(h5object, filename)[source]

Bases: lavuelib.filewriter.FTObject

file tree file

constructor

Parameters:
  • h5object (any) – h5 object
  • filename (str) – file name
  • writer (H5PYWriter or H5CppWriter) – writer module
classmethod currenttime()[source]

returns current time string

Returns:current time
Return type:str
default_field()[source]

field pointed by default attributes

Returns:field pointed by default attributes
Return type:FTField
flush()[source]

flash the data

hasswmr()[source]

if has swmr_mode

Returns:has swmr_mode
Return type:bool
name = None

(str) file name

readonly

check if file is readonly

Returns:readonly flag
Return type:bool
reopen(readonly=False, swmr=False, libver=None)[source]

reopen attribute

Parameters:
  • readonly (bool) – readonly flag
  • swmr (bool) – swmr flag
  • libver (str) – library version, default: ‘latest’
root()[source]

root object

Returns:parent object
Return type:FTGroup
class lavuelib.filewriter.FTGroup(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTObject

file tree group

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
attributes

return the attribute manager

Returns:attribute manager
Return type:FTAttributeManager
create_field(name, type_code, shape=None, chunk=None, dfilter=None)[source]

open a file tree element

Parameters:
  • n (str) – group name
  • type_code (str) – nexus field type
  • shape (list < int >) – shape
  • chunk (list < int >) – chunk
  • dfilter (FTDeflate) – filter deflater
Returns:

file tree field

Return type:

FTField

create_group(n, nxclass='')[source]

open a file tree element

Parameters:
  • n (str) – group name
  • nxclass (str) – group type
Returns:

file tree group

Return type:

FTGroup

create_virtual_field(name, layout, fillvalue=None)[source]

creates a virtual filed tres element

Parameters:
  • name (str) – group name
  • layout (H5CppFieldLayout) – virual field layout
  • fillvalue (int or np.ndarray) – fill value
exists(name)[source]

if child exists

Parameters:name (str) – child name
Returns:existing flag
Return type:bool
names()[source]

read the child names

Returns:h5 object
Return type:list <str>
open(name)[source]

open a file tree element

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject

open a file tree element as link

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject
reopen()[source]

reopen attribute

size

group size

Returns:group size
Return type:int
stepsperfile = None

(int) steps per file

class lavuelib.filewriter.FTHyperslab(offset=None, block=None, count=None, stride=None)[source]

Bases: object

hyperslab class

constructor

Parameters:
  • offset (tuple) – a list of offsets
  • block (tuple) – a list of blocks
  • count (tuple) – a list of counts
  • stride (tuple) – a list of strides

Bases: lavuelib.filewriter.FTObject

file tree link

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
refresh()[source]

refresh the link

Returns:refreshed
Return type:bool
reopen()[source]

reopen attribute

target_path

target path

Returns:target path
Return type:str
class lavuelib.filewriter.FTObject(h5object, tparent=None)[source]

Bases: object

virtual file tree object

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – tree parent
append(child)[source]

append child weakref

Parameters:tparent (FTObject) – tree parent
close()[source]

close element

h5object

provide object of native library

Returns:h5 object
Return type:any
is_valid

check if attribute is valid

Returns:valid flag
Return type:bool
parent

return the parent object

Returns:file tree group
Return type:FTGroup
reload()[source]

reload a list of valid children

class lavuelib.filewriter.FTTargetFieldView(h5object=None)[source]

Bases: lavuelib.filewriter.FTObject

target field view for VDS

constructor

Parameters:h5object (any) – h5 object
class lavuelib.filewriter.FTVirtualFieldLayout(h5object=None)[source]

Bases: lavuelib.filewriter.FTObject

virtual field layout

constructor

Parameters:h5object (any) – h5 object
add(key, source, sourcekey=None)[source]

add target field to layout

Parameters:
lavuelib.filewriter.create_file(filename, overwrite=False, **pars)[source]

create a new file

Parameters:
  • filename (str) – file name
  • overwrite (bool) – overwrite flag
  • pars (dict < str, str>) – parameters
Returns:

file object

Return type:

FTFile

lavuelib.filewriter.data_filter(parent=None)[source]

create deflate filter

Parameters:parent (FTObject) – parent object
Returns:deflate filter object
Return type:FTDeflate
lavuelib.filewriter.deflate_filter(parent=None)

create deflate filter

Parameters:parent (FTObject) – parent object
Returns:deflate filter object
Return type:FTDeflate
lavuelib.filewriter.first(array)[source]

get first element if the only

Parameters:array (any) – numpy array
Returns:first element of the array

get links

Parameters:parent (FTObject) – parent object
Returns:list of link objects
Return type:
obj:list <FTLink>

create link

Parameters:
  • target (str) – file name
  • parent (FTObject) – parent object
  • name (str) – link name
Returns:

link object

Return type:

FTLink

lavuelib.filewriter.load_file(membuffer, filename=None, readonly=False, **pars)[source]

load a file from memory byte buffer

Parameters:
Returns:

file objects

Return type:

H5PYFile or H5CppFile

lavuelib.filewriter.open_file(filename, readonly=False, **pars)[source]

open the new file

Parameters:
  • filename (str) – file name
  • readonly (bool) – readonly flag
  • pars (dict < str, str>) – parameters
Returns:

file object

Return type:

FTFile

lavuelib.filewriter.setwriter(wr)[source]

sets writer

Parameters:wr (H5PYWriter or H5CppWriter) – writer module
lavuelib.filewriter.target_field_view(filename, fieldpath, shape, dtype=None, maxshape=None, parent=None)[source]

create target field view for VDS

Parameters:
  • filename (str) – file name
  • fieldpath (str) – nexus field path
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
  • parent (FTObject) – parent object
Returns:

target field object

Return type:

FTTargetFieldView

lavuelib.filewriter.unlimited(parent=None)[source]

return dataspace UNLIMITED variable for the current writer module

Parameters:parent (FTObject) – parent object
Returns:dataspace UNLIMITED variable
Return type:h5cpp.dataspace.UNLIMITED or h5py.UNLIMITED
lavuelib.filewriter.virtual_field_layout(shape, dtype, maxshape=None, parent=None)[source]

creates a virtual field layout for a VDS file

Parameters:
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
  • parent (FTObject) – parent object
Returns:

virtual layout

Return type:

FTVirtualFieldLayout

lavuelib.filewriter.writerlock = <unlocked _thread.lock object>

(threading.Lock) writer module

lavuelib.filters module

set of image sources

class lavuelib.filters.BaseFilter(configuration=None)[source]

Bases: object

filter base class

constructor

Parameters:name – image name
initialize()[source]

initialize the filter

terminate()[source]

stop filter

class lavuelib.filters.FilterList(configlist=None)[source]

Bases: list

Filter list

constructor

Parameters:configlist (: list < [str , str] >) – list with filter configuration
appendFilters(configlist)[source]

appends filters

Parameters:configlist (: list < [str , str] >) – list with filter configuration
reset(configlist)[source]

reset filters

Parameters:configlist (: list < [str , str] >) – list with filter configuration

lavuelib.filtersGroupBox module

filter widget

class lavuelib.filtersGroupBox.FiltersGroupBox(parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Select how an image should be transformed.

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeView(showfilters=None)[source]

show or hide widgets

Parameters:showfilters (bool) – filter widget shown
filtersChanged

(pyqtgraph.QtCore.pyqtSignal) filter changed signal

setLabel(text)[source]

sets filter label

Parameters:text (str) – label text
setState(state)[source]

sets filter state

Parameters:tname (int) – filter state
setToolTip(text)[source]

sets filter label

Parameters:text (str) – tool tip text

lavuelib.geometryDialog module

detector geometry widget

class lavuelib.geometryDialog.GeometryDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

detector geometry widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

centerx = None

(float) x-coordinates of the center of the image

centery = None

(float) y-coordinates of the center of the image

createGUI()[source]

create GUI

detdistance = None

(float) detector distance in mm

energy = None

(float) energy in eV

pixelsizex = None

(float) pixel x-size in um

pixelsizey = None

(float) pixel y-size in um

lavuelib.gradientDialog module

gradient dialog

class lavuelib.gradientDialog.GradientDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

interval widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

name = None

(int) gradient name

lavuelib.h5cppwriter

Provides h5cpp file writer

class lavuelib.h5cppwriter.H5CppAttribute(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTAttribute

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
close()[source]

close attribute

dtype

field data type

Returns:field data type
Return type:str
is_valid

check if attribute is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

path = None

(str) object nexus path

read()[source]

read attribute value

Returns:python object
Return type:any
reopen()[source]

reopen attribute

shape

attribute shape

Returns:attribute shape
Return type:list < int >
write(o)[source]

write attribute value

Parameters:o (any) – python object
class lavuelib.h5cppwriter.H5CppAttributeManager(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTAttributeManager

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
close()[source]

close attribure manager

create(name, dtype, shape=None, overwrite=False)[source]

create a new attribute

Parameters:
  • name (str) – attribute name
  • dtype (str) – attribute type
  • shape (list < int >) – attribute shape
  • overwrite (bool) – overwrite flag
Returns:

attribute object

Return type:

H5CppAtribute

is_valid

check if link is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

names()[source]

key values

Returns:attribute names
Return type:list <str>
path = None

(str) object nexus path

reopen()[source]

reopen field

class lavuelib.h5cppwriter.H5CppDataFilter(h5object=None, tparent=None)[source]

Bases: lavuelib.filewriter.FTDataFilter

file tree deflate

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class lavuelib.h5cppwriter.H5CppDeflate(h5object=None, tparent=None)[source]

Bases: lavuelib.h5cppwriter.H5CppDataFilter

deflate filter

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class lavuelib.h5cppwriter.H5CppField(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTField

file tree file

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
attributes

return the attribute manager

Returns:attribute manager
Return type:H5CppAttributeManager
close()[source]

close field

dtype

field data type

Returns:field data type
Return type:str
grow(dim=0, ext=1)[source]

grow the field

Parameters:
  • dim (int) – growing dimension
  • dim – size of the grow
is_valid

check if field is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

path = None

(str) object nexus path

read()[source]

read the field value

Returns:h5 object
Return type:any
refresh()[source]

refresh the field

Returns:refreshed
Return type:bool
reopen()[source]

reopen field

shape

field shape

Returns:field shape
Return type:list < int >
size

field size

Returns:field size
Return type:int
write(o)[source]

write the field value

Parameters:o (any) – h5 object
class lavuelib.h5cppwriter.H5CppFile(h5object, filename)[source]

Bases: lavuelib.filewriter.FTFile

file tree file

constructor

Parameters:
  • h5object (any) – h5 object
  • filename (str) – file name
close()[source]

close file

flush()[source]

flash the data

is_valid

check if file is valid

Returns:valid flag
Return type:bool
path = None

(str) object nexus path

readonly

check if file is readonly

Returns:readonly flag
Return type:bool
reopen(readonly=False, swmr=False, libver=None)[source]

reopen file

Parameters:
  • readonly (bool) – readonly flag
  • swmr (bool) – swmr flag
  • libver (str) – library version, default: ‘latest’
root()[source]

root object

Returns:parent object
Return type:H5CppGroup
class lavuelib.h5cppwriter.H5CppGroup(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTGroup

file tree group

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – tree parent
class H5CppGroupIter(group)[source]

Bases: object

constructor

Parameters:group – group object
next()

the next attribute

Returns:attribute object
Return type:FTAtribute
attributes

return the attribute manager

Returns:attribute manager
Return type:H5CppAttributeManager
close()[source]

close group

create_field(name, type_code, shape=None, chunk=None, dfilter=None)[source]

open a file tree element

Parameters:
Returns:

file tree field

Return type:

H5CppField

create_group(n, nxclass=None)[source]

open a file tree element

Parameters:
  • n (str) – group name
  • nxclass (str) – group type
Returns:

file tree group

Return type:

H5CppGroup

create_virtual_field(name, layout, fillvalue=0)[source]

creates a virtual filed tres element

Parameters:
  • name (str) – field name
  • layout (H5CppFieldLayout) – virual field layout
  • fillvalue (int or np.ndarray) – fill value
exists(name)[source]

if child exists

Parameters:name (str) – child name
Returns:existing flag
Return type:bool
is_valid

check if field is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

names()[source]

read the child names

Returns:h5 object
Return type:list <str>
open(name)[source]

open a file tree element

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject

open a file tree element as link

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject
path = None

(str) object nexus path

reopen()[source]

reopen group

size

group size

Returns:group size
Return type:int

Bases: lavuelib.filewriter.FTLink

file tree link

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
close()[source]

close group

classmethod getfilename(obj)[source]

provides a filename from h5 node

Parameters:obj (FTObject) – h5 node
Returns:file name
Return type:str
is_valid

check if link is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

path = None

(str) object nexus path

refresh()[source]

refresh the field

Returns:refreshed
Return type:bool
reopen()[source]

reopen field

target_path

target path

Returns:target path
Return type:str
class lavuelib.h5cppwriter.H5CppTargetFieldView(filename, fieldpath, shape, dtype=None, maxshape=None)[source]

Bases: lavuelib.filewriter.FTTargetFieldView

target field for VDS

constructor

Parameters:
  • filename (str) – file name
  • fieldpath (str) – nexus field path
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
fieldpath = None

(str) nexus field path

filename = None

(str) directory and file name

maxshape = None

(list < int >) maximal shape

shape = None

(list < int >) shape

class lavuelib.h5cppwriter.H5CppVirtualFieldLayout(h5object, shape, dtype=None, maxshape=None)[source]

Bases: lavuelib.filewriter.FTVirtualFieldLayout

virtual field layout

constructor

Parameters:
  • h5object (any) – h5 object
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
add(key, source, sourcekey=None, shape=None)[source]

add target field to layout

Parameters:
  • key (tuple) – slide
  • source (H5PYTargetFieldView) – target field view
  • sourcekey (tuple) – slide or selection
  • shape (tuple) – target shape in the layout
maxshape = None

(list < int >) maximal shape

shape = None

(list < int >) shape

lavuelib.h5cppwriter.create_file(filename, overwrite=False, libver=None, swmr=None)[source]

create a new file

Parameters:
  • filename (str) – file name
  • overwrite (bool) – overwrite flag
  • libver (str) – library version: ‘lastest’ or ‘earliest’
Returns:

file object

Return type:

H5CppFile

lavuelib.h5cppwriter.data_filter()[source]

create deflate filter

Returns:deflate filter object
Return type:H5CppDataFilter
lavuelib.h5cppwriter.deflate_filter()

create deflate filter

Returns:deflate filter object
Return type:H5CppDataFilter

get links

Parameters:parent (FTObject) – parent object
Returns:list of link objects
Returns:link object
Return type:
obj:list <H5CppLink>
lavuelib.h5cppwriter.is_image_file_supported()[source]

provides if loading of image files are supported

Retruns:if loading of image files are supported
Return type:bool
lavuelib.h5cppwriter.is_unlimited_vds_supported()[source]

provides if unlimited vds are supported

Retruns:if unlimited vds are supported
Return type:bool
lavuelib.h5cppwriter.is_vds_supported()[source]

provides if vds are supported

Retruns:if vds are supported
Return type:bool

create link

Parameters:
  • target (str) – nexus path name
  • parent (FTObject) – parent object
  • name (str) – link name
Returns:

link object

Return type:

H5CppLink

lavuelib.h5cppwriter.load_file(membuffer, filename=None, readonly=False, **pars)[source]

load a file from memory byte buffer

Parameters:
Returns:

file object

Return type:

H5PYFile

lavuelib.h5cppwriter.nptype(dtype)[source]

converts to numpy types

Parameters:dtype (str) – h5 writer type type
Returns:nupy type
Return type:str
lavuelib.h5cppwriter.open_file(filename, readonly=False, libver=None, swmr=False)[source]

open the new file

Parameters:
  • filename (str) – file name
  • readonly (bool) – readonly flag
  • libver (str) – library version: ‘lastest’ or ‘earliest’
Returns:

file object

Return type:

H5CppFile

lavuelib.h5cppwriter.target_field_view(filename, fieldpath, shape, dtype=None, maxshape=None)[source]

create target field view for VDS

Parameters:
  • filename (str) – file name
  • fieldpath (str) – nexus field path
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
Returns:

target field view object

Return type:

H5CppTargetFieldView

lavuelib.h5cppwriter.unlimited(parent=None)[source]

return dataspace UNLIMITED variable for the current writer module

Parameters:parent (FTObject) – parent object
Returns:dataspace UNLIMITED variable
Return type:h5cpp.dataspace.UNLIMITED
lavuelib.h5cppwriter.unlimited_selection(sel, shape)[source]

checks if hyperslab is unlimited

Parameters:
  • sel (filewriter.FTHyperslab) – hyperslab selection
  • shape (list) – give shape
Returns:

if hyperslab is unlimited list

Return type:

list <bool>

lavuelib.h5cppwriter.virtual_field_layout(shape, dtype, maxshape=None)[source]

creates a virtual field layout for a VDS file

Parameters:
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
Returns:

virtual layout

Return type:

H5CppVirtualFieldLayout

lavuelib.h5pywriter

Provides h5py file writer

class lavuelib.h5pywriter.H5PYAttribute(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTAttribute

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
close()[source]

close attribute

dtype

attribute data type

Returns:attribute data type
Return type:str
is_valid

check if field is valid

Returns:valid flag
Return type:bool
read()[source]

read attribute value

Returns:python object
Return type:any
reopen()[source]

reopen attribute

shape

attribute shape

Returns:attribute shape
Return type:list < int >
write(o)[source]

write attribute value

Parameters:o (any) – python object
class lavuelib.h5pywriter.H5PYAttributeManager(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTAttributeManager

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class H5PYAttrIter(manager)[source]

Bases: object

constructor

Parameters:manager (H5PYAttributeManager) – attribute manager
next()

the next attribute

Returns:attribute object
Return type:FTAtribute
close()[source]

close attribure manager

create(name, dtype, shape=None, overwrite=False)[source]

create a new attribute

Parameters:
  • name (str) – attribute name
  • dtype (str) – attribute type
  • shape (list < int >) – attribute shape
  • overwrite (bool) – overwrite flag
Returns:

attribute object

Return type:

H5PYAtribute

is_valid

check if link is valid

Returns:valid flag
Return type:bool
name = None

(str) object name

names()[source]

key values

Returns:attribute names
Return type:list <str>
path = None

(str) object nexus path

reopen()[source]

reopen field

class lavuelib.h5pywriter.H5PYDataFilter(h5object=None, tparent=None)[source]

Bases: lavuelib.filewriter.FTDataFilter

file tree data filter

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class lavuelib.h5pywriter.H5PYDeflate(h5object=None, tparent=None)[source]

Bases: lavuelib.h5pywriter.H5PYDataFilter

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class lavuelib.h5pywriter.H5PYField(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTField

file writer field

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
attributes

return the attribute manager

Returns:attribute manager
Return type:H5PYAttributeManager
close()[source]

close field

dtype

field data type

Returns:field data type
Return type:str
grow(dim=0, ext=1)[source]

grow the field

Parameters:
  • dim (int) – growing dimension
  • dim – size of the grow
is_valid

check if group is valid

Returns:valid flag
Return type:bool
read()[source]

read the field value

Returns:h5 object
Return type:any
refresh()[source]

refresh the field

Returns:refreshed
Return type:bool
reopen()[source]

reopen field

shape

field shape

Returns:field shape
Return type:list < int >
size

field size

Returns:field size
Return type:int
write(o)[source]

write the field value

Parameters:o (any) – h5 object
class lavuelib.h5pywriter.H5PYFile(h5object, filename)[source]

Bases: lavuelib.filewriter.FTFile

file tree file

constructor

Parameters:
  • h5object (any) – h5 object
  • filename (str) – file name
close()[source]

close file

flush()[source]

flash the data

hasswmr()[source]

if has swmr_mode

Returns:has swmr_mode
Return type:bool
is_valid

check if group is valid

Returns:valid flag
Return type:bool
path = None

(str) object nexus path

readonly

check if file is readonly

Returns:readonly flag
Return type:bool
reopen(readonly=False, swmr=False, libver=None)[source]

reopen file

Parameters:
  • readonly (bool) – readonly flag
  • swmr (bool) – swmr flag
  • libver (str) – library version, default: ‘latest’
root()[source]

root object

Returns:parent object
Return type:H5PYGroup
class lavuelib.h5pywriter.H5PYGroup(h5object, tparent=None)[source]

Bases: lavuelib.filewriter.FTGroup

file tree group

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
class H5PYGroupIter(group)[source]

Bases: object

constructor

Parameters:group – group object
next()

the next attribute

Returns:attribute object
Return type:FTAtribute
attributes

return the attribute manager

Returns:attribute manager
Return type:H5PYAttributeManager
close()[source]

close group

create_field(name, type_code, shape=None, chunk=None, dfilter=None)[source]

creates a field tree element

Parameters:
  • name (str) – group name
  • type_code (str) – nexus field type
  • shape (list < int >) – shape
  • chunk (list < int >) – chunk
  • dfilter (H5PYDataFilter) – filter deflater
Returns:

file tree field

Return type:

H5PYField

create_group(n, nxclass='')[source]

open a file tree element

Parameters:
  • n (str) – group name
  • nxclass (str) – group type
Returns:

file tree group

Return type:

H5PYGroup

create_virtual_field(name, layout, fillvalue=None)[source]

creates a virtual filed tres element

Parameters:
  • name (str) – group name
  • layout (H5PYFieldLayout) – virual field layout
  • fillvalue (int) – fill value
exists(name)[source]

if child exists

Parameters:name (str) – child name
Returns:existing flag
Return type:bool
is_valid

check if group is valid

Returns:valid flag
Return type:bool
names()[source]

read the child names

Returns:h5 object
Return type:list <str>
open(name)[source]

open a file tree element

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject

open a file tree element as link

Parameters:name (str) – element name
Returns:file tree object
Return type:FTObject
reopen()[source]

reopen file

size

group size

Returns:group size
Return type:int

Bases: lavuelib.filewriter.FTLink

file tree link

constructor

Parameters:
  • h5object (any) – h5 object
  • tparent (FTObject) – treee parent
close()[source]

close group

classmethod getfilename(obj)[source]

provides a filename from h5 node

Parameters:obj (FTObject) – h5 node
Returns:file name
Return type:str
is_valid

check if link is valid

Returns:valid flag
Return type:bool
read()[source]

read object value

Returns:valid flag
Return type:bool
refresh()[source]

refresh the field

Returns:refreshed
Return type:bool
reopen()[source]

reopen field

setname(name)[source]
target_path

target path

Returns:target path
Return type:str
class lavuelib.h5pywriter.H5PYTargetFieldView(h5object, shape)[source]

Bases: lavuelib.filewriter.FTTargetFieldView

target field view for VDS

constructor

Parameters:
  • h5object (any) – h5 object
  • shape (list < int >) – shape
shape = None

(list < int >) shape

class lavuelib.h5pywriter.H5PYVirtualFieldLayout(h5object, shape)[source]

Bases: lavuelib.filewriter.FTVirtualFieldLayout

virtual field layout

constructor

Parameters:
  • h5object (any) – h5 object
  • shape (list < int >) – shape
add(key, source, sourcekey=None, shape=None)[source]

add target field to layout

Parameters:
shape = None

(list < int >) shape

lavuelib.h5pywriter.create_file(filename, overwrite=False, **pars)[source]

create a new file

Parameters:
  • filename (str) – file name
  • overwrite (bool) – overwrite flag
  • pars (dict < str, str>) – parameters
Returns:

file object

Return type:

H5PYFile

lavuelib.h5pywriter.data_filter()[source]

create deflate filter

Returns:deflate filter object
Return type:H5PYDataFilter
lavuelib.h5pywriter.deflate_filter()

create deflate filter

Returns:deflate filter object
Return type:H5PYDataFilter

get links

Parameters:parent (FTObject) – parent object
Returns:list of link objects
Returns:link object
Return type:
obj:list <H5PYLink>
lavuelib.h5pywriter.is_image_file_supported()[source]

provides if loading of image files are supported

Retruns:if loading of image files are supported
Return type:bool
lavuelib.h5pywriter.is_mbs_supported()[source]

provides if MultiBlockSlice are supported

Retruns:if MultiBlockSlice are supported
Return type:bool
lavuelib.h5pywriter.is_strings_as_bytes()[source]

provides if string read to bytes

Retruns:if string read to bytes
Return type:bool
lavuelib.h5pywriter.is_unlimited_vds_supported()[source]

provides if unlimited vds are supported

Retruns:if unlimited vds are supported
Return type:bool
lavuelib.h5pywriter.is_vds_supported()[source]

provides if VDS are supported

Retruns:if VDS are supported
Return type:bool

create link

Parameters:
  • target (str) – file name
  • parent (FTObject) – parent object
  • name (str) – link name
Returns:

link object

Return type:

H5PYLink

lavuelib.h5pywriter.load_file(membuffer, filename=None, readonly=False, **pars)[source]

load a file from memory byte buffer

Parameters:
Returns:

file object

Return type:

H5PYFile

lavuelib.h5pywriter.nptype(dtype)[source]

converts to numpy types

Parameters:dtype (str) – h5 writer type type
Returns:nupy type
Return type:str
lavuelib.h5pywriter.open_file(filename, readonly=False, **pars)[source]

open the new file

Parameters:
  • filename (str) – file name
  • readonly (bool) – readonly flag
  • pars (dict < str, str>) – parameters
Returns:

file object

Return type:

H5PYFile

lavuelib.h5pywriter.target_field_view(filename, fieldpath, shape, dtype=None, maxshape=None)[source]

create target field view for VDS

Parameters:
  • filename (str) – file name
  • fieldpath (str) – nexus field path
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
Returns:

target field view object

Return type:

FTTargetFieldView

lavuelib.h5pywriter.unlimited(parent=None)[source]

return dataspace UNLIMITED variable for the current writer module

Parameters:parent (FTObject) – parent object
Returns:dataspace UNLIMITED variable
Return type:h5py.h5s.UNLIMITED
lavuelib.h5pywriter.unlimited_selection(sel, shape)[source]

checks if hyperslab is unlimited

Parameters:
  • sel (filewriter.FTHyperslab) – hyperslab selection
  • shape (list) – give shape
Returns:

if hyperslab is unlimited list

Return type:

list <bool>

lavuelib.h5pywriter.virtual_field_layout(shape, dtype, maxshape=None)[source]

creates a virtual field layout for a VDS file

Parameters:
  • shape (list < int >) – shape
  • dtype (str) – attribute type
  • maxshape (list < int >) – shape
Returns:

virtual layout

Return type:

FTVirtualFieldLayout

lavuelib.helpForm

help widget

class lavuelib.helpForm.HelpForm(page, parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

constructor

Parameters:
  • page (str) – the starting html page
  • parent (pyqtgraph.QtCore.QObject) – parent widget
createActions()[source]

creates actions and sets the command pool and stack

createGUI()[source]

creates dialogs for help dialog

updatePageTitle()[source]

resets the __pageLabel withg the document title

lavuelib.hidraServerList module

A list of possible hidra servers. Take your pick.

lavuelib.hidraServerList.HIDRASERVERLIST = {'p08': ['haspp08pil100.desy.de', 'haspp08perk01.desy.de'], 'p09': ['haspp09pilatus.desy.de'], 'p10': ['haspp10pilatus.desy.de'], 'p11': ['haspp11pilatus.desy.de'], 'pool': ['haspilatus100k.desy.de']}

(dict < str, list <str> >) server dictionary

lavuelib.highValueMaskWidget module

mask widget

class lavuelib.highValueMaskWidget.HighValueMaskWidget(parent=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Define and apply masking of the displayed image.

constructor

Parameters:
applyStateChanged

(pyqtgraph.QtCore.pyqtSignal) apply state change signal

mask()[source]

provides the image mask high value

Returns:high pixel value for masking
Return type:str
maskHighValueChanged

(pyqtgraph.QtCore.pyqtSignal) mask high value changed signal

noValue()[source]

unchecks the apply checkbox and clear the file display

setDisplayedValue(value)[source]

sets displayed high pixel value

Parameters:name (str) – high pixel value
setMask(value)[source]

sets the image mask high value

Parameters:fname (str) – high pixel value for masking

lavuelib.histogramWidget module

Horizontal HistogramWidget

class lavuelib.histogramWidget.HistogramHLUTWidget(parent=None, bins=None, step=None, *args, **kargs)[source]

Bases: pyqtgraph.widgets.GraphicsView.GraphicsView

Horizontal HistogramWidget

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • bins (str) – bins edges algorithm for histogram, default: ‘auto’
  • step (str or int) – data step for calculation of histogram levels, default: ‘auto’
  • args (list < any>) – HistogramHLUTItem parameters list
  • kargs (dict < str, any>) – HistogramHLUTItem parameter dictionary
item = None

(HistogramHLUTItem) histogram item

setAutoFactor(factor)[source]

sets auto level factor

Parameters:factor (float) – auto level factor of maximal peak
setBins(bins)[source]

sets bins edges algorithm for histogram

Parameters:channel (str) – bins edges algorithm for histogram
setStep(step)[source]

sets image step data for algorithm of histogram

Parameters:channel (int) – image step data for algorithm of histogram
sizeHint()[source]

sets size hint

lavuelib.imageDisplayWidget module

image display widget

class lavuelib.imageDisplayWidget.AxesParameters[source]

Bases: object

axes parameters

constructor

enabled = None

(bool) enabled flag

scale = None

(tuple <float, float> ) image scale (x,y)

xtext = None

(str) label of x-axis

xunits = None

(str) units of x-axis

ytext = None

(str) label of y-axis

yunits = None

(str) units of y-axis

class lavuelib.imageDisplayWidget.ImageDisplayWidget(parent=None)[source]

Bases: pyqtgraph.widgets.GraphicsLayoutWidget.GraphicsLayoutWidget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
addExtensions(extlist)[source]

provides viewbox :param extlist: extension list :type extlist: list < DisplayExtension >

aspectLockedToggled

(pyqtgraph.QtCore.pyqtSignal) aspect locked toggled signal

autoRange()[source]

sets auto range

axestext()[source]

return axes text :returns: x,y text :rtype: (str, str)

axesunits()[source]

return axes units :returns: x,y units :rtype: (str, str)

currentData()[source]

provides the data

Returns:current data
Return type:numpy.ndarray
currentIntensity()[source]

provides intensity for current mouse position

Returns:(x position, y position, pixel intensity, x position, y position)
Return type:(float, float, float, float, float)
descaledxy(x, y, useraxes=True)[source]

provides scaled x,y positions

Parameters:
  • x (float) – x pixel coordinate
  • y (float) – y pixel coordinate
  • useraxes (bool) – use user scaling
Returns:

scaled x,y position

Return type:

(float, float)

emitAspectLockedToggled(status)[source]

emits aspectLockedToggled

Parameters:status (bool) – aspectLockedToggled status
extension(name)[source]

provides viewbox :param name: extension name :type name: str :rtype: DisplayExtension :returns: display extension

extensions()[source]

provides extension names

Return type:list
Returns:extension names
gradientColors()[source]

gets gradientcolors on/off

Returns:True for on and False for off
Return type:bool
image(iid=0)[source]

provides imageItem object

Parameters:iid (int) – image id
Returns:image object
Return type:pyqtgraph.imageItem.ImageItem
levelMode()[source]

gets level mode

Returns:level mode, i.e. mono or rgba
Return type:str
mouseImageDoubleClicked

(pyqtgraph.QtCore.pyqtSignal) mouse double clicked

mouseImagePositionChanged

(pyqtgraph.QtCore.pyqtSignal) mouse position changed signal

mouseImageSingleClicked

(pyqtgraph.QtCore.pyqtSignal) mouse single clicked

mouse_click(event)[source]

updates image widget after mouse click

Parameters:event (pyqtgraph.QtCore.QEvent) – mouse click event
mouse_position(event=None)[source]

updates image widget after mouse position change

Parameters:event (pyqtgraph.QtCore.QEvent) – mouse move event
rangeWindowEnabled()[source]

provide info if range window enabled

Returns:range window enabled
Return type:bool
rangeWindowScale()[source]

provide info about range window sclae

Returns:range window scale
Return type:float
rawData()[source]

provides the raw data

Returns:current raw data
Return type:numpy.ndarray
rgb()[source]

gets RGB on/off

Returns:True for on and False for off
Return type:bool
scale(useraxes=True, noNone=False)[source]

provides scale and position of the axes

Parameters:
  • useraxes (bool) – use user scaling
  • noNone (bool) – return values without None
Return type:

[int, int, int, int]

Returns:

[posx, posy, scalex, scaley]

scaledxy(x, y, useraxes=True)[source]

provides scaled x,y positions

Parameters:
  • x (float) – x pixel coordinate
  • y (float) – y pixel coordinate
  • useraxes (bool) – use user scaling
Returns:

scaled x,y position

Return type:

(float, float)

scaling()[source]

provides scaling type

Returns:scaling type
Return type:str
scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
setAspectLocked(flag)[source]

sets aspectLocked

Parameters:status (bool) – state to set
Returns:old state
Return type:bool
setAutoDownSample(autodownsample)[source]

sets auto levels

Parameters:autolevels (bool) – auto down sample enabled
setAutoLevels(autolevels)[source]

sets auto levels

Parameters:autolevels (bool) – auto levels enabled
setDisplayChannelLevels(levels=None)[source]

sets maximum intensity levels

Parameters:levels (list < (:obj`float`:, :obj`float`:)>) – channel intensity levels
setDisplayMaxLevel(level=None)[source]

sets maximum intensity level

Parameters:level (float) – maximum intensity
setDisplayMinLevel(level=None)[source]

sets minimum intensity level

Parameters:level (float) – minimum intensity
setDoBFSubtraction(state)[source]

sets do brightfield subtraction flag

Parameters:status (bool) – do brightfield subtraction flag
setDoBkgSubtraction(state)[source]

sets do background subtraction flag

Parameters:status (bool) – do background subtraction flag
setDoubleClickLock(status=True)[source]

sets double click lock :param status: status flag :type status: bool

setGradientColors(status=True)[source]

sets gradientcolors on/off

Parameters:status (bool) – True for on and False for off
setLevelMode(levelmode=True)[source]

sets levelmode

Parameters:levelmode (str) – level mode, i.e. mono or rgba
setOverflowColor(color)[source]

sets item color

Parameters:color (str) – json list of overflow color
setScalingType(scalingtype)[source]

sets intensity scaling types

Parameters:scalingtype (str) – intensity scaling type
setStatsWOScaling(status)[source]

sets statistics without scaling flag

Parameters:status (bool) – statistics without scaling flag
Returns:change status
Return type:bool
setSubWidgets(parameters)[source]

set subwidget properties

Parameters:parameters (lavuelib.toolWidget.ToolParameters) – tool parameters
setTicks()[source]

launch axes widget

Returns:apply status
Return type:bool
setToolScale(position=None, scale=None)[source]

set axes scales

Parameters:
  • position ([float, float]) – start position of axes
  • scale ([float, float]) – scale axes
  • update – update scales on image
setTransformations(transpose, leftrightflip, updownflip, orgtranspose)[source]

sets coordinate transformations

Parameters:
  • transpose (bool) – transpose coordinates flag
  • leftrightflip (bool) – left-right flip coordinates flag
  • updownflip (bool) – up-down flip coordinates flag
  • orgtranspose (bool) – selected transpose coordinates flag
setViewRange(rangelist)[source]

set view range values

Parameters:rangelist (str) – xmin,ymin,xsize,ysize
setrgb(status=True)[source]

sets RGB on/off

Parameters:status (bool) – True for on and False for off
transformations()[source]

povides coordinates transformations

Returns:transpose, leftrightflip, updownflip flags, original transpose
Return type:(bool, bool, bool)
updateImage(img=None, rawimg=None, maskimg=None)[source]

updates the image to display

Parameters:
updateMetaData(axisscales=None, axislabels=None, rescale=False)[source]

update Metadata informations

Parameters:
updateTicks(record)[source]

update Ticks values

Parameters:record (dict`<:obj:`str, any>) – dict record with the tick parameters: “position” : [x, y] “scale” : [sx, sy] “xtext” : xlabel “ytext” : ylabel “xunits” : xunits “yunits” : yunits
viewRange()[source]

get view range values

Returns:xmin,ymin,xsize,ysize
Rtype rangelist:
 str
viewbox()[source]

provides viewbox :rtype: pyqtgraph.ViewBox :returns: viewbox

class lavuelib.imageDisplayWidget.IntensityParameters[source]

Bases: object

intensity parameters

constructor

dobfsubtraction = None

(bool) do brightfield substraction

dobkgsubtraction = None

(bool) do background substraction

scaling = None

(str) intensity scaling

statswoscaling = None

(bool) calculate statistics without scaling

class lavuelib.imageDisplayWidget.SafeImageItem(*args, **kargs)[source]

Bases: pyqtgraph.graphicsItems.ImageItem.ImageItem

Image item which caught exceptions in paint

constructor

Parameters:
  • args (list < any>) – ImageItem parameters list
  • kargs (dict < str, any>) – ImageItem parameter dictionary
paint(p, *args)[source]

safe paint method

Parameters:
  • p (PyQt5.QtGui.QPainter) – painter
  • args (list < any>) – ImageItem parameters list
class lavuelib.imageDisplayWidget.TransformationParameters[source]

Bases: object

transformation parameters

constructor

leftrightflip = None

(bool) left-right flip coordinates flag

orgtranspose = None

(bool) transpose coordinates flag

transpose = None

(bool) transpose coordinates flag

updownflip = None

(bool) up-down flip coordinates flag

lavuelib.imageField

configuration widget

class lavuelib.imageField.ImageField(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

field = None

(str) selected field

fields = None

(dict <str, dict <str, any>>) image field dictionary

frame = None

(int) frame

growing = None

(int) growing dimension

lavuelib.imageFileHandler module

this a simple file handler that loads image files and delivers just the actual array

class lavuelib.imageFileHandler.CBFLoader[source]

Bases: object

CBF loader

classmethod load(flbuffer)[source]

loads CBF file image data into numpy array

Parameters:flbuffer (numpy.ndarray) – numpy array with CBF file image data
Returns:image data
Return type:numpy.ndarray
classmethod metadata(flbuffer, premeta=None)[source]

extract header_contents from CBF file image data

Parameters:
Returns:

metadata dictionary

Return type:

numpy.ndarray

lavuelib.imageFileHandler.FABIO = True

(bool) fabio can be imported

class lavuelib.imageFileHandler.ImageFileHandler(fname)[source]

Bases: object

Simple file handler class. Reads image from file and returns the numpy array.

constructor

Parameters:fname (str) – file name
getImage()[source]

provides the image data

Returns:image data
Return type:numpy.ndarray
getMetaData()[source]

provides the image metadata

Returns:JSON dictionary with image metadata
Return type:str
class lavuelib.imageFileHandler.NexusFieldHandler(fname=None, writer=None)[source]

Bases: object

Nexus file handler class. Reads image from file and returns the numpy array.

constructor

Parameters:
  • fname (str) – file name
  • writer (str) – h5 writer module: “h5cpp” or “h5py”
classmethod extract(value)[source]
findImageFields()[source]

provides a dictionary with of all image fields

Returns:dictionary of the field names and the field objects
Return type:dict <str, dict <str, any>>
frombuffer(membuffer, fname=None, writer=None)[source]

constructor

Parameters:
  • membuffer (bytes or io.BytesIO) – memory buffer
  • fname (str) – file name
  • writer (str) – h5 writer module: “h5py” or “h5py”
classmethod getFrameCount(node, growing=0, refresh=True)[source]

provides the last frame number

Parameters:
Returns:

a number of frames

Return type:

int

classmethod getImage(node, frame=-1, growing=0, refresh=True)[source]

parses the field and add it into the description list

Parameters:
Returns:

get the image

Return type:

numpy.ndarray

classmethod getMetaData(node, mdata=None, maxrec=4)[source]

provides the image metadata

Returns:JSON dictionary with image metadata
Return type:str
getNode(field=None)[source]

get node :param field: field path :type field: str :returns: nexus field node :rtype: lavuelib.filewriter.FTField

lavuelib.imageFileHandler.PILLOW = True

(bool) PIL can be imported

class lavuelib.imageFileHandler.TIFLoader[source]

Bases: object

TIF loader

classmethod load(flbuffer)[source]

loads TIF file image data into numpy array

Parameters:flbuffer (numpy.ndarray) – numpy array with TIF file image data
Returns:image data
Return type:numpy.ndarray
lavuelib.imageFileHandler.WRITERS = {'h5cpp': <module 'lavuelib.h5cppwriter' from '/home/jkotan/ndts/lavue/lavuelib/h5cppwriter.py'>, 'h5py': <module 'lavuelib.h5pywriter' from '/home/jkotan/ndts/lavue/lavuelib/h5pywriter.py'>}

(dict <str, module> ) nexus writer modules

lavuelib.imageNexusExporter module

image Nexus exporter

class lavuelib.imageNexusExporter.ImageNexusExporter(item)[source]

Bases: pyqtgraph.exporters.Exporter.Exporter

NeXus Raw Image Exporter

constructor

Parameters:
  • item – image item
  • item
    class:pyqtgraph.PlotItem or pyqtgraph.GraphicsScene
Name = 'NeXus Raw Image'
allowCopy = False
export(fileName=None)[source]

export data image to NeXus file

Parameters:fileName – output file name
Rtype fileName:str
parameters()[source]
Returns:exporter parameters
Return type:pyqtgraph.parametertree.Parameter
params = None

(pyqtgraph.parametertree.Parameter) exporter parameters

windows = []

lavuelib.imageSource module

set of image sources

lavuelib.imageSource.ASAPO = True

(bool) asapo imported

class lavuelib.imageSource.ASAPOSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

asapo image source

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
getMetaData()[source]

get metadata

Returns:dictionary with metadata
Return type:dict <str, any>
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
class lavuelib.imageSource.BaseSource(timeout=None)[source]

Bases: object

source base class

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

errormessage = None

(str) errormessage

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
getMetaData()[source]

get metadata

Returns:dictionary with metadata
Return type:dict <str, any>
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
setTimeOut(timeout)[source]

set timeout

Parameters:timeout (int) – timeout in ms
class lavuelib.imageSource.DATAARRAYdecoder[source]

Bases: object

DATA ARRAY LIMA decoder

constructor

Brief:It clears the local variables
decode()[source]

provides the decoded data

Returns:the decoded data if data was loaded
Return type:numpy.ndarray
dtype = None

(str) data type

format = None

(str) decoder format

frameNumber()[source]

no data

load(data)[source]

loads encoded data

Parameters:data ([str, str]) – encoded data
name = None

(str) decoder name

shape()[source]

provides the data shape

Returns:the data shape if data was loaded
Return type:list <int >
steps()[source]

provides the data steps

Returns:the data steps if data was loaded
Return type:list <int >
class lavuelib.imageSource.DOOCSPropSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as IMAGE DOOCS property

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
class lavuelib.imageSource.EpicsPVSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as Epics Process variable

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
class lavuelib.imageSource.FixTestSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as Tango attributes describing an image file name and its directory

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
lavuelib.imageSource.HIDRA = True

(bool) hidra imported

class lavuelib.imageSource.HTTPSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as HTTP request response

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
class lavuelib.imageSource.HiDRASource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

hidra image source

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
class lavuelib.imageSource.NXSFileSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as Tango attributes describing an image file name and its directory

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
lavuelib.imageSource.PILLOW = True

(bool) PIL imported

lavuelib.imageSource.PYDOOCS = False

(bool) pydoocs imported

lavuelib.imageSource.PYEPICS = False

(bool) pyepics imported

lavuelib.imageSource.PYFAI = True

(bool) pyFAI imported

lavuelib.imageSource.PYTG_BUG_213 = False

(bool) PyTango bug #213 flag related to EncodedAttributes in python3

lavuelib.imageSource.PYTINE = True

(bool) PyTine imported

lavuelib.imageSource.REQUESTS = True

(bool) requests imported

lavuelib.imageSource.TANGO = True

(bool) tango imported

class lavuelib.imageSource.TangoAttrSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as IMAGE Tango attribute

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
class lavuelib.imageSource.TangoEventsCB(client, name, mutex)[source]

Bases: object

tango attribute callback class

constructor

Parameters:
  • client (str) – tango controller client
  • name (str) – attribute name
  • mutex – mutex lock for CB
push_event(event_data)[source]

callback method receiving the event

class lavuelib.imageSource.TangoEventsSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as IMAGE Tango attribute

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

fresh = None

(bool) fresh attribute flag

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
reading = None

(bool) reading flag

class lavuelib.imageSource.TangoFileSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as Tango attributes describing an image file name and its directory

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
class lavuelib.imageSource.TangoReadyEventsCB(client, name, mutex)[source]

Bases: object

tango attribute callback class

constructor

Parameters:
  • client (str) – tango controller client
  • name (str) – attribute name
  • mutex – mutex lock for CB
push_event(event_data)[source]

callback method receiving the event

class lavuelib.imageSource.TinePropSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as Tine Property

constructor

Parameters:timeout (int) – timeout for setting connection in ms
getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
class lavuelib.imageSource.VDEOdecoder[source]

Bases: object

VIDEO IMAGE LIMA decoder

constructor

Brief:It clears the local variables
decode()[source]

provides the decoded data

Returns:the decoded data if data was loaded
Return type:numpy.ndarray
dtype = None

(str) data type

format = None

(str) decoder format

frameNumber()[source]

provides the frame number

Returns:the frame number
Return type:int
load(data)[source]

loads encoded data

Parameters:data ([str, str]) – encoded data
name = None

(str) decoder name

shape()[source]

provides the data shape

Returns:the data shape if data was loaded
Return type:list <int >
lavuelib.imageSource.ZMQMAJOR = 4

(str,:obj:str) zmq major version, zmq minor version

lavuelib.imageSource.ZMQMINOR = 3

(str,:obj:str) zmq major version, zmq minor version

class lavuelib.imageSource.ZMQSource(timeout=None)[source]

Bases: lavuelib.imageSource.BaseSource

image source as ZMQ stream

constructor

Parameters:timeout (int) – timeout for setting connection in ms
connect()[source]

connects the source

disconnect()[source]

disconnects the source

getData()[source]

provides image name, image data and metadata

Returns:image name, image data, json dictionary with metadata
Return type:(str , numpy.ndarray , str)
setConfiguration(configuration)[source]

set configuration

Parameters:configuration (str) – configuration string
lavuelib.imageSource.currenttime()[source]

provides current time in iso format

Returns:current time in iso format
Return type:str
lavuelib.imageSource.fbmj = '0'

(bool) fabio can be imported

lavuelib.imageSource.fbmn = '11'

(bool) fabio can be imported

lavuelib.imageSource.fbpa = '0'

(bool) fabio can be imported

lavuelib.imageSource.getLevel(elevel=None)[source]

get log level in string

Parameters:elevel (int) – effective log level
Returns:log level in string
Return type:str
lavuelib.imageSource.tobytes(x)[source]

decode str to bytes

Parameters:x (str) – string
Returns:decode string in byte array
Return type:bytes
lavuelib.imageSource.tostr(x)[source]

decode bytes to str

Parameters:x (bytes) – string
Returns:decode string in byte array
Return type:str

lavuelib.imageWidget module

image widget

class lavuelib.imageWidget.ImageWidget(parent=None, tooltypes=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QWidget

The part of the GUI that incorporates the image view.

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • tooltypes (list <str>) – tool class names
  • settings (lavuelib.settings.Settings) – lavue configuration settings
applyMask()[source]

provides apply mask flag

Returns:True for apply mask
Return type:bool
applyROIs(rlabel, roispin)[source]

saves ROIs in sardana and add them to the measurement group

Parameters:
  • rlabel (str) – rois aliases separated by space
  • roispin (int) – the current number of rois
applyTipsChanged

(pyqtgraph.QtCore.pyqtSignal) apply tips changed signal

aspectLockedToggled

(pyqtgraph.QtCore.pyqtSignal) aspect locked toggled signal

autoRange()[source]

sets auto range

axestext()[source]

return axes text

Returns:x,y text
Return type:(str, str)
axesunits()[source]

return axes units

Returns:x,y units
Return type:(str, str)
bottomplotShowMenu(freeze=False, clear=False)[source]

shows freeze or/and clean action in the menu

Parameters:
  • freeze (bool) – freeze show status
  • freeze – clean show status
bottomplotStretch(stretch=1)[source]

stretches the bottom plot

Parameters:stretch (int) – stretch factor
calcROIsum()[source]

calculates the current roi sum

Returns:sum roi value, roi id
Return type:(str, int)
calcROIsums()[source]

calculates all roi sums

Returns:sum roi value, roi id
Return type:list < float >
changeMeshRegion()[source]

changes the current roi region

changeROIRegion()[source]

changes the current roi region

clearBottomPlotClicked

(pyqtgraph.QtCore.pyqtSignal) clear clicked signal

colorsChanged

(pyqtgraph.QtCore.pyqtSignal) colors changed signal

currentCut()[source]

provides current cut id

Returns:cut id
Return type:int
currentData()[source]

provides the data

Returns:current data
Return type:numpy.ndarray
currentIntensity()[source]

provides intensity for current mouse position

Returns:x position, y position, pixel intensity
Return type:(float, float, float)
currentROI()[source]

provides current roi id

Returns:roi id
Return type:int
currentTool()[source]

provides the current tool

Returns:current tool name
Return type:str
currentToolChanged

(pyqtgraph.QtCore.pyqtSignal) current tool changed signal

cutCoords()[source]

provides cuts coordinates

Returns:cuts coordinates
Return type:list < [float, float, float, float] >
cutCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) cut coordinate changed signal

cutData(cid=None)[source]

provides the current cut data

Parameters:cid (int) – cut id
Returns:current cut data
Return type:numpy.ndarray
cutNumberChanged

(pyqtgraph.QtCore.pyqtSignal) cut number changed signal

disconnecttool()[source]

disconnect current tool widget

emitAspectLockedToggled(status)[source]

emits aspectLockedToggled

Parameters:status (bool) – current state
emitCutCoordsChanged()[source]

emits cutCoordsChanged

emitReplotImage(autorange=True)[source]

emits replotImage

emitTCC()[source]

emits toolConfigurationChanged

fetchROIs(rlabel)[source]

loads ROIs from sardana

Parameters:rlabel (str) – rois aliases separated by space
freezeBottomPlotClicked

(pyqtgraph.QtCore.pyqtSignal) freeze clicked signal

geometryChanged

(pyqtgraph.QtCore.pyqtSignal) geometry changed

getDoor()[source]

runs macro

Parameters:command (list <str>) – command list
Returns:macro runned
Return type:bool
getElementNames(listattr, typefilter=None)[source]

provides experimental Channels

Parameters:
  • listattr (str) – pool attribute with list
  • typefilter (list <str>) – pool attribute with list
Returns:

names from given pool listattr

Return type:

list <str>

gradientColors()[source]

gets gradientcolors on/off

Returns:True for on and False for off
Return type:bool
image(iid=0)[source]

provides imageItem object

Parameters:iid (int) – image id
Returns:image object
Return type:pyqtgraph.ImageItem
imageName()[source]

provide the current image name

Returns:image name
Return type:str
imagePlotted

(pyqtgraph.QtCore.pyqtSignal) image plotted signal

levelMode()[source]

gets level mode

Returns:level mode, i.e. mono or rgba
Return type:str
maskIndices()[source]

provides mask image indices

Returns:mask image indices
Return type:numpy.ndarray
maskValue()[source]

provides high mask value

Returns:high mask value
Return type:float
maskValueIndices()[source]

provides mask image value indices

Returns:mask image indices
Return type:numpy.ndarray
meshCoords()[source]

provides rois coordinates

Returns:rois coordinates
Return type:list < [float, float, float, float] >
meshCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) mesh coordinate changed signal

mouseImageDoubleClicked

(pyqtgraph.QtCore.pyqtSignal) mouse double clicked

mouseImagePositionChanged
mouseImageSingleClicked

(pyqtgraph.QtCore.pyqtSignal) mouse single clicked

onedbarbottomplot()[source]

creates 1d bottom bar plot

Returns:1d bottom bar plot
Return type:pyqtgraph.BarGraphItem
onedbarrightplot()[source]

creates 1d right bar plot

Returns:1d right bar plot
Return type:pyqtgraph.BarGraphItem
onedbottomplot(clear=False, name=None)[source]

creates 1d bottom plot

Parameters:clear (bool) – clear flag
Returns:1d bottom plot
Return type:pyqtgraph.PlotDataItem
onedrightplot(clear=False)[source]

creates 1d right plot

Parameters:clear (bool) – clear flag
Returns:1d right plot
Return type:pyqtgraph.PlotDataItem
onedshowlegend(show=True)[source]

shows/hides 1d bottom plot legend

Parameters:status (bool) – show flag
Returns:1d bottom plot
Return type:pyqtgraph.PlotDataItem
overflowValue()[source]

provides overflow value

Returns:overflow value
Return type:float
overflowValueIndices()[source]

provides overflow image value indices

Returns:overflow image indices
Return type:numpy.ndarray
plot(array, rawarray=None, imagename=None, maskarray=None)[source]

plots the image

Parameters:
rangeWindowEnabled()[source]

provide info if range window enabled

Returns:range window enabled
Return type:bool
rangeWindowScale()[source]

provide info range window scale

Returns:range window scale
Return type:float
rawData()[source]

provides the raw data

Returns:current raw data
Return type:numpy.ndarray
removebottomplot(plot)[source]

removes bottom plot

Parameters:plot (pyqtgraph.PlotItem) – right plot item
removerightplot(plot)[source]

removes right plot

Parameters:plot (pyqtgraph.PlotItem) – right plot item
replotImage

(pyqtgraph.QtCore.pyqtSignal) replot image signal

rgb()[source]

gets RGB on/off

Returns:True for on and False for off
Return type:bool
roiAliasesChanged

(pyqtgraph.QtCore.pyqtSignal) roi aliases changed signal

roiCoords()[source]

provides rois coordinates

Returns:rois coordinates
Return type:list < [float, float, float, float] >
roiCoordsChanged

(pyqtgraph.QtCore.pyqtSignal) roi coordinate changed signal

roiLineEditChanged

(pyqtgraph.QtCore.pyqtSignal) roi Line Edit changed signal

roiNumberChanged

(pyqtgraph.QtCore.pyqtSignal) roi number changed signal

roiValueChanged

(pyqtgraph.QtCore.pyqtSignal) roi value changed signal

roilabels = None

(obj`str`) roi labels

runMacro(command)[source]

runs macro

Parameters:command (list <str>) – command list
Returns:macro runned
Return type:bool
sardanaEnabled

(pyqtgraph.QtCore.pyqtSignal) sardana enabled signal

scale(useraxes=True, noNone=False)[source]

provides scale and position of the axes

Parameters:
  • useraxes (bool) – use user scaling
  • noNone (bool) – return values without None
Return type:

[int, int, int, int]

Returns:

[posx, posy, scalex, scaley]

scaledxy(x, y, useraxes=True)[source]

provides scaled x,y positions

Parameters:
  • x (float) – x pixel coordinate
  • y (float) – y pixel coordinate
  • useraxes (bool) – use user scaling
Returns:

scaled x,y position

Return type:

(float, float)

scalesChanged

(pyqtgraph.QtCore.pyqtSignal) scales changed signal

scaling()[source]

provides scaling type

Returns:scaling type
Return type:str
scalingLabel()[source]

provides scaling label

Returns:scaling label
Return type:str
setApplyMask(applymask=True)[source]

sets apply mask flag

Params applymask:
 True for apply mask
setAspectLocked(status)[source]

sets aspectLocked

Parameters:status (bool) – state to set
Returns:old state
Return type:bool
setAutoDownSample(autodownsample)[source]

sets auto down sample

Parameters:autolevels (bool) – auto down sample enabled
setAutoLevels(autolevels)[source]

sets auto levels

Parameters:autolevels (:obj:'int`) – 2: auto levels enabled 1: with autofactor
setChannelLevels(levels=None)[source]

sets minimum intensity levels

Parameters:levels (list < (:obj`float`:, :obj`float`:)>) – channel intensity levels
setColors(colors)[source]

sets item colors

Parameters:colors (str) – json list of roi colors
setDisplayedText(text=None)[source]

sets displayed info text and recalculates the current roi sum

Parameters:text (str) – text to display
setDoBFSubtraction(state)[source]

sets do brightfield subtraction flag

Parameters:status (bool) – do brightfield subtraction flag
setDoBkgSubtraction(state)[source]

sets do background subtraction flag

Parameters:status (bool) – do background subtraction flag
setDoubleClickLock(status=True)[source]

sets double click lock

Parameters:status (bool) – status flag
setExtensionsRefreshTime(refreshtime)[source]

set display extension refresh time

Parameters:refreshtime (float) – refresh time in seconds
setGradientColors(status=True)[source]

sets gradientcolors on/off

Parameters:status (bool) – True for on and False for off
setLevelMode(levelmode=True)[source]

sets levelmode

Parameters:levelmode (str) – level mode, i.e. mono or rgba
setMaskIndices(maskindices)[source]

sets mask image indices

Params maskindices:
 mask image indices
setMaskValue(maskvalue)[source]

sets high mask value

Params maskvalue:
 high mask value
setMaskValueIndices(maskindices)[source]

sets mask image indices

Params maskindices:
 mask image value indices
setMaxLevel(level=None)[source]

sets maximum intensity level

Parameters:level (float) – maximum intensity
setMaximaPos(positionlist, offset=None)[source]

sets maxima postions

Parameters:
  • positionlist (list < (float, float) >) – [(x1, y1), … , (xn, yn)]
  • offset ([ float, float]) – offset of position
setMinLevel(level=None)[source]

sets minimum intensity level

Parameters:level (float) – minimum intensity
setOverflowColor(color)[source]

sets item color

Parameters:color (str) – json list of overflow color
setOverflowValue(overflowvalue)[source]

sets overflow value

Params overflowvalue:
 overflow value
setOverflowValueIndices(overflowindices)[source]

sets overflow image indices

Params overflowindices:
 overflow image value indices
setSardanaUtils(sardana)[source]

sets sardana utils

Parameters:sardana (lavuelib.sardanaUtils.SardanaUtils) – sardana utils
setScalingType(scalingtype)[source]

sets intensity scaling types

Parameters:scalingtype (str) – intensity scaling type
setStatsWOScaling(status)[source]

sets statistics without scaling flag

Parameters:status (bool) – statistics without scaling flag
Returns:change status
Return type:bool
setTangoClient(tangoclient)[source]

sets tango client

Parameters:tangoclient (lavuelib.controllerClient.ControllerClient) – attribute name
setTicks()[source]

launch axes widget

Returns:apply status
Return type:bool
setTool(tool)[source]

sets tool from string

Parameters:tool (str) – tool name
setToolConfiguration(config)[source]

sets tool configuration from JSON dictionary

Parameters:config (str) – JSON dictionary with tool configuration
setToolScale(position=None, scale=None)[source]

get axes parameters

Parameters:
setTransformations(transpose, leftrightflip, updownflip, orgtranspose, orgleftrightflip, orgupdownflip)[source]

sets coordinate transformations

Parameters:
  • transpose (bool) – transpose coordinates flag
  • leftrightflip (bool) – left-right flip coordinates flag
  • updownflip (bool) – up-down flip coordinates flag
  • orgtranspose (bool) – selected transpose coordinates flag
  • orgleftrightflip (bool) – selected left-right flip coordinates flag
  • orgupdownflip (bool) – selected up-down flip coordinates flag
setViewRange(rangelist)[source]

set view range values

Parameters:rangelist (str) – xmin,ymin,xsize,ysize
setrgb(status=True)[source]

sets RGB on/off

Parameters:status (bool) – True for on and False for off
settings()[source]

provides settings

Returns:setting object
Return type:lavuelib.settings.Settings
showCurrentTool()[source]

shows the current tool

showDoorError()[source]

show door error

showTool(text)[source]

shows the current tool

tool()[source]

provices tool from string

Parameters:tool (str) – tool name
toolConfiguration()[source]

provides tool configuration

Returns:JSON dictionary with tool configuration
Return type:str
toolConfigurationChanged

(pyqtgraph.QtCore.pyqtSignal) tool configuration changed signal

transformations()[source]

povides coordinates transformations

Returns:transpose, leftrightflip, updownflip flags, original transpose
Return type:(bool, bool, bool, bool)
updateBeamCenterX(x)[source]

updates the beam center x

Parameters:x (float) – beam center x
updateBeamCenterY(y)[source]

updates the beam center y

Parameters:y (float) – beam center y
updateCenter(xdata, ydata)[source]

updates the image center

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
updateCuts(cid, coords=None)[source]

update Cuts

Parameters:
  • cid (int) – cut id
  • coords (list < [float, float, float, float, float] >) – cut coordinates and width
updateDetectorDistance(distance)[source]

updates the detector distance

Parameters:distance (float) – detector distance
updateDetectorROIs(rois)[source]

updates the detector ROIs

Parameters:distance (str) – json dictionary with detector ROIs
updateDisplayedText(text)[source]

sets displayed info text

Parameters:text (str) – text to display
updateDisplayedTextTip(text)[source]

sets displayed info text tup

Parameters:text (str) – tip text to display
updateEnergy(energy)[source]

updates the beam energy

Parameters:energy (float) – beam energy
updateHBounds(xdata1, xdata2)[source]

updates the vertical bounds

Parameters:
  • xdata1 (float) – first x-pixel position
  • xdata2 (float) – second x-pixel position
updateImage(array=None, rawarray=None, maskarray=None)[source]

update the image

Parameters:
updateMetaData(axisscales=None, axislabels=None, rescale=False)[source]

update Metadata informations

Parameters:
updatePixelSizeX(x)[source]

updates the pixel x-size

Parameters:x (float) – pixel x-size
updatePixelSizeY(y)[source]

updates the pixel y-size

Parameters:y (float) – pixel y-size
updatePositionMark(xdata, ydata, scaled=False)[source]

updates the position mark

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
  • scaled (bool) – scaled flag
updatePositionTrackingMark(xdata, ydata, scaled=False)[source]

updates the position tracking mark

Parameters:
  • xdata (float) – x pixel position
  • ydata (float) – y-pixel position
  • scaled (bool) – scaled flag
updateROIs(rid, coords=None)[source]

update ROIs

Parameters:
updateRegions(points=None, rid=None)[source]

update Ranges

Parameters:
updateTicks(record)[source]

update Ticks values

Parameters:record (dict`<:obj:`str, any>) – dict record with the tick parameters: “position” : [x, y] “scale” : [sx, sy] “xtext” : xlabel “ytext” : ylabel “xunits” : xunits “yunits” : yunits
updateToolComboBox(toolnames, name=None)[source]

set tool by changing combobox

Parameters:
  • toolnames (list < str >) – tool names
  • index (int) – combobox index
updateVBounds(ydata1, ydata2)[source]

updates the vertical bounds

Parameters:
  • ydata1 (float) – first x-pixel position
  • ydata2 (float) – second x-pixel position
updateinfowidgets(parameters)[source]
viewRange()[source]

get view range values

Returns:xmin,ymin,xsize,ysize
Rtype rangelist:
 str
writeAttribute(name, value)[source]

writes attribute value of device

Parameters:
  • name (str) – attribute name
  • value (any) – attribute value
writeDetectorAttributes()[source]

write detector settings from ai object

writeDetectorROIsAttribute()[source]

writes DetectorROIsattribute value of device

writeDetectorROIsValuesAttribute(rvalues)[source]

writes DetectorROIsValuesattribute of device

Parameters:rvalues (obj`list < :obj:`float>) – list of roi values

lavuelib.intervalsDialog module

interval device widget

class lavuelib.intervalsDialog.IntervalsDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

interval widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

itime = None

(float) integration time in seconds

xintervals = None

(int) number of x intervals

yintervals = None

(int) number of y intervals

lavuelib.levelsGroupBox module

level widget

class lavuelib.levelsGroupBox.LevelsGroupBox(parent=None, settings=None, expertmode=False)[source]

Bases: PyQt5.QtWidgets.QWidget

Set minimum and maximum displayed values and its color.

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • settings (lavuelib.settings.Settings) – lavue configuration settings
  • expertmode (bool) – expert mode flag
autoFactor()[source]

provides factor for automatic levels

Returns:factor for automatic levels
Return type:str
autoLevelsChanged

(pyqtgraph.QtCore.pyqtSignal) automatic levels changed signal

changeView(showhistogram=None, showlevels=None, showadd=None)[source]

shows or hides the histogram widget

Parameters:
  • showhistogram (bool) – if histogram should be shown
  • showlevels (bool) – if levels should be shown
  • showadd (bool) – if additional histogram should be shown
channelLevels()[source]

provides levels from configuration string

Returns:channel levels
Return type:str
channelLevelsChanged

(pyqtgraph.QtCore.pyqtSignal) channel levels changed signal

gradient()[source]

provides the current color gradient

Returns:gradient name
Return type:str
gradientChanged

(pyqtgraph.QtCore.pyqtSignal) gradient changed signal

gradientColors()[source]

gets gradientcolors on/off

Returns:True for on and False for off
Return type:bool
isAutoLevel()[source]

returns if automatics levels are enabled

Returns:if automatics levels are enabled
Return type:bool
levelMode()[source]

return historgram level mode

Returns:level mode
Return type:str
levels()[source]

provides levels from configuration string

Returns:configuration string: lowlim,uplim or lowlim,uplim;c1l,c1u;c2l,c2u;c3l,c3u
Return type:str
levelsChanged

(pyqtgraph.QtCore.pyqtSignal) levels changed signal

maxLevelChanged

(pyqtgraph.QtCore.pyqtSignal) maximum level changed signal

minLevelChanged

(pyqtgraph.QtCore.pyqtSignal) minimum level changed signal

setAutoFactor(factor)[source]

sets factor for automatic levels

Parameters:factor (str) – factor for automatic levels
setAutoLevels(auto)[source]

enables or disables automatic levels

Parameters:auto (bool or int) – if automatics levels to be set
setBins(index)[source]

sets bins edges algorithm for histogram

Parameters:index (int) – bins edges algorithm index for histogram
setGradient(name, iid=None)[source]

sets gradient

:param name gradient name :type name: str :param iid: image id :type iid: int

setGradientColors(status=True)[source]

sets gradientcolors on/off

Parameters:status (bool) – True for on and False for off
setImageItem(image, iid=0)[source]

sets histogram image

Parameters:
setLevels(cnflevels)[source]

set levels from configuration string

Parameters:cnflevels (str) – configuration string: lowlim,uplim or lowlim,uplim;lowred,upred;lowgreen,upgreen;lowblue,upblue
setRGBChannels(rgbchannels)[source]

rgb channel indexes

Parameters:rgbchannels (tuple <int>) – rgb channel indexes
setScalingLabel(scalingtype)[source]

sets scaling label

Parameters:scalingtype (str) – scaling type, i.e. log, linear, sqrt
setrgb(status=True)[source]

sets RGB on/off

Parameters:status (bool) – True for on and False for off
showChannels(status=True)[source]

show/hide channel widget

Parameters:status (bool) – show channel flag
showGradient(status=True)[source]

show/hide gradient widget

Parameters:status (bool) – show gradient flag
showHistograms(status=True)[source]

show/hide gradient widget

Parameters:status (bool) – show gradient flag
storeSettingsRequested

(pyqtgraph.QtCore.pyqtSignal) store settings requested

updateAutoLevels(lowlim, uplim, channels=None)[source]

set min/max level spinboxes and histogram from the parameters

Parameters:
  • lowlim (float) – minimum intensity value
  • uplim (float) – maximum intensity value
updateCustomGradients(gradients)[source]
updateHistoImage(autoLevel=None)[source]

executes imageChanged of histogram with the givel autoLevel

Parameters:autoLevel (bool) – if automatics levels to be set
updateLevels(lowlim, uplim, channels=None, signals=True, force=False)[source]

set min/max level spinboxes and histogram from the parameters

Parameters:
  • lowlim (float) – minimum intensity value
  • uplim (float) – maximum intensity value
  • signal (bool) – dont disconnect signals
  • force (bool) – force update histogram

lavuelib.liveViewer module

live viewer settings

class lavuelib.liveViewer.LavueState[source]

Bases: object

lavue state

constructor

dump()[source]

returns string representation

Returns:string representation
Return type:str
updateState(dct)[source]

update lavue state dictonary

Parameters:dct (dict < str, any>) – lavue state dictionary
class lavuelib.liveViewer.LiveViewer(options, parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

The master class for the dialog, contains all other widget and handles communication.

constructor

Parameters:
  • options (argparse.Namespace) – commandline options
  • parent (pyqtgraph.QtCore.QObject) – parent object
closeEvent(event)[source]

stores the setting before finishing the application

Parameters:event (pyqtgraph.QtCore.QEvent:) – close event
keyPressEvent(event)[source]

skips escape key action

Parameters:event (pyqtgraph.QtCore.QEvent:) – close event
rgb()[source]

gets RGB on/off

Returns:True for on and False for off
Return type:bool
setLavueState(dct=None)[source]

update LavueState of LavueController

Parameters:dct (dict < str, any>) – lavue state dictionary
setState()[source]

set current state

setrgb(status=True)[source]

sets RGB on/off

Parameters:status (bool) – True for on and False for off
class lavuelib.liveViewer.MainWindow(options, parent=None)[source]

Bases: PyQt5.QtWidgets.QMainWindow

constructor

Parameters:
  • options (argparse.Namespace) – commandline options
  • parent (pyqtgraph.QtCore.QObject) – parent object
closeEvent(event)[source]

stores the setting before finishing the application

Parameters:event (pyqtgraph.QtCore.QEvent:) – close event
class lavuelib.liveViewer.PartialData(name, rawdata, metadata, x, y, tr)[source]

Bases: object

partial data

constructor

Parameters:
  • name (str) – data name
  • rawdata (numpy.ndarray) – raw data
  • metadata (str) – json dictionary with metadata
  • x (int) – x translation
  • y (int) – y translation
  • tr (str) – transformation, e.g. fup, flr, t, r90, r180, r270, r180t
data()[source]

provides transformed data

Returns:transformed data
Return type:numpy.ndarray
dtype()[source]

provides data type

Returns:numpy data type
Return type:numpy.dtype
intmaxvalue()[source]

provides data type maximal value

Returns:integer data type maximal value
Return type:int
metadata = None

(str) json dictionary with metadata

name = None

(str) data name

scc = None

(int) color channel size

sx = None

(int) x size

sy = None

(int) y size

tolist()[source]

converts partial data to a list

Returns:a list: [name, rawdata, metadata, x, y, sx, sy, tr]
Return type:[str, numpy.ndarray', :obj:`str, int, int, int, int, str]
tpose = {'flr': False, 'fup': False, 'none': False, 'r180': False, 'r180t': True, 'r270': True, 'r90': True, 't': True}
tr = None

(str) transformation

x = None

(int) x translation

y = None

(int) y translation

lavuelib.liveViewer.setLoggerLevel(logger, level)[source]

lavuelib.maskWidget module

mask widget

class lavuelib.maskWidget.MaskWidget(parent=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Define and apply masking of the displayed image.

constructor

Parameters:
applyStateChanged

(pyqtgraph.QtCore.pyqtSignal) apply state change signal

isMaskApplied()[source]

if background subtraction applied :returns: apply status :rtype: bool

maskFileSelected

(pyqtgraph.QtCore.pyqtSignal) mask file selected signal

noImage()[source]

unchecks the apply checkbox and clear the file display

setDisplayedName(name)[source]

sets displayed file name

Parameters:name (str) – file name
setMask(fname)[source]

sets the image mask

Parameters:fname (str) – file name

lavuelib.memoExportDialog

image display widget

lavuelib.memoExportDialog.GraphicsScene_showExportDialog(self)[source]

dynamic replacement of GraphicsScene.showExportDialog

class lavuelib.memoExportDialog.MemoExportDialog(scene)[source]

Bases: pyqtgraph.GraphicsScene.exportDialog.ExportDialog

ExportDialog with bookkeeping parameters

exportFormatChanged(item, prev)[source]
class lavuelib.memoExportDialog.MemoPlotWidget(parent=None, background='default', **kargs)[source]

Bases: pyqtgraph.widgets.PlotWidget.PlotWidget

Plot Widget with improved Export Dialog

clearClicked

(pyqtgraph.QtCore.pyqtSignal) clear clicked signal

freezeClicked

(pyqtgraph.QtCore.pyqtSignal) freeze clicked signal

showMenu(freeze=False, clear=False)[source]

shows freeze or/and clear action in the menu

Parameters:
  • freeze (bool) – freeze show status
  • freeze – clear show status

lavuelib.memoryBufferGroupBox

Memory Buffer widget

class lavuelib.memoryBufferGroupBox.MemoryBufferGroupBox(parent=None)[source]

Bases: PyQt5.QtWidgets.QGroupBox

Set circular memory buffer for images

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
bufferSize()[source]

provides buffer size

Returns:buffer size if buffer is on
Return type:int
bufferSizeChanged

(pyqtgraph.QtCore.pyqtSignal) state updated signal

changeView(show=False)[source]

shows or hides the histogram widget

Parameters:show (bool) – if histogram should be shown
initialize()[source]

initialize the filter

isOn()[source]

is on flag

Returns:is on flag
Return type:bool
onOff(status)[source]

switch on/off the widget

Parameters:status (int) – flag on/off
process(image, imagename)[source]

append image to the buffer and returns image buffer and metadata

Parameters:
  • image (numpy.ndarray) – numpy array with an image
  • imagename (str) – image name
Returns:

numpy array with an image

Return type:

(numpy.ndarray, :obj`dict`<str, str>) or None

setBufferSize(buffersize)[source]

sets buffer size

Parameters:buffersize (int or str) – maximal number of images in the buffer
setComputeSum(computesum)[source]

sets compute sum flag

Parameters:computesum (bool) – compute sum flag
setMaxBufferSize(maxbuffersize)[source]

sets maximal buffer size

Parameters:maxbuffersize (int or str) – maximal number of images in the buffer

lavuelib.messageBox module

error message box

class lavuelib.messageBox.MessageBox(parent)[source]

Bases: PyQt5.QtCore.QObject

error message box

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
classmethod getText(default, error=None)[source]

provides error message text fro sys.exc_info()

Parameters:
  • default (str) – default message test
  • error (Exception) – exception to describe
Returns:

exception message

Return type:

str

classmethod warning(parent, title, text, detailedText=None, icon=None)[source]

creates warning messagebox

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • title (str) – message box title
  • text (str) – message box text
  • detailedText (str) – message box detailed text
  • icon (pyqtgraph.QtCore.QIcon) – message box icon
lavuelib.messageBox.TANGO = True

(bool) tango imported

lavuelib.motorWatchThread module

motor watch thread

class lavuelib.motorWatchThread.AttributeWatchThread(aproxies, refreshtime=None)[source]

Bases: lavuelib.omniQThread.OmniQThread

constructor

Parameters:
attrValuesSignal

(pyqtgraph.QtCore.pyqtSignal) signal with attribute values

isWatching()[source]

is datasource source connected

Returns:if datasource source connected
Return type:bool
stop()[source]

stops loop

watchingFinished

(pyqtgraph.QtCore.pyqtSignal) watching finished

lavuelib.motorWatchThread.GLOBALREFRESHRATE = 0.1

(float) refresh rate in seconds

class lavuelib.motorWatchThread.MotorWatchThread(motor1, motor2, server=None)[source]

Bases: lavuelib.omniQThread.OmniQThread

constructor

Parameters:
isWatching()[source]

is datasource source connected

Returns:if datasource source connected
Return type:bool
motorStatusSignal

(pyqtgraph.QtCore.pyqtSignal) signal with motor status

stop()[source]

stops loop

watchingFinished

(pyqtgraph.QtCore.pyqtSignal) watching finished

lavuelib.motorWatchThread.POLLINGINTERVAL = 1.0

(float) polling inverval in seconds

lavuelib.normalizationWidget module

normalization widget

class lavuelib.normalizationWidget.NormalizationWidget(parent=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Define bkg image and subtract from displayed image.

constructor

Parameters:
applyBFStateChanged

(pyqtgraph.QtCore.pyqtSignal) apply state change signal

bfFileSelected
bfScalingFactor()[source]

provides bright field scaling factor

Returns:bright field scaling factor
Return type:float
bfScalingFactorChanged

(pyqtgraph.QtCore.pyqtSignal) BF scaling factor change signal

checkBFSubtraction(state)[source]

unchecks apply CheckBox if state is 1 and it is checked and reset the display

Parameters:state (int) – checkbox state
isBFSubApplied()[source]

if brightfield correction applied :returns: apply status :rtype: bool

setBFScalingFactor(scale)[source]

sets the bright field scaling factor

Parameters:scale (float or str) – bright field scaling factor
setBrightField(fname)[source]

sets the image background

Parameters:fname (str) – file name
setDisplayedBFName(name)[source]

sets displayed file name

Parameters:name (str) – file name
showScalingFactors(show=True)[source]
useCurrentImageAsBF

(pyqtgraph.QtCore.pyqtSignal) use current image signal

lavuelib.omniQThread module

omni qt thread

class lavuelib.omniQThread.OmniQThread(parent=None)[source]

Bases: PyQt5.QtCore.QThread

constructor

run()[source]

runner of the fetching thread

lavuelib.omniQThread.TANGO = True

(bool) tango imported

lavuelib.preparationGroupBox module

preparationbox widget

class lavuelib.preparationGroupBox.PreparationGroupBox(parent=None, settings=None)[source]

Bases: PyQt5.QtWidgets.QGroupBox

colection of image preperation widgets

constructor

Parameters:
changeView(showmask=None, showsub=None, showtrans=None, showhighvaluemask=None, showsubsf=None, shownorm=None, shownormsf=None)[source]

show or hide widgets in the preparation colection

Parameters:
  • showmask (bool) – mask widget shown
  • showsub (bool) – subtraction widget shown
  • showtrans (bool) – transformation widget shown
  • showhighvaluemask (bool) – mask widget shown
  • showsubsf (bool) – subtraction scaling widget shown
  • shownorm (bool) – normalization widget shown
  • shownormsf (bool) – normalization scaling widget shown
highValueMaskWidget = None

(lavuelib.maskWidget.Maskwidget) mask widget

maskWidget = None

(lavuelib.maskWidget.Maskwidget) mask widget

class lavuelib.preparationGroupBox.QHLine[source]

Bases: PyQt5.QtWidgets.QFrame

horizontal line

constructor

lavuelib.qtuic module

uic support

class lavuelib.qtuic.QWebView(parent: QWidget = None)

Bases: PyQt5.QtWidgets.QWidget

back(self)
changeEvent(self, QEvent)
contextMenuEvent(self, QContextMenuEvent)
createWindow(self, QWebPage.WebWindowType) → QWebView
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
event(self, QEvent) → bool
findText(self, str, options: QWebPage.FindFlags = 0) → bool
focusInEvent(self, QFocusEvent)
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, QFocusEvent)
forward(self)
hasSelection(self) → bool
history(self) → QWebHistory
icon(self) → QIcon
iconChanged

iconChanged(self) [signal]

inputMethodEvent(self, QInputMethodEvent)
inputMethodQuery(self, Qt.InputMethodQuery) → Any
isModified(self) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
linkClicked

linkClicked(self, QUrl) [signal]

load(self, QUrl)

load(self, QNetworkRequest, operation: QNetworkAccessManager.Operation = QNetworkAccessManager.GetOperation, body: Union[QByteArray, bytes, bytearray] = QByteArray())

loadFinished

loadFinished(self, bool) [signal]

loadProgress

loadProgress(self, int) [signal]

loadStarted

loadStarted(self) [signal]

mouseDoubleClickEvent(self, QMouseEvent)
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
page(self) → QWebPage
pageAction(self, QWebPage.WebAction) → QAction
paintEvent(self, QPaintEvent)
print(self, QPrinter)
print_(self, QPrinter)
reload(self)
renderHints(self) → QPainter.RenderHints
resizeEvent(self, QResizeEvent)
selectedHtml(self) → str
selectedText(self) → str
selectionChanged

selectionChanged(self) [signal]

setContent(self, Union[QByteArray, bytes, bytearray], mimeType: str = '', baseUrl: QUrl = QUrl())
setHtml(self, str, baseUrl: QUrl = QUrl())
setPage(self, QWebPage)
setRenderHint(self, QPainter.RenderHint, enabled: bool = True)
setRenderHints(self, QPainter.RenderHints)
setUrl(self, QUrl)
setZoomFactor(self, float)
settings(self) → QWebSettings
sizeHint(self) → QSize
statusBarMessage

statusBarMessage(self, str) [signal]

stop(self)
title(self) → str
titleChanged

titleChanged(self, str) [signal]

triggerPageAction(self, QWebPage.WebAction, checked: bool = False)
url(self) → QUrl
urlChanged

urlChanged(self, QUrl) [signal]

wheelEvent(self, QWheelEvent)
zoomFactor(self) → float

lavuelib.rangeDialog module

detector range widget

class lavuelib.rangeDialog.RangeDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

detector range widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

polend = None

(float) end position of polar angle

polsize = None

(int) grid size of polar angle

polstart = None

(float) start position of polar angle

radqend = None

(float) end position of radial coordinate

radqsize = None

(int) grid size of radial coordinate

radqstart = None

(float) start position of radial coordinate

radthend = None

(float) end position of radial coordinate

radthsize = None

(int) grid size of radial coordinate

radthstart = None

(float) start position of radial coordinate

lavuelib.rangeWindowGroupBox module

range window widget

class lavuelib.rangeWindowGroupBox.RangeWindowGroupBox(parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Select how an image should be transformed.

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeView(showrangeWindow=None)[source]

show or hide widgets

Parameters:showrangeWindow (bool) – widget shown
factor()[source]

provides the current resize factor

Returns:resize factor
Return type:int
factorChanged

(pyqtgraph.QtCore.pyqtSignal) factor changed signal

function()[source]

provides the reduction function name, i.e. max, min, mean, sum

Returns:function name
Return type:str
functionChanged

(pyqtgraph.QtCore.pyqtSignal) function changed signal

rangeWindow()[source]

provides the range window

Returns:x1, y1, x2, y2 of range window bounds
Return type:list <int>
rangeWindowChanged

(pyqtgraph.QtCore.pyqtSignal) range window changed signal

setFactor(factor)[source]

provides the current resize factor

Parameters:factor (int) – resize factor
setFunction(name)[source]

sets the reduction function

Parameters:name (str) – function name, i.e. max, min, mean, sum
setRangeWindow(bounds)[source]

provides the range window

Parameters:bounds – range window bounds: x1:x2,y1:y2
Type:str

lavuelib.release module

release version

lavuelib.sardanaUtils module

sardana utils

class lavuelib.sardanaUtils.SardanaUtils[source]

Bases: object

sardanamacro server

constructor

getDeviceName(cname, db=None)[source]

finds device of give class

Parameters:
Returns:

device name if exists

Return type:

str

getElementNames(door, listattr, typefilter=None)[source]

provides experimental Channels

Parameters:
  • door (str) – door device name
  • listattr (str) – pool attribute with list
  • typefilter (list <str>) – pool attribute with list
Returns:

names from given pool listattr

Return type:

list <str>

getError(door)[source]

stores Scan Environment Data

Parameters:door (str) – door device
Returns:error or warning
Return type:str
getMacroServer(door)[source]

door macro server device name

Parameters:door (str) – door device name
Returns:macroserver device proxy
Return type:tango.DeviceProxy
getPools(door)[source]

provides pool devices

Parameters:door (str) – door device name
classmethod getProxies(names)[source]

provides proxies of given device names

Parameters:names (list <str>) – given device names
Returns:list of device DeviceProxies
Return type:list <tango.DeviceProxy>
getScanEnv(door, params=None)[source]

fetches Scan Environment Data

Parameters:door (str) – door device
Returns:JSON String with important variables
Return type:str
classmethod openProxy(device, counter=100)[source]

opens device proxy of the given device

Parameters:device (str) – device name
Returns:DeviceProxy of device
Return type:tango.DeviceProxy
classmethod pickleloads(bytestr)[source]

loads pickle byte string :param bytestr: byte string to convert :type bytesstr: bytes :returns: loaded bytestring :rtype: any

runMacro(door, command, wait=True)[source]

stores Scan Environment Data

Parameters:
  • door (str) – door device
  • command (list <str>) – list with the macro name and its parameters
  • wait (bool) – wait till macro is finished
Returns:

result, error or warning

Return type:

[str, str]

setScanEnv(door, jdata)[source]

stores Scan Environment Data

Parameters:
  • door (str) – door device
  • jdata (str) – JSON String with important variables
classmethod toString(obj)[source]

converts list/dict/object of unicode/string to string object

Parameters:obj (any) – given unicode/string object
Returns:string object
Return type:str
wait(name=None, proxy=None, maxcount=100)[source]

stores Scan Environment Data

Parameters:
  • name (str) – device name
  • proxy (str) – door device proxy
  • maxcount (int) – number of 0.01s to wait
lavuelib.sardanaUtils.TANGO = True

(bool) tango imported

lavuelib.sardanaUtils.debugmethod(method)[source]

debug wrapper for methods :param method: any class method :type method: any :returns: wrapped class method :rtype: any

class lavuelib.sardanaUtils.numpyEncoder(*, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, sort_keys=False, indent=None, separators=None, default=None)[source]

Bases: json.encoder.JSONEncoder

numpy json encoder with list

Constructor for JSONEncoder, with sensible defaults.

If skipkeys is false, then it is a TypeError to attempt encoding of keys that are not str, int, float or None. If skipkeys is True, such items are simply skipped.

If ensure_ascii is true, the output is guaranteed to be str objects with all incoming non-ASCII characters escaped. If ensure_ascii is false, the output can contain non-ASCII characters.

If check_circular is true, then lists, dicts, and custom encoded objects will be checked for circular references during encoding to prevent an infinite recursion (which would cause an OverflowError). Otherwise, no such check takes place.

If allow_nan is true, then NaN, Infinity, and -Infinity will be encoded as such. This behavior is not JSON specification compliant, but is consistent with most JavaScript based encoders and decoders. Otherwise, it will be a ValueError to encode such floats.

If sort_keys is true, then the output of dictionaries will be sorted by key; this is useful for regression tests to ensure that JSON serializations can be compared on a day-to-day basis.

If indent is a non-negative integer, then JSON array elements and object members will be pretty-printed with that indent level. An indent level of 0 will only insert newlines. None is the most compact representation.

If specified, separators should be an (item_separator, key_separator) tuple. The default is (‘, ‘, ‘: ‘) if indent is None and (‘,’, ‘: ‘) otherwise. To get the most compact JSON representation, you should specify (‘,’, ‘:’) to eliminate whitespace.

If specified, default is a function that gets called for objects that can’t otherwise be serialized. It should return a JSON encodable version of the object or raise a TypeError.

default(obj)[source]

default encoder

Parameters:obj (object or any) – numpy array object

lavuelib.scalingGroupBox module

scalingGroupBox

class lavuelib.scalingGroupBox.ScalingGroupBox(parent=None)[source]

Bases: PyQt5.QtWidgets.QGroupBox

Select how the image intensity is supposed to be scaled.

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeView(showscale=False)[source]

shows or hides the scale widget

Parameters:showscale (bool) – if scale widget should be shown
currentScaling()[source]

provides the current scaling

Returns:current scaline
Return type:str
scalingChanged

(pyqtgraph.QtCore.pyqtSignal) scaling changed signal

setScaling(scaling)[source]

sets scaling from string

Parameters:scaling – scaling name, i.e. linear, log or sqrt
simpleScalingChanged

(pyqtgraph.QtCore.pyqtSignal) simple scaling changed signal

lavuelib.settings module

live viewer image display base it on a qt dialog

lavuelib.settings.PYFAI = True

(bool) pyFAI imported

class lavuelib.settings.Settings[source]

Bases: object

lavue configuration settings

constructor

accelbuffersum = None

(bool) accelerate buffer sum

addrois = None

(bool) add rois to sardana

aimutex = None

(pyqtgraph.QtCore.QMutex) ai mutex

analysisdevice = None

(str) analysis device name

asapobeamtime = None

(str) asapo beamtime id

asapodatasources = None

(list < str > ) asapo datasources

asaposerver = None

(str) asapo server

asaposourcepath = None

(str) asapo sourcepath

asapotoken = None

(str) asapo token

aspectlocked = None

(bool) image aspect ratio locked

autodownsample = None

(bool) auto down sample

autozmqtopics = None

(bool) automatic zmq source topics

bfimagename = None

(str) last brightfield image file name

bkgimagename = None

(str) last background/darkfield image file name

calcvariance = None

(bool) calculate variance

calibrationfilename = None

(str) calibration file name

centerx = None

(float) x-coordinates of the center of the image

centery = None

(float) y-coordinates of the center of the image

correctsolidangle = None

(bool) correct solid angle flag

crosshairlocker = None

(bool) crosshair locker switched on

customGradients()[source]

sets source display parameters

Returns:custom gradients
Return type:dict <str, any>
defdetservers = None

(bool) use default detector servers

detdistance = None

(float) detector distance in mm

detname = None

(str) detector name

detponi1 = None

(float) poni1 parameter in m

detponi2 = None

(float) poni2 parameter in m

detrot1 = None

(float) rot1 parameter in rad

detrot2 = None

(float) rot2 parameter in rad

detrot3 = None

(float) rot3 parameter in rad

detservers = None

(list < str>) hidra detector server list

detsplinefile = None

(str) detector splineFile

diffnpt = None

(int) number of points for diffractogram

dirtrans = None

(str) file name translation json dictionary

distance2m(distance)[source]

converts distance to m units

Parameters:distance (float or (float, str)) – distance as value in m or tuple with units
Returns:distance in m
Return type:float
distance2mm(distance)[source]

converts distance to mm units

Parameters:distance (float or (float, str)) – distance as value in m or tuple with units
Returns:distance in mm
Return type:float
distance2pixels(distance, psize)[source]

converts distance to pixels

Parameters:
  • distance (float or (float, str)) – distance as value in pixels or tuple with units
  • psize (float) – pixel size
Returns:

distance in pixels

Return type:

float

distance2um(distance)[source]

converts distance to um units

Parameters:distance (float or (float, str)) – distance as value in m or tuple with units
Returns:distance in um
Return type:float
doorname = None

(str) door device name

energy = None

(float) energy in eV

energy2m(energy)[source]

converts energy to m

Parameters:energy (float or (float, str)) – energy as value in eV or tuple with units
Returns:length in m
Return type:float
filters = None

(str) json list with filters

floattype = None

(str) float type for pixel intensity

geometryfromsource = None

(bool) fetch geometry from source

gradientcolors = None

(bool) image channels shown with gradient colors

hidraport = None

(str) hidra data port

imagechannels = None

(bool) map image sources to color channels

imagename = None

(str) last image file name

imagesources = None

(str) json list with image source widget names

interruptonerror = None

(bool) interrupt on error

keepcoords = None

(bool) keep original coordinates

lazyimageslider = None

(bool) lazy image slider

length2ev(length)[source]

converts length to energy in eV

Parameters:length (float or (float, str)) – length as value in A or tuple with units
Returns:energy in eV
Return type:float
load(settings)[source]

load settings

Parameters:settings (pyqtgraph.QtCore.QSettings) – QSettings object
Returns:error messages list
Return type:list < (str, str) >
maskimagename = None

(str) last mask image file name

maxmbuffersize = None

(str) maximal number of images in memory buffer

nanmask = None

(bool) nan mask enabled

negmask = None

(bool) adding maximal type value to negative high value mask

nrsources = None

(int) number of image sources

nxslast = None

(bool) nexus file source starts from the last image

nxsopen = None

(bool) nexus file source keeps the file open

orderrois = None

(bool) fetch rois order enabled

overflowcolor = None

(str) json list with overflow color

pixelsize2um(psize)[source]

converts pixel size to um units

Parameters:psize (float or (float, str, float, str)) – pixelsize as value in m or tuple with units
Returns:pixelsize in um
Return type:(float, float)
pixelsizex = None

(float) pixel x-size in um

pixelsizey = None

(float) pixel y-size in um

refreshrate = None

(float) refresh rate is s

roiscolors = None

(str) json list with roi colors

sardana = None

(bool) sardana enabled

secautoport = None

(bool) search for security stream port automatically

seccontext = None

(zmq.Context) zmq context

secport = None

(str) security stream port

secsocket = None

(zmq.Socket) zmq security stream socket

secsockopt = None

(bool) security stream options

secstream = None

(bool) security stream enabled

sendresults = None

(bool) send results to LavueController flag

sendrois = None

(bool) send rois to LavueController flag

setCustomGradients(gradients)[source]

sets custom gradients

Parameters:gradients (dict <str, any>) – custom gradients
setSourceDisplay(source, values)[source]

sets source display parameters

Parameters:
  • source (str) – source name
  • values (dict <str, any>) – display parameter dictionary
showaddhisto = None

(bool) show intensity hostogram

showallrois = None

(bool) show all rois flag

showfilters = None

(bool) show filter widget

showframerate = None

(bool) show frame rate widget

showhighvaluemask = None

(bool) show high mask value widget

showhisto = None

(bool) show intensity hostogram

showlevels = None

(bool) show intensity levels widget

showmask = None

(bool) show mask widget

showmbuffer = None

(bool) show memory buffer widget

shownorm = None

(bool) show image normalization widget

shownormsf = None

(bool) show image normalization scaling factor widget

showoverflow = None

(bool) show intensity overflow widget

showrange = None

(bool) show range window widget

showscale = None

(bool) show intensity scale widget

showstats = None

(bool) show statistics widget

showsteps = None

(bool) show image step widget

showsub = None

(bool) show bakcground subtraction widget

showsubsf = None

(bool) show bakcground subtraction scaling factor widget

showtrans = None

(bool) show transformation widget

singlerois = None

(bool) single rois flag

sourceDisplay(source)[source]

gets source display parameters

Parameters:source (str) – source name
Returns:display parameter dictionary
Return type:dict <str, any>
sourcedisplay = None

(bool) store display parameters for specific sources

statswoscaling = None

(bool) statistics without scaling

store(settings)[source]

Stores settings in QSettings object

Parameters:settings (pyqtgraph.QtCore.QSettings) – QSettings object
storegeometry = None

(bool) store detector geometry

timeout = None

(int) image source timeout for connection

toolpollinginterval = None

(float) tool polling interval is s

toolrefreshtime = None

(float) tool refresh rate time is s

toolwidgets = None

(str) json list with tool widget names

updateAISettings()[source]

update AI settings

updateDetectorParameters()[source]

update physical parameters

updateMetaData(**kargs)[source]

update physical parameters

Parameters:kargs (dict < str, any>) – physical parameter dictionary
xyposition2pixels(xypos)[source]

converts xy position to pixel units

Parameters:xypos (float or (float, str, float, str)) – xy-position a tuple value or tuple with units
Returns:xy-position in pixels
Return type:(float, float)
zeromask = None

(bool) zero mask enabled

zmqtopics = None

(list < str > ) zmq source topics

lavuelib.sourceTabWidget module

image source selection

class lavuelib.sourceTabWidget.SourceForm(parent=None, sourceid=0, usersourcenames=None)[source]

Bases: PyQt5.QtWidgets.QWidget

source form

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • expertmode (bool) – expert mode flag
  • sourceid (int) – source id
  • usersourcenames (list < str >) – user source names
addCommonWidgets(sln)[source]

add common widgets after given row in the grid layout

Parameters:sln (int) – given row in the grid layout
addIconClicked

(pyqtgraph.QtCore.pyqtSignal) add Icon Clicked signal

addWidgets(st, expertmode)[source]

add widgets

Parameters:
  • st (sourceWidget.SourceBaseWidget) – source type class
  • expertmode (bool) – expert mode
buttonEnabled

(pyqtgraph.QtCore.pyqtSignal) push button enabled signal

configuration()[source]

provides configuration for the current image source

Returns:configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectFailure()[source]

set connection status off and display connection status

connectSuccess(port=None)[source]

set connection status on and display connection status

Parameters:port – zmq port
connectWidget()[source]

connect widget

currentDataSource()[source]

current data source

Returns:current datasource class name
Return type:str
currentDataSourceAlias()[source]

current data source name

Returns:current datasource class name alias
Return type:str
currentDataSourceName()[source]

current data source name

Returns:current datasource class name
Return type:str
disconnectWidget()[source]

disconnect widget

emitButtonEnabled(status)[source]

emit buttonEnabled

Parameters:trans (bool) – enabled status of button
emitSourceChanged()[source]

emits sourceChanged signal

emitTranslationChanged(trans)[source]

emit translationChanged

Parameters:trans (str) – x,y translation, e.g. 50,45
gridLayout()[source]

provide grid layout

Returns:grid layout
Return type:PyQt5.QtWidgets.QGridLayout
init()[source]

initialize widget

isConnected()[source]

is datasource source connected

Returns:if datasource source connected
Return type:bool
label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
onSourceChanged()[source]

update current source widgets

pushButtonClicked

(pyqtgraph.QtCore.pyqtSignal) push button clicked signal

pushButtonEnabled()[source]

provide status of push button

Returns:if push button enabled
Return type:bool
removeCommonWidgets()[source]

remove common widgets

removeIconClicked

(pyqtgraph.QtCore.pyqtSignal) remove Icon Clicked signal

setErrorStatus(status='')[source]

set error status

Parameters:status (str) – error status
setSource(name=None, disconnect=True)[source]

set source with the given name

Parameters:
  • name (str) – source name
  • disconnect (bool) – disconnect signals on update
setSourceComboBoxByName(name)[source]

set source by changing combobox by name

Parameters:name (str) – combobox name
setTranslation(trans)[source]

stores translation of the given source

Param:x,y tranlation, e.g. 2345,354
Type:str
showItem(trans)[source]

show items of the widget

Parameters:trans (bool) – translation item show status
sourceChanged

(pyqtgraph.QtCore.pyqtSignal) source state signal

sourceLabelChanged

(pyqtgraph.QtCore.pyqtSignal) source label name signal

sourceStateChanged

(pyqtgraph.QtCore.pyqtSignal) source state signal

sourceStatus()[source]

source status

Returns:source type id
Return type:int
start()[source]

starts viewing if pushButton enable

toggleServerConnection()[source]

toggles server connection

translationChanged

(pyqtgraph.QtCore.pyqtSignal) translation changed signal

updateButton(status)[source]

update slot for source button

Parameters:status (bool) – button state
updateLayout()[source]

update source layout

updateMetaData(**kargs)[source]

update source input parameters

Parameters:kargs (dict < str, any>) – source widget input parameter dictionary
updateSourceComboBox(sourcenames, name=None)[source]

set source by changing combobox

Parameters:
  • sourcenames (list < str >) – source names
  • index (int) – combobox index
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceTabWidget.SourceTabWidget(parent=None, sourcetypes=None, expertmode=False, nrsources=1)[source]

Bases: PyQt5.QtWidgets.QTabWidget

image source selection

constructor

Parameters:
  • parent (pyqtgraph.QtCore.QObject) – parent object
  • sourcetypes (list <str>) – source type class names
  • expertmode (bool) – expert mode flag
  • nrsources (int) – number of sources
addIconClicked

(pyqtgraph.QtCore.pyqtSignal) add Icon Clicked

addTab(widget, title)[source]

add tab widget

Parameters:
  • widget (pyqtgraph.QtWidgets.QWidget) – tab widget
  • title (str) – tab title
configuration()[source]

provides configuration for the current image source

Returns:configuration string
Rtype configuration:
 str
configure(sid, configuration)[source]

set configuration for the current image source

Parameters:
  • sid (int) – source id
  • configuration (str) – configuration string
connectFailure()[source]

set connection status off and display connection status

connectSuccess(port=None)[source]

set connection status on and display connection status

Parameters:port – zmq port
currentDataSourceAlias()[source]

current data source name alias

Returns:current datasource class name alias
Return type:str
currentDataSourceNames()[source]

current data source name

Returns:current datasource class name
Return type:str
currentDataSources()[source]

current data source

Returns:current datasource class name
Return type:str
emitSourceChanged()[source]

emits sourceChanged signal

isChecked(sid)[source]

check if tab is active

Parameters:sid (int) – source id
Returns:check state
Return type:int
isConnected()[source]

is datasource source connected

Returns:if datasource source connected
Return type:bool
onSourceChanged()[source]

update current source widgets

removeIconClicked

(pyqtgraph.QtCore.pyqtSignal) remove Icon Clicked

removeTab(sid)[source]

remove tab widget

Parameters:sid (int) – source id
setCheckState(sid, state)[source]

set check status

Parameters:
  • state (int) – checkbox state
  • sid (int) – source id
setErrorStatus(status='')[source]

set error status

Parameters:status (str) – error status
setNumberOfSources(nrsources)[source]

set a number of image sources

Parameters:nrsources (int) – a number of image sources
setSourceComboBoxByName(sid, name)[source]

set source by changing combobox by name

Parameters:
  • sid (int) – source id
  • name (str) – combobox name
setTranslation(trans, sid)[source]

stores translation of the given source

Param:x,y tranlation, e.g. 2345,354
Type:str
Parameters:sid (int) – source id
showItem(trans)[source]

show items of the widget

Parameters:trans (bool) – translation item show status
sourceChanged

(pyqtgraph.QtCore.pyqtSignal) source state signal

sourceConnected

(pyqtgraph.QtCore.pyqtSignal) source connected signal

sourceDisconnected

(pyqtgraph.QtCore.pyqtSignal) source disconnected signal

sourceLabelChanged

(pyqtgraph.QtCore.pyqtSignal) source label name signal

sourceStateChanged

(pyqtgraph.QtCore.pyqtSignal) source state signal

start()[source]

starts viewing if pushButton enable

tabCheckBoxStates()[source]

provides checkbox states

Returns:checkbox state
Return type:list <int>
toggleServerConnection()[source]

toggles server connection

translationChanged

(pyqtgraph.QtCore.pyqtSignal) translation changed signal

updateButton(status, sid)[source]

update slot for image source

Parameters:
  • status (bool) – button status
  • sid (int) – source id
updateLayout()[source]

update source layout

updateMetaData(**kargs)[source]

update source input parameters

Parameters:kargs (dict < str, any>) – source widget input parameter dictionary
updateSourceComboBox(sourcenames, names=None)[source]

set source by changing combobox

Parameters:
  • sourcenames (list < str >) – source names
  • sourcenames – source names to set
updateSourceMetaData(sid, **kargs)[source]

update source input parameters

Parameters:
  • sid (int) – source id
  • kargs (dict < str, any>) – source widget input parameter dictionary

lavuelib.sourceWidget module

image source selection

class lavuelib.sourceWidget.SourceBaseWidget(sourceid=0, parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

general source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
active = None

(bool) source widget active

addIconClicked

(pyqtgraph.QtCore.pyqtSignal) add Icon Clicked

alias = 'test'

(str) source alias

buttonEnabled

(pyqtgraph.QtCore.pyqtSignal) push button enabled signal

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'BaseSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventObjectFilter(event, combobox, varname, atdict, atlist)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

expertmode = None

(bool) expertmode flag

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Test'

(str) source name

removeIconClicked

(pyqtgraph.QtCore.pyqtSignal) remove Icon Clicked

requires = ()

(tuple <str>) capitalized required packages

setActive(active=True)[source]

set active flag

Parameters:active (bool) – active flag
sourceLabelChanged

(pyqtgraph.QtCore.pyqtSignal) source label name signal

sourceStateChanged

(pyqtgraph.QtCore.pyqtSignal) source state signal

updateButton()[source]

update slot for test source

updateComboBox()[source]

abstract updateComboBox

updateMetaData(**kargs)[source]

update source input parameters

Parameters:kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

widgets = None

(list <PyQt5.QtWidgets.QWidget>) subwidget objects

class lavuelib.sourceWidget.HidraSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'hidra'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'HiDRASource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Hidra'

(str) source name

requires = ('HIDRA',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Hidra source

updateMetaData(serverdict=None, hidraport=None, **kargs)[source]

update source input parameters

Parameters:
  • serverdict (dict < str, list <str> >) – server dictionary
  • hidaraport – list of hidra ports
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.HTTPSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'http'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'HTTPSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'HTTP response'

(str) source name

requires = ('REQUESTS',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for HTTP response source

updateComboBox()[source]

updates ComboBox

updateMetaData(httpurls=None, **kargs)[source]

update source input parameters

Parameters:
  • httpurls (str) – json dictionary with (label, http urls) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.TangoAttrSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'tangoattr'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'TangoAttrSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Tango Attribute'

(str) source name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Tango attribute source

updateComboBox()[source]

updates ComboBox

updateMetaData(tangoattrs=None, **kargs)[source]

update source input parameters

Parameters:
  • tangoattrs (str) – json dictionary with (label, tango attribute) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.TangoEventsSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'tangoevents'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'TangoEventsSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Tango Events'

(str) source name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Tango attribute source

updateComboBox()[source]

updates ComboBox

updateMetaData(tangoevattrs=None, **kargs)[source]

update source input parameters

Parameters:
  • tangoevattrs (str) – json dictionary with (label, tango attribute) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.TangoFileSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'tangofile'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'TangoFileSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Tango File'

(str) source name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Tango file source

updateComboBox()[source]

updates ComboBox

updateMetaData(tangofileattrs=None, tangodirattrs=None, dirtrans=None, nxsopen=None, nxslast=None, **kargs)[source]

update source input parameters

Parameters:
  • tangofileattrs (str) – json dictionary with (label, file tango attribute) items
  • tangodirattrs (str) – json dictionary with (label, dir tango attribute) items
  • dirtrans (str) – json dictionary with directory and file name translation
  • nxsopen (bool) – nexus file source keeps the file open
  • nxslast (bool) – nexus file source starts from the last image
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.DOOCSPropSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'doocsprop'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'DOOCSPropSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'DOOCS Property'

(str) source name

requires = ('PYDOOCS',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Doocs attribute source

updateComboBox()[source]

updates ComboBox

updateMetaData(doocsprops=None, **kargs)[source]

update source input parameters

Parameters:
  • doocsprops (str) – json dictionary with (label, doocs attribute) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.ZMQSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'zmq'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'ZMQSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'ZMQ Stream'

(str) source name

updateButton(disconnect=True)[source]

update slot for ZMQ source

updateComboBox()[source]

updates ComboBox

updateMetaData(zmqtopics=None, autozmqtopics=None, datasources=None, disconnect=True, zmqservers=None, **kargs)[source]

update source input parameters

Parameters:
  • zmqtopics (list <str> >) – zmq source topics
  • autozmqtopics (bool) – automatic zmq topics enabled
  • datasources (list <str> >) – automatic zmq source topics
  • disconnect (bool) – disconnect on update
  • zmqservers (str) – json dictionary with (label, zmq servers) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.NXSFileSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'nxsfile'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'NXSFileSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'NeXus File'

(str) source name

updateButton()[source]

update slot for nexus file source

updateMetaData(nxsopen=None, nxslast=None, **kargs)[source]

update source input parameters

Parameters:
  • nxsopen (bool) – nexus file source keeps the file open
  • nxslast (bool) – nexus file source starts from the last image
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.TinePropSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'tineprop'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns:configuration string
Return type:str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'TinePropSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Tine Property'

(str) source name

requires = ('PYTINE',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Tine property source

updateComboBox()[source]

updates ComboBox

updateMetaData(tineprops=None, **kargs)[source]

update source input parameters

Parameters:
  • tineprops (str) – json dictionary with (label, tine property) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.EpicsPVSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'epicspv'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'EpicsPVSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

eventFilter(obj, event)[source]

event filter

Parameters:
  • obj – qt object
  • event – qt event
Returns:

status flag

Return type:

bool

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'Epics PV'

(str) source name

requires = ('PYEPICS',)

(tuple <str>) capitalized required packages

updateButton()[source]

update slot for Epics file source

updateComboBox()[source]

updates ComboBox

updateMetaData(epicspvnames=None, epicspvshapes=None, **kargs)[source]

update source input parameters

Parameters:
  • epicspvnames (str) – json dictionary with (label, file epics attribute) items
  • epicspvshapes (str) – json dictionary with (label, dir epics attribute) items
  • kargs (dict < str, any>) – source widget input parameter dictionary
widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.ASAPOSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
alias = 'asapo'

(str) source alias

configuration()[source]

provides configuration for the current image source

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current image source

Parameters:configuration (str) – configuration string
connectWidget()[source]

connects widget

datasource = 'ASAPOSource'

(str) datasource class name

disconnectWidget()[source]

disconnects widget

label()[source]

return a label of the current detector

Returns:label of the current detector
Return type:str
name = 'ASAPO'

(str) source name

requires = ('ASAPO',)

(tuple <str>) capitalized required packages

updateButton(disconnect=True)[source]

update slot for Asapo source

updateMetaData(asaposerver=None, asapotoken=None, asapobeamtime=None, asapodatasources=None, asapostreams=None, asaposourcepath=None, disconnect=True, **kargs)[source]

update source input parameters

:param asaposervers asapo servers, i.e. host:port :type asaposervers: str :param asapotoken: asapo token :type asapotoken: str :param asapobeamtime: beamtime id :type asapobeamtime: str :param asapodatasources: asapo datasource names :type asapodatasources: list <str> > :param asapostreams: asapo stream names :type asapostreams: list <str> > :param asaposourcepath: source path :type asaposourcepath: str :param disconnect: disconnect on update :type disconnect: bool :param kargs: source widget input parameter dictionary :type kargs: dict < str, any>

widgetnames = None

(list <str>) subwidget object names

class lavuelib.sourceWidget.TestSourceWidget(sourceid=0, parent=None)[source]

Bases: lavuelib.sourceWidget.SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id
  • parent (pyqtgraph.QtCore.QObject) – parent object
lavuelib.sourceWidget.swproperties = [{'alias': 'hidra', 'name': 'Hidra', 'widget': 'HidraSourceWidget', 'requires': ('HIDRA',)}, {'alias': 'http', 'name': 'HTTP response', 'widget': 'HTTPSourceWidget', 'requires': ('REQUESTS',)}, {'alias': 'tangoattr', 'name': 'Tango Attribute', 'widget': 'TangoAttrSourceWidget', 'requires': ('TANGO',)}, {'alias': 'tangoevents', 'name': 'Tango Events', 'widget': 'TangoEventsSourceWidget', 'requires': ('TANGO',)}, {'alias': 'tangofile', 'name': 'Tango File', 'widget': 'TangoFileSourceWidget', 'requires': ('TANGO',)}, {'alias': 'doocsprop', 'name': 'DOOCS Property', 'widget': 'DOOCSPropSourceWidget', 'requires': ('PYDOOCS',)}, {'alias': 'zmq', 'name': 'ZMQ Stream', 'widget': 'ZMQSourceWidget', 'requires': ()}, {'alias': 'nxsfile', 'name': 'NeXus File', 'widget': 'NXSFileSourceWidget', 'requires': ()}, {'alias': 'tineprop', 'name': 'Tine Property', 'widget': 'TinePropSourceWidget', 'requires': ('PYTINE',)}, {'alias': 'epicspv', 'name': 'Epics PV', 'widget': 'EpicsPVSourceWidget', 'requires': ('PYEPICS',)}, {'alias': 'asapo', 'name': 'ASAPO', 'widget': 'ASAPOSourceWidget', 'requires': ('ASAPO',)}, {'alias': 'test', 'name': 'Test', 'widget': 'TestSourceWidget', 'requires': ()}]

( dict < str, any > ) source widget properties

lavuelib.statisticsGroupBox module

statistics widget

class lavuelib.statisticsGroupBox.StatisticsGroupBox(parent=None)[source]

Bases: PyQt5.QtWidgets.QGroupBox

Display some general image statistics.

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
changeView(showstats=False, showvariance=False)[source]

shows or hides the histogram widget

Parameters:showhistogram (bool) – if histogram should be shown
updateStatistics(mean, maximum, variance, scaling)[source]

update image statistic values

Parameters:meanparent – parent object

lavuelib.takeMotorsDialog module

motor device widget

lavuelib.takeMotorsDialog.TANGO = True

(bool) tango imported

class lavuelib.takeMotorsDialog.TakeMotorsDialog(parent=None)[source]

Bases: PyQt5.QtWidgets.QDialog

detector geometry widget class

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

motortips = None

(list`<:obj:`str>) motortips list

title = None

(str) group title

xmotordevice = None

(tango.DeviceProxy) x motor device

xmotorname = None

(str) x motor name

ymotordevice = None

(tango.DeviceProxy) y motor device

ymotorname = None

(str) y motor name

lavuelib.toolWidget module

image widget

class lavuelib.toolWidget.IntensityToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

intensity tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
afterplot()[source]

command after plot

alias = 'intensity'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
name = 'Intensity'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.ROIToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

roi tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'roi'

(str) tool name alias

applyROIPressed

(pyqtgraph.QtCore.pyqtSignal) apply ROI pressed signal

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

fetchROIPressed

(pyqtgraph.QtCore.pyqtSignal) fetch ROI pressed signal

name = 'ROI'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

roiInfoChanged

(pyqtgraph.QtCore.pyqtSignal) roi info Changed signal

setROIsNumber(rid)[source]

sets a number of rois

Parameters:rid (int) – number of rois
signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateApplyTips(rid)[source]

updates apply tips

Parameters:rid (int) – current roi id
updateROIButton(enabled)[source]

enables/disables ROI buttons

Parameters:enable (bool) – buttons enabled
updateROIDisplayText(text, currentroi, roiVal)[source]

updates ROI display text

Parameters:
  • text (str) – standard display text
  • currentroi (str) – current roi label
  • text – roi sum value
updateROILineEdit(text)[source]

updates ROI line edit text

Parameters:text (str) – text to update
class lavuelib.toolWidget.LineCutToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

line-cut tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

afterplot()[source]

command after plot

alias = 'linecut'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

activates tool widget

name = 'LineCut'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.AngleQToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

angle/q tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'angle/q'

(str) tool name alias

beforeplot(array, rawarray)[source]

command before plot

Parameters:
Returns:

2d image array and raw image

Return type:

(numpy.ndarray, numpy.ndarray)

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

name = 'Angle/Q'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateGeometryTip()[source]

update geometry tips

updateRangeTip()[source]

update geometry tips

class lavuelib.toolWidget.MotorsToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

motors tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'movemotors'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
name = 'MoveMotors'

(str) tool name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.MeshToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

mesh tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'meshscan'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

name = 'MeshScan'

(str) tool name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

roiInfoChanged

(pyqtgraph.QtCore.pyqtSignal) roi info Changed signal

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateROIDisplayText(text, currentroi, roiVal)[source]

updates ROI display text

Parameters:
  • text (str) – standard display text
  • currentroi (str) – current roi label
  • text – roi sum value
class lavuelib.toolWidget.OneDToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

1d plot tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

afterplot()[source]

command after plot

alias = '1d-plot'

(str) tool name alias

beforeplot(array, rawarray)[source]

command before plot

Parameters:
Returns:

2d image array and raw image

Return type:

(numpy.ndarray, numpy.ndarray)

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

activates tool widget

name = '1d-Plot'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.ProjectionToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

Projections tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

afterplot()[source]

command after plot

alias = 'projections'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

activates tool widget

name = 'Projections'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.MaximaToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

maxima tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'maxima'

(str) tool name alias

beforeplot(array, rawarray)[source]

command before plot

Parameters:
Returns:

2d image array and raw image

Return type:

(numpy.ndarray, numpy.ndarray)

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

name = 'Maxima'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateGeometryTip()[source]

update geometry tips

class lavuelib.toolWidget.ParametersToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

motors tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

alias = 'parameters'

(str) tool name alias

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
convert = {'bool': <bound method Converters.toBool of <class 'lavuelib.toolWidget.Converters'>>, 'float': <class 'float'>, 'float16': <class 'float'>, 'float32': <class 'float'>, 'float64': <class 'float'>, 'int': <class 'int'>, 'int16': <class 'int'>, 'int32': <class 'int'>, 'int64': <class 'int'>, 'int8': <class 'int'>, 'str': <class 'str'>, 'string': <class 'str'>, 'uint': <class 'int'>, 'uint16': <class 'int'>, 'uint32': <class 'int'>, 'uint64': <class 'int'>, 'uint8': <class 'int'>}

(dict <str , type or types.MethodType >) map of type : converting function

deactivate()[source]

activates tool widget

name = 'Parameters'

(str) tool name

requires = ('TANGO',)

(tuple <str>) capitalized required packages

signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.DiffractogramToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

diffractogram tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

afterplot()[source]

command after plot

alias = 'diffractogram'

(str) tool name alias

beforeplot(array, rawarray)[source]

command before plot

Parameters:
Returns:

2d image array and raw image

Return type:

(numpy.ndarray, numpy.ndarray)

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

findregions()[source]

find regions lists

name = 'Diffractogram'

(str) tool name

requires = ('PYFAI',)

(tuple <str>) capitalized required packages

runProgress(commands, onclose='_closeReset', text='Updating diffractogram ranges ...')[source]

starts progress thread with the given commands

Parameters:
  • commands (list <str>) – list of commands
  • onclose (str) – close command name
  • text (str) – text to display
setColors(colors=None, force=False)[source]

sets colors

Parameters:colors (str) – json list of roi colors
Returns:change status
Return type:bool
signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateGeometryTip()[source]

update geometry tips

updateRangeTip()[source]

update geometry tips

waitForThread()[source]

waits for running thread

class lavuelib.toolWidget.QROIProjToolWidget(parent=None)[source]

Bases: lavuelib.toolWidget.ToolBaseWidget

angle/q +roi + projections tool widget

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
activate()[source]

activates tool widget

afterplot()[source]

command after plot

alias = 'q+roi+proj'

(str) tool name alias

applyROIPressed

(pyqtgraph.QtCore.pyqtSignal) apply ROI pressed signal

configuration()[source]

provides configuration for the current tool

Returns configuration:
 configuration string
Rtype configuration:
 str
configure(configuration)[source]

set configuration for the current tool

Parameters:configuration (str) – configuration string
deactivate()[source]

deactivates tool widget

fetchROIPressed

(pyqtgraph.QtCore.pyqtSignal) fetch ROI pressed signal

name = 'Q+ROI+Proj'

(str) tool name

requires = ()

(tuple <str>) capitalized required packages

roiInfoChanged

(pyqtgraph.QtCore.pyqtSignal) roi info Changed signal

setROIsNumber(rid)[source]

sets a number of rois

Parameters:rid (int) – number of rois
signal2slot = None

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateApplyTips(rid)[source]

updates apply tips

Parameters:rid (int) – current roi id
updateGeometryTip()[source]

update geometry tips

updateROIButton(enabled)[source]

enables/disables ROI buttons

Parameters:enable (bool) – buttons enabled
updateROIDisplayText(text, currentroi, roiVal)[source]

updates ROI display text

Parameters:
  • text (str) – standard display text
  • currentroi (str) – current roi label
  • text – roi sum value
updateROILineEdit(text)[source]

updates ROI line edit text

Parameters:text (str) – text to update
lavuelib.toolWidget.twproperties = [{'alias': 'intensity', 'name': 'Intensity', 'widget': 'IntensityToolWidget', 'requires': ()}, {'alias': 'roi', 'name': 'ROI', 'widget': 'ROIToolWidget', 'requires': ()}, {'alias': 'linecut', 'name': 'LineCut', 'widget': 'LineCutToolWidget', 'requires': ()}, {'alias': 'angle/q', 'name': 'Angle/Q', 'widget': 'AngleQToolWidget', 'requires': ()}, {'alias': 'movemotors', 'name': 'MoveMotors', 'widget': 'MotorsToolWidget', 'requires': ('TANGO',)}, {'alias': 'meshscan', 'name': 'MeshScan', 'widget': 'MeshToolWidget', 'requires': ('TANGO',)}, {'alias': '1d-plot', 'name': '1d-Plot', 'widget': 'OneDToolWidget', 'requires': ()}, {'alias': 'projections', 'name': 'Projections', 'widget': 'ProjectionToolWidget', 'requires': ()}, {'alias': 'maxima', 'name': 'Maxima', 'widget': 'MaximaToolWidget', 'requires': ()}, {'alias': 'parameters', 'name': 'Parameters', 'widget': 'ParametersToolWidget', 'requires': ('TANGO',)}, {'alias': 'diffractogram', 'name': 'Diffractogram', 'widget': 'DiffractogramToolWidget', 'requires': ('PYFAI',)}, {'alias': 'q+roi+proj', 'name': 'Q+ROI+Proj', 'widget': 'QROIProjToolWidget', 'requires': ()}]

( dict < str, any > ) tool widget properties

lavuelib.transformationsWidget module

transformation widget

class lavuelib.transformationsWidget.TransformationsWidget(parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

Select how an image should be transformed.

constructor

Parameters:parent (pyqtgraph.QtCore.QObject) – parent object
setEnable(flag)[source]

disables or enables the combobox

Parameters:flag (bool) – combobox to be enabled
setKeepCoordsLabel(flag, transpose=False)[source]

sets keep original coordinates label according to flag

Parameters:flag (bool) – keep original coordinates flag
setTransformation(tname)[source]

sets transformation from the string

Parameters:tname (str) – transfromation name
transformation()[source]

provides transformation name

Returns:transfromation name
Return type:str
transformationChanged

(pyqtgraph.QtCore.pyqtSignal) transformation changed signal

Module contents

Live Viewer widgets