Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Modules:   lcls2/psana/psana/graphqt/GW*.py and other
  • Examples: lcls2/psana/psana/graphqt/examples/ex_GW*.py and other

PyQt Widgets

GWView

Image Added

GWViewExt

Image Added

GWViewImage

Image Added

GWViewHist

Image AddedImage AddedImage Added

GWViewAxis

...

Image AddedImage Added



GWViewColorBar

Image AddedImage AddedImage AddedImage Added

GWImageAxes

Image AddedImage Added

GWSpectrum

Image AddedImage Added

GWViewImageROI

Image AddedImage Added

Summary for Widgets

WidgetFunctionalityParametersisIs-a DependencyComments


GWViewmoving/zooming viewport for scenerscene, origin='UL', scale_ctl='HV'GWView < QGraphicsView



GWViewExt+ adds update speed and signals to GWView+ signal_fastGWViewExt < GWView



GWViewImage+ QPixmap to QGraphicsScene of GWViewExt
GWViewImage < GWViewExt



GWViewHist+ Histogram to ...
GWViewHist < GWViewExt



GWViewAxis+ Histogram Axis to ...
GWViewAxis < GWViewExt



GWViewColorBar+ ColorBar to ...
GWViewColorBar < GWViewExt



GWImageAxesQWidget with image and x-y axes
GWImageAxes < QWidget



GWSpectrumQWidget with histogram x-y axes and color bar
GWSpectrum < QWidget



GWViewImageROI+ ROI to GWImageAxes
GWViewImageROI < GWImageAxes











Control

Handles and ROI

Control Handles

Handle TypeFunctionalityParametersIs-a DependencyComments
OriginROI origin position


TranslationHandle for entire ROI translation


RotationHandle for ROI rotation


MoveHandle for moving of particular ROI's point


MenuPop-up menu on mouse click

Invert/delete/change lookout
CenterThe same as Move?


Q: Anything else?



ROI

ROI TypeFunctionalityParametersIs-a DependencyComments
Pixelsingle pixel maskposition

Linepixels along lineposition1, position2
Q: width?
Rectangle
position(T,L), size (W,H), rotation

Ellipse
position(center), size (W,H), rotation

Closed Polyline
position[N-points]

Arche
3-points like in AMI2

Q: Circle?
position and radius
Q: subcase of Ellipse
Q: Square?
position, size, rotation
Q: subcase of Rectangle
Q: Polygone?


Q: subcase of Polyline
Q: Anything else?



Behavior

Q: how many handles per ROI - minimal or in each corner?

Q: how to add ROI to image

  1. select ROI type from GUI - draws default ROI - then move and re-shape it (like in ami2 or Chuck's Psocake) - intuitive but needs more clicks...
  2. select ROI type from GUI - then click and drag on image - less intuitive but less number of clicks (like in Power point, AutoCAD)

Q: what is the most convenient control behavior?

  • mask on/off - shows image with/without ROIs
  • in regular case ROIs are shown by boarder lines only
  • on mouse click close to ROI boarder line > control points shows-up/disappears for one ROI at a time
  • click and drag handle to change ROI position/size/rotation or see a menu of actions
  • bottom to convert ROIs to mask

Implementation pattern

  • factory for control handles
  • factory for ROIs

References