lavuelib package

Subpackages

Submodules

lavuelib.axesDialog module

detector axis widget

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

Bases: 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

(float) x-coordinates of the first pixel

xscale

(float) x-scale of pixels

xtext

(str) text of x-axis

xunits

(str) units of x-axis

yposition

(float) y-coordinates of the first pixel

yscale

(float) y-scale of pixels

ytext

(str) text of y-axis

yunits

(str) units of y-axis

lavuelib.bkgSubtractionWidget module

background subtraction widget

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

Bases: 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: 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: 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

(list <str>) a list of commands

error

(Exception) error thrown by the executed command

finished

(pyqtgraph.QtCore.pyqtSignal) finished signal

instance

(instanceobj or type) command instance

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

(logging.Logger) logger object

lavuelib.configDialog module

configuration widget

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

Bases: QDialog

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

accelbuffersum

(bool) accelerate buffer sum

accept()[source]

updates class variables with the form content

addrois

(bool) add rois enabled

asapobeamtime

(str) asapo beamtime id

asapobtmetafile

(str) asapo beamline metadata file

asapodatasources

(list < str > ) asapo datasources

asaposerver

(str) asapo server

asaposourcepath

(str) asapo sourcepath

asapotoken

(str) asapo token

aspectlocked

(bool) aspect ratio locked

autodownsample

(bool) auto down sample

autorefreshtime

(bool) auto enlarge refresh time

autozmqtopics

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

availimagesources

(str) list with available image source widget names

availtoolwidgets

(str) list with available tool widget names

calcvariance

(bool) calculate variance

correctsolidangle

(bool) correct solid angle flag

createGUI()[source]

create GUI

crosshairlocker

(bool) crosshair locker switched on

defdetservers

(bool) use default detector servers

detservers

(str) json hidra detector server list

diffnpt

(int) number of points for diffractogram

door

(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

(str) json list with filters

floattype

(str) float type for pixel intensity

geometryfromsource

(bool) fetch geometry from source

gradientcolors

(bool) image channels shown with gradient colors

hidraport

(str) hidra data port

imagechannels

(bool) map image sources to color channels

imagesources

(str) json list with image source widget names

interruptonerror

(bool) interrupt on error

keepcoords

(bool) keep original coordinates

lazyimageslider

(bool) lazy image slider

maxmbuffersize

(str) maximal number of images in memory buffer

nanmask

(bool) nan mask enabled

negmask

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

nrsources

(int) number of image sources

nxslast

(bool) nexus file source starts from the last image

nxsopen

(bool) nexus file source keeps the file open

orderrois

(bool) fetch rois order enabled

overflowcolor

(str) json list with overflow color

refreshtime

(float) refresh time in s

roiscolors

(str) json list with rois colors

sardana

(bool) sardana enabled

secautoport

(bool) find security stream port automatically

secport

(str) security stream port

secstream

(bool) security stream enabled

sendresults

(bool) send results to LavueController flag

sendrois

(bool) send rois to LavueController flag

showaddhisto

(bool) show color distribution additional histogram widget

showallrois

(bool) show all rois flag

showfilters

(bool) show filter widget

showframerate

(bool) show frame rate widget

showhighvaluemask

(bool) show high value mask widget

showhisto

(bool) show color distribution histogram widget

showlevels

(bool) show intensity levels widget

showmask

(bool) show mask widget

showmbuffer

(bool) show memory buffer widget

shownorm

(bool) show image normalization widget

shownormsf

(bool) show image normalization scaling factor widget

showoverflow

(bool) show intensity overflow widget

showrange

(bool) show range window widget

showscale

(bool) show intensity scale widget

showstats

(bool) show statistics widget

showsteps

(bool) show image step widget

showsub

(bool) show bakcground subtraction widget

showsubsf

(bool) show bakcground subtraction scaling factor widget

showtrans

(bool) show transformation widget

singlerois

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

sourcedisplay

(bool) store display parameters for specific sources

statswoscaling

(bool) statistics without intensity scaling

storegeometry

(bool) store detector geometry

timeout

(int) image source timeout in ms

toolpollinginterval

(float) tool polling interval is s

toolrefreshtime

(float) tool refresh time is s

toolwidgets

(str) json list with tool widget names

zeromask

(bool) zero mask enabled

zmqcolon

(bool) zmq colon configuration separator

zmqtopics

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

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

Bases: 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: 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: 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.GLOBALAUTOREFRESHTIME = True

(bool) auto enlarge time

lavuelib.dataFetchThread.GLOBALREFRESHTIME = 0.1

(float) refresh time in seconds

lavuelib.diffRangeDialog module

detector range widget

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

Bases: QDialog

diffractogram range widget class

constructort

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

accept()[source]

updates class variables with the form content

azend

(float) end position of azimuth angle

azstart

(float) start position of azimuth angle

createGUI()[source]

create GUI

radend

(float) end position of radial coordinate

radstart

(float) start position of radial coordinate

radunitindex

(int) radial angle index

radunits

(list <unicode>) list of units

lavuelib.displayExtensions module

image display widget

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

Bases: DisplayExtension

base mark extension

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

name

(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: 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

(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: 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

(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: 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

(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: 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: 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

(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: 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

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:

parameters (lavuelib.toolWidget.ToolParameters) – tool parameters

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

Bases: DisplayExtension

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

name

(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: 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

(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: 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

(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: 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: 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

(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: 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: BaseMarkExtension

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

name

(str) tool name

show(parameters)[source]

set subwidget properties

Parameters:

parameters (lavuelib.toolWidget.ToolParameters) – tool parameters

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

Bases: DisplayExtension

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

name

(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: 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

(bool) dirty flag

headers

(list <str>) table headers

newvalues

(list <str>) table headers

record

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

title

(str) dialog title

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

(logging.Logger) logger object

lavuelib.edListDialog module

editable list dialog

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

Bases: 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

(bool) dirty flag

headers

(list <str>) table headers

record

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

title

(str) dialog title

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

(logging.Logger) logger object

lavuelib.filewriter module

Provides abstraction for file writer

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

Bases: FTObject

virtual file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property 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

property 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: 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: FTObject

file tree data filter

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property filterid

getter for compression filter id

Returns:

compression rate

Return type:

int

property options

getter for compression options

Returns:

compression options

Return type:

tuple <int>

property rate

getter for compression rate

Returns:

compression rate

Return type:

int

reopen()[source]

reopen attribute

property shuffle

getter for compression shuffle

Returns:

compression shuffle

Return type:

bool

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

Bases: FTDataFilter

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

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

Bases: FTObject

file writer field

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property attributes

return the attribute manager

Returns:

attribute manager

Return type:

FTAttributeManager

property 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

property shape

field shape

Returns:

field shape

Return type:

list < int >

property 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: 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

(str) file name

property 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: FTObject

file tree group

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property 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

property size

group size

Returns:

group size

Return type:

int

stepsperfile

(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: 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

property 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

property h5object

provide object of native library

Returns:

h5 object

Return type:

any

property is_valid

check if attribute is valid

Returns:

valid flag

Return type:

bool

property 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: FTObject

target field view for VDS

constructor

Parameters:

h5object (any) – h5 object

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

Bases: 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: 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: QDialog

detector geometry widget class

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

accept()[source]

updates class variables with the form content

centerx

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

centery

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

createGUI()[source]

create GUI

detdistance

(float) detector distance in mm

energy

(float) energy in eV

pixelsizex

(float) pixel x-size in um

pixelsizey

(float) pixel y-size in um

lavuelib.gradientDialog module

gradient dialog

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

Bases: 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

(int) gradient name

lavuelib.h5cppwriter

Provides h5cpp file writer

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

Bases: FTAttribute

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

close()[source]

close attribute

property dtype

field data type

Returns:

field data type

Return type:

str

property is_valid

check if attribute is valid

Returns:

valid flag

Return type:

bool

name

(str) object name

path

(str) object nexus path

read()[source]

read attribute value

Returns:

python object

Return type:

any

reopen()[source]

reopen attribute

property 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: 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

property is_valid

check if link is valid

Returns:

valid flag

Return type:

bool

name

(str) object name

names()[source]

key values

Returns:

attribute names

Return type:

list <str>

path

(str) object nexus path

reopen()[source]

reopen field

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

Bases: FTDataFilter

file tree deflate

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

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

Bases: H5CppDataFilter

deflate filter

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

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

Bases: FTField

file tree file

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property attributes

return the attribute manager

Returns:

attribute manager

Return type:

H5CppAttributeManager

close()[source]

close field

property 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

property is_valid

check if field is valid

Returns:

valid flag

Return type:

bool

name

(str) object name

path

(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

property shape

field shape

Returns:

field shape

Return type:

list < int >

property 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: FTFile

file tree file

constructor

Parameters:
  • h5object (any) – h5 object

  • filename (str) – file name

close()[source]

close file

flush()[source]

flash the data

property is_valid

check if file is valid

Returns:

valid flag

Return type:

bool

path

(str) object nexus path

property 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: 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

property 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

property is_valid

check if field is valid

Returns:

valid flag

Return type:

bool

name

(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

(str) object nexus path

reopen()[source]

reopen group

property size

group size

Returns:

group size

Return type:

int

Bases: 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

property is_valid

check if link is valid

Returns:

valid flag

Return type:

bool

name

(str) object name

path

(str) object nexus path

refresh()[source]

refresh the field

Returns:

refreshed

Return type:

bool

reopen()[source]

reopen field

property target_path

target path

Returns:

target path

Return type:

str

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

Bases: 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

(str) nexus field path

filename

(str) directory and file name

maxshape

(list < int >) maximal shape

shape

(list < int >) shape

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

Bases: 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

(list < int >) maximal shape

shape

(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: FTAttribute

file tree attribute

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

close()[source]

close attribute

property dtype

attribute data type

Returns:

attribute data type

Return type:

str

property 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

property 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: 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

property is_valid

check if link is valid

Returns:

valid flag

Return type:

bool

name

(str) object name

names()[source]

key values

Returns:

attribute names

Return type:

list <str>

path

(str) object nexus path

reopen()[source]

reopen field

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

Bases: 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: H5PYDataFilter

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

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

Bases: FTField

file writer field

constructor

Parameters:
  • h5object (any) – h5 object

  • tparent (FTObject) – treee parent

property attributes

return the attribute manager

Returns:

attribute manager

Return type:

H5PYAttributeManager

close()[source]

close field

property 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

property 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

property shape

field shape

Returns:

field shape

Return type:

list < int >

property 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: 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

property is_valid

check if group is valid

Returns:

valid flag

Return type:

bool

path

(str) object nexus path

property 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: 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

property 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

property 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

property size

group size

Returns:

group size

Return type:

int

Bases: 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

property 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]
property target_path

target path

Returns:

target path

Return type:

str

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

Bases: FTTargetFieldView

target field view for VDS

constructor

Parameters:
  • h5object (any) – h5 object

  • shape (list < int >) – shape

shape

(list < int >) shape

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

Bases: 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

(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: 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: 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: 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

(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

(bool) enabled flag

scale

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

xtext

(str) label of x-axis

xunits

(str) units of x-axis

ytext

(str) label of y-axis

yunits

(str) units of y-axis

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

Bases: 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

(bool) do brightfield substraction

dobkgsubtraction

(bool) do background substraction

scaling

(str) intensity scaling

statswoscaling

(bool) calculate statistics without scaling

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

Bases: 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

(bool) left-right flip coordinates flag

orgtranspose

(bool) transpose coordinates flag

transpose

(bool) transpose coordinates flag

updownflip

(bool) up-down flip coordinates flag

lavuelib.imageField

configuration widget

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

Bases: QDialog

constructor

Parameters:

parent (pyqtgraph.QtCore.QObject) – parent object

accept()[source]

updates class variables with the form content

createGUI()[source]

create GUI

field

(str) selected field

fields

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

frame

(int) frame

growing

(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/tango/lavuelib/h5cppwriter.py'>, 'h5py': <module 'lavuelib.h5pywriter' from '/home/tango/lavuelib/h5pywriter.py'>}

(dict <str, module> ) nexus writer modules

lavuelib.imageNexusExporter module

image Nexus exporter

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

Bases: 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

(pyqtgraph.parametertree.Parameter) exporter parameters

windows = []

lavuelib.imageSource module

set of image sources

lavuelib.imageSource.ASAPO = False

(bool) asapo imported

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

Bases: 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

(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

(str) data type

format

(str) decoder format

frameNumber()[source]

no data

load(data)[source]

loads encoded data

Parameters:

data ([str, str]) – encoded data

name

(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: 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: 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: 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 = False

(bool) hidra imported

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

Bases: 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: 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: 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.REQUESTS = True

(bool) requests imported

lavuelib.imageSource.TANGO = True

(bool) tango imported

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

Bases: 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: 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

(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

(bool) reading flag

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

Bases: 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: 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

(str) data type

format

(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

(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: 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 = '14'

(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: 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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

(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: 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

(float) integration time in seconds

xintervals

(int) number of x intervals

yintervals

(int) number of y intervals

lavuelib.levelsGroupBox module

level widget

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

Bases: 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: 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: 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

(str) json dictionary with metadata

name

(str) data name

scc

(int) color channel size

sx

(int) x size

sy

(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

(str) transformation

x

(int) x translation

y

(int) y translation

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

lavuelib.maskWidget module

mask widget

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

Bases: 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: ExportDialog

ExportDialog with bookkeeping parameters

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

Bases: PlotWidget

Plot Widget with improved Export Dialog

When initializing PlotWidget, parent and background are passed to GraphicsWidget.__init__() and all others are passed to PlotItem.__init__().

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: 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: 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: 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.GLOBALREFRESHTIME = 0.1

(float) refresh time in seconds

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

Bases: 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: QWidget

Define bkg image and subtract from displayed image.

constructor

Parameters:
applyBFStateChanged

(pyqtgraph.QtCore.pyqtSignal) apply state change signal

bfFileSelected

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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: 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: 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

(lavuelib.maskWidget.Maskwidget) mask widget

maskWidget

(lavuelib.maskWidget.Maskwidget) mask widget

class lavuelib.preparationGroupBox.QHLine[source]

Bases: QFrame

horizontal line

constructor

lavuelib.qtuic module

uic support

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

Bases: QWidget

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

loadProgress

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

loadStarted

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

stop(self)
title(self) str
titleChanged

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

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

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

wheelEvent(self, a0: QWheelEvent)
zoomFactor(self) float

lavuelib.rangeDialog module

detector range widget

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

Bases: 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

(float) end position of polar angle

polsize

(int) grid size of polar angle

polstart

(float) start position of polar angle

radqend

(float) end position of radial coordinate

radqsize

(int) grid size of radial coordinate

radqstart

(float) start position of radial coordinate

radthend

(float) end position of radial coordinate

radthsize

(int) grid size of radial coordinate

radthstart

(float) start position of radial coordinate

lavuelib.rangeWindowGroupBox module

range window widget

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

Bases: 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: 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 RecursionError). 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: 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

(bool) accelerate buffer sum

addrois

(bool) add rois to sardana

aimutex

(pyqtgraph.QtCore.QMutex) ai mutex

analysisdevice

(str) analysis device name

asapobeamtime

(str) asapo beamtime id

asapobtmetafile

(str) asapo beamline metadata file

asapodatasources

(list < str > ) asapo datasources

asaposerver

(str) asapo server

asaposourcepath

(str) asapo sourcepath

asapotoken

(str) asapo token

aspectlocked

(bool) image aspect ratio locked

autodownsample

(bool) auto down sample

autorefreshtime

(bool) auto enlarge refresh time

autozmqtopics

(bool) automatic zmq source topics

bfimagename

(str) last brightfield image file name

bkgimagename

(str) last background/darkfield image file name

calcvariance

(bool) calculate variance

calibrationfilename

(str) calibration file name

centerx

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

centery

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

correctsolidangle

(bool) correct solid angle flag

crosshairlocker

(bool) crosshair locker switched on

customGradients()[source]

sets source display parameters

Returns:

custom gradients

Return type:

dict <str, any>

defdetservers

(bool) use default detector servers

detdistance

(float) detector distance in mm

detname

(str) detector name

detponi1

(float) poni1 parameter in m

detponi2

(float) poni2 parameter in m

detrot1

(float) rot1 parameter in rad

detrot2

(float) rot2 parameter in rad

detrot3

(float) rot3 parameter in rad

detservers

(list < str>) hidra detector server list

detsplinefile

(str) detector splineFile

diffnpt

(int) number of points for diffractogram

dirtrans

(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

(str) door device name

energy

(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

(str) json list with filters

floattype

(str) float type for pixel intensity

geometryfromsource

(bool) fetch geometry from source

gradientcolors

(bool) image channels shown with gradient colors

hidraport

(str) hidra data port

imagechannels

(bool) map image sources to color channels

imagename

(str) last image file name

imagesources

(str) json list with image source widget names

interruptonerror

(bool) interrupt on error

keepcoords

(bool) keep original coordinates

lazyimageslider

(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

(str) last mask image file name

maxmbuffersize

(str) maximal number of images in memory buffer

nanmask

(bool) nan mask enabled

negmask

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

nrsources

(int) number of image sources

nxslast

(bool) nexus file source starts from the last image

nxsopen

(bool) nexus file source keeps the file open

orderrois

(bool) fetch rois order enabled

overflowcolor

(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

(float) pixel x-size in um

pixelsizey

(float) pixel y-size in um

refreshtime

(float) refresh time is s

roiscolors

(str) json list with roi colors

sardana

(bool) sardana enabled

secautoport

(bool) search for security stream port automatically

seccontext

(zmq.Context) zmq context

secport

(str) security stream port

secsocket

(zmq.Socket) zmq security stream socket

secsockopt

(bool) security stream options

secstream

(bool) security stream enabled

sendresults

(bool) send results to LavueController flag

sendrois

(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

(bool) show intensity hostogram

showallrois

(bool) show all rois flag

showfilters

(bool) show filter widget

showframerate

(bool) show frame rate widget

showhighvaluemask

(bool) show high mask value widget

showhisto

(bool) show intensity hostogram

showlevels

(bool) show intensity levels widget

showmask

(bool) show mask widget

showmbuffer

(bool) show memory buffer widget

shownorm

(bool) show image normalization widget

shownormsf

(bool) show image normalization scaling factor widget

showoverflow

(bool) show intensity overflow widget

showrange

(bool) show range window widget

showscale

(bool) show intensity scale widget

showstats

(bool) show statistics widget

showsteps

(bool) show image step widget

showsub

(bool) show bakcground subtraction widget

showsubsf

(bool) show bakcground subtraction scaling factor widget

showtrans

(bool) show transformation widget

singlerois

(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

(bool) store display parameters for specific sources

statswoscaling

(bool) statistics without scaling

store(settings)[source]

Stores settings in QSettings object

Parameters:

settings (pyqtgraph.QtCore.QSettings) – QSettings object

storegeometry

(bool) store detector geometry

timeout

(int) image source timeout for connection

toolpollinginterval

(float) tool polling interval is s

toolrefreshtime

(float) tool refresh time is s

toolwidgets

(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

(bool) zero mask enabled

zmqcolon

(bool) zmq colon configuration separator

zmqtopics

(list < str > ) zmq source topics

lavuelib.sourceTabWidget module

image source selection

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

Bases: 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

(list <str>) subwidget object names

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

Bases: 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.ASAPOSourceWidget(sourceid=0, parent=None)[source]

Bases: 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, asapobtmetafile=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 asapobtmetafile: beamtime metadata file :type asapobtmetafile: str :param disconnect: disconnect on update :type disconnect: bool :param kargs: source widget input parameter dictionary :type kargs: dict < str, any>

widgetnames

(list <str>) subwidget object names

class lavuelib.sourceWidget.DOOCSPropSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.EpicsPVSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.HTTPSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.HidraSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.NXSFileSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.SourceBaseWidget(sourceid=0, parent=None)[source]

Bases: QWidget

general source widget

constructor

Parameters:
  • sourceid (int) – source id

  • parent (pyqtgraph.QtCore.QObject) – parent object

active

(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

(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

(list <str>) subwidget object names

widgets

(list <PyQt5.QtWidgets.QWidget>) subwidget objects

class lavuelib.sourceWidget.TangoAttrSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.TangoEventsSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.TangoFileSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.TestSourceWidget(sourceid=0, parent=None)[source]

Bases: SourceBaseWidget

test source widget

constructor

Parameters:
  • sourceid (int) – source id

  • parent (pyqtgraph.QtCore.QObject) – parent object

class lavuelib.sourceWidget.TinePropSourceWidget(sourceid=0, parent=None)[source]

Bases: 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

(list <str>) subwidget object names

class lavuelib.sourceWidget.ZMQSourceWidget(sourceid=0, parent=None)[source]

Bases: 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, zmqcolon=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

  • zmqcolon (bool) – zmq colon configuation separator

  • kargs (dict < str, any>) – source widget input parameter dictionary

widgetnames

(list <str>) subwidget object names

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: 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: 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

(list`<:obj:`str>) motortips list

title

(str) group title

xmotordevice

(tango.DeviceProxy) x motor device

xmotorname

(str) x motor name

ymotordevice

(tango.DeviceProxy) y motor device

ymotorname

(str) y motor name

lavuelib.toolWidget module

image widget

class lavuelib.toolWidget.AngleQToolWidget(parent=None)[source]

Bases: 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

(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.DiffractogramToolWidget(parent=None)[source]

Bases: 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

(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.IntensityToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.LineCutToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.MaximaToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

updateGeometryTip()[source]

update geometry tips

class lavuelib.toolWidget.MeshToolWidget(parent=None)[source]

Bases: 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

(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.MotorsToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.OneDToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.ParametersToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.ProjectionToolWidget(parent=None)[source]

Bases: 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

(list < [pyqtgraph.QtCore.pyqtSignal, str] >) list of [signal, slot] object to connect

class lavuelib.toolWidget.QROIProjToolWidget(parent=None)[source]

Bases: 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

(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

class lavuelib.toolWidget.ROIToolWidget(parent=None)[source]

Bases: 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

(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

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: 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