South East South East RegionalRegional
Collaborative Access Collaborative Access TeamTeam
Controls and Programs:Using Python With MX
James F. FaitBill Lavender
MX Client/Server
• MxServer -- Linux or Windows– Interface to Hardware– Multiple Servers on Beamline
• MX Client Programs– Motor– MXGUI– ImcaGUI– Optimize– Python MX GUI
Tcl/Tk User Interface
• Existing GUIs Used at IMCA, others
• MXGUI -- Staff Level UI
• IMCAGUI -- Crystallographic Setup– MAD Fluorescence scans and Analysis– Periodic Table for Edge Setup
• Optimize -- Intensity Optimization
• Auto-Optimize -- “One Button” Setup
Imcagui User Interface
Selecting an Absorption Edge
Python User Interface
• Similar look and feel to Tcl/Tk user GUI
• Implemented with Tkinter and PMW
• Uses native mp binding for Mx
• Better performance than Tcl/Tk
Attenuation Widget
Thermocouple Logger
Mono RTD Logger
Beam Position Monitor
• 4 PIN Diodes • 0.5 μm Chromium Foil• Back Fluorescence• Less than 1μrad tune
sensitivity, 5 μm displacement.
• Automatic tune adjustment software, for slow changes in tune.
BPM Tune Response
2nd Crystal Tune Feedback
Main User GUI
Periodic Table for MAD Setup
Crystal Alignment