110 likes | 260 Views
PyDVT A Python package for data displaying. Jorg Klora Gilles Berruyer Emmanuel Papillon Nicolas Pascal Alexandre Gobbo. What’s PyDVT?. Package containing Python base classes for data visualization applications. Objective. Easy remake of existing ESRF graphical tools in Python.
E N D
PyDVTA Python package for data displaying Jorg Klora Gilles Berruyer Emmanuel Papillon Nicolas Pascal Alexandre Gobbo
What’s PyDVT? • Package containing Python base classes for data visualization applications.
Objective • Easy remake of existing ESRF graphical tools in Python. • Easy creation of simple graphic applications in beamlines (on-line acquisition) • Standarize graphical application development • Attempt to share model with Scisoft (off-line analysis).
Requirements • Tk or Qt? GUI toolkit independent. • Generic data abstraction layer. • Independent and extensible modules. • Performance. • Multi-Platform. • Easy of use. • Simple and complex cases.
VIEW SELECTION … SELECTION EDF FILE DATA MULTIPLE SELECTION DATA RECT SELECTION SPEC SHARED MEMORY DATA Info LINE SELECTION SPEC FILE DATA PAGE DATA SELECTION Info JPG FILE DATA Array * 1 … DATA VIEW 1 * TOOLS RELATION * FILTER BINDING OBJECTS * * * COLORMAP EDITOR LINE GRAPH INHERITANCE HLINE IMAGE EXTENDED VIEWS GUI BINDING` COLORMAP VLINE CONTOUR QT Binding FUNCTION AUXILIARY DIALOGS RECT MESH IMPORTATION FIT TK Binding … … …
Tk import Tkinter from SPSData import * from ImageView import * root = Tkinter.Tk () data=SPSData (RefreshInterval=100) view = ImageView (root) view.SetSource ( ColormapFilter (None, RectSelection(data))) data.SetSource (sys.argv[1]) data.LoadSource (sys.argv[2]) view.Show () root.mainloop () Qt import qt from SPSData import * from ImageView import * root = qt.Qapplication (sys.argv) data=SPSData (RefreshInterval=100) view = ImageView (None) view.SetSource ( ColormapFilter (None, RectSelection(data))) data.SetSource (sys.argv[1]) data.LoadSource (sys.argv[2]) view.Show () root.setMainWidget (View) root.exec_loop () Tkinter x Pyqt Simple Example
VIEW SELECTION VIEW SPECIFIC NUMPY FILTER VIEW * NUMPY ARRAY * * 1 1 * GRAPH LINE HLINE IMAGE GUI BINDING` VLINE HISTO QT Binding RECT 3D VIEW TK Binding … …
Tk import Tkinter from ImageView import * from Numeric import * root = Tkinter.Tk () view = ImageView (root) arr = Numeric.ones ((500,500)) view.SetData(Image(arr)) view.Show () root.mainloop () Qt import qt from ImageView import * from Numeric import * root = qt.Qapplication (sys.argv) view = ImageView (None) arr = Numeric.ones ((500,500)) view.SetData(Image(arr)) view.Show () root.setMainWidget (View) root.exec_loop () Even Simpler Example (NumPy)
More Information... www.esrf.fr/computing/bliss/python/PyDVT