MXCuBE and Qt4 Ivars Karpics

Similar documents
Abstraction and advanced collection methods Ivars Karpics

MXCuBE3 release, and deployment at ESRF

Outline. MXCuBE3 at ESRF. Remote Access. Quick Review of 3.0. New in version Future work. Marcus Oskarsson

Matplotlib Python Plotting

ALBA-MXCuBE status. MXCuBE and EDNA XALOC. Jordi Andreu, Control ALBA. MXCuBE meeting, 27-30th June 2016, Hamburg (DESY)

Kivy Designer Documentation

Module 4: Creating Content Lesson 4: Creating Charts Learn

Spyder Documentation. Release 3. Pierre Raybaut

im2graph comes in two versions: a Free version and a Premium version.

IVAAP Getting Started Guide. IVAAP April 2018

solidthinking User Interface

Basant Group of Institution Power Point Question

Developing a Power Point Presentation

2D Tutorial. Project Description: Running VisualAnalysis: Setting Up the Project:

Introduction to Mercury

Code Autocomplete Manual

4. In the Change Chart Type dialog box, click the type of chart to which you want to change. 5. Click the chart style. 6. Click OK.

Contents. Introduction 13. Putting The Smart Method to Work 16. Session One: Basic Skills 23

Scientific Graphing in Excel 2007

VIP Documentation. Release Carlos Alberto Gomez Gonzalez, Olivier Wertz & VORTEX team

Introduction to ufit

VERSION AUGUST 1, 2017 PDF STUDIO USERS GUIDE PRESENTED BY: BULLZIP

dataartist User manual

Tutorial. Docking School SAnDReS Tutorial Cyclin-Dependent Kinases with K i Information (Introduction)

Microsoft Excel 2010 Part 2: Intermediate Excel

Making Tables and Graphs with Excel. The Basics

Technology Assignment: Scatter Plots

Viewer. Release gns-mbh.com

Contents. Introduction 15. How to use this course 18. Session One: Basic Skills 21. Session Two: Doing Useful Work with Excel 65

6 Git & Modularization

Scientific Graphing in Excel 2013

Microsoft PowerPoint The Microsoft PowerPoint 2000 Screen. Leander ISD Technology Services CMB Title.

2D Drafting Redefined

Desktop Publishing. MIT Computer Centre 5/1. Shortcut Key of UNDO is A) Ctrl + X B) Ctrl + H C) Ctrl + Y D) Ctrl + Z Correct Answer : D

General Information Project management Introduction... 4 Getting Started Input geometry... 7

1 Introduction. 2 Mounting the RP3 USB interface

Android Studio Setup Procedure

Excel 2013 Essentials Syllabus

Dell Canvas Layout. Version 1.0 User s Guide

Changing Worksheet Views

Gloucester County Library System EXCEL 2007

Maple Quick Start. Maplesoft, a division of Waterloo Maple Inc.

CS 4300 Computer Graphics

Workbooks & Worksheets. Getting Started. Formatting. Formulas & Functions

Day : Date : Objects : Open MS Excel program * Open Excel application. Select : start. Choose: programs. Choose : Microsoft Office.

Microsoft Office PowerPoint 2013 Courses 24 Hours

LinkMotion and CorelDraw 9, 10, 11, 12, X3, X4, X5, X6, X7 and X8:

Nutmeg Documentation. Release 0.1. Christopher Ham

XPEL DAP SUPPORT. DAP Tool List & Overview DESCRIPTION ICON/TOOL (SHORTCUT)

Tetra4D Converter Tetra4D Enrich

Impress Guide. Chapter 1 Introducing Impress

Working in Print Studio

Introduction to Word 2010

USO RESTRITO. AppleWorks 6. Quick Reference

KIN 147 Lab 06: Ground Reaction Force (GRF) Data Analysis Excel analyses work much better on PCs than on Macs (especially older Macs)

Lesson 5 Solid Modeling - Constructive Solid Geometry

Excel 2016 Essentials Syllabus

Using the New Profile Editor

Python GUI programming with PySide. Speaker: BigLittle Date: 2013/03/04

Banner Document Management. QuickScan Pro Batch Cleanup Tools

EXCEL SKILLS. Selecting Cells: Step 1: Click and drag to select the cells you want.

Interface Overview. Menu Bar. Control Palette. Toolbox. Palettes. Document Window. Status Bar

Selecting An XML File. Boris Job Slate

introduction Manipulate objects and navigate in the 3Dworld Use the electronic catalogue (ecat) Change component parameters Connect components

Step-by. A Very Warm Welcome to the Exciting World of Computers. Let s get Started It s easy with my Step- Instructions

Lesson 9. XII COMPUTER SCIENCE D. AGILAN. M.Sc., M.Ed., M.Phil., Page 1

Introduction to Python and VTK

DESCRIPTION. Allows you to copy items selected. Allows you to paste items in virtual clipboard. Deletes selected items.

Microsoft Excel Keyboard Shortcuts

The Python Mini-Degree Development Environment Guide

Press the Plus + key to zoom in. Press the Minus - key to zoom out. Scroll the mouse wheel away from you to zoom in; towards you to zoom out.

Microsoft Excel 2016 / 2013 Basic & Intermediate

IMPAX Volume Viewing 3D Visualization & Segmentation

Flair Introduction. Beginners FLUKA Course

Introduction to Flair. Beginners FLUKA Course

Karabo. An integrated software framework combining control, data management, and scientific computing tasks. Burkhard Heisen October 11, ICALEPCS 2013

PolyWorks V10 Beginner s Guide

4. Spreadsheet Design Features: Formatting

Creating a new CDC policy using the Database Administration Console

Lesson 1 Parametric Modeling Fundamentals

Microsoft. An Introduction

Continuous integration & continuous delivery. COSC345 Software Engineering

Editing in Premiere Pro CC 2015

button Double-click any tab on the Ribbon to minimize it. To expand, click the Expand the Ribbon button

Inserting Information into PowerPoint

PowerPoint 2010 Foundation PowerPoint 2010 Foundation Page 1 SAMPLE

Belle II - Git migration

Working with PDF s. To open a recent file on the Start screen, double click on the file name.

Detailed Table of Contents

Included with the system is a high quality speech synthesizer, which is installed automatically during the SymWord setup procedure.

Microsoft Excel Chapter 3. What-If Analysis, Charting, and Working with Large Worksheets

Animation and Mechanization Tutorial

Flair Geometry Editor Part I. Beginners FLUKA Course

Strömningslära Fluid Dynamics. Computer laboratories using COMSOL v4.4

CodeDynamics 2018 Release Notes

Interactive Presentation Manual

Laser Engraving Using Base and Mass Production Modules

Microsoft How to Series

ARTIFICIAL INTELLIGENCE AND PYTHON

VHIMS UPGRADE VERSION

Transcription:

MXCuBE and Qt4 Ivars Karpics

Content Current status: Available bricks and functions Code clean up GUI Builder GraphicsManger hwobj Advanced methods (MeshScan, Xray-centring, etc.) Interleave feature Conclusions and future 2

Available bricks (main GUI) 3

Available bricks 4

Available bricks (TaskToolBox) 5

Available bricks (TaskToolBox) 6

Available bricks (Parameters/Results) 7

Available bricks (TaskToolBox) 8

Available bricks (Sample changer, Plate manipulator) 1. Possibility to configure two sample changers. 2. Information about plate from CRIMS. 3. Qt4_SampleChanger brick. 4. Qt4_PlateBrick to navigate in cell or move to crystal position. 9

GUI builder 10

Code clean up - All main bricks and widgets transformed to Qt4_. - New layout manager for BlissFramework GUI. - Qt4 branch merged in master branch and deleted after the merge. - Improved code formating based on PEP 0008, regular check with pylint. - New style Qt4 signal/slots between Bricks and widgets. - Qt4 Designer used to create most of the widgets. qt.qobject.connect(self._list_box,qt.signal(\ "selectionchanged()"), self.list_box_selection_changed) prefix_ledit = self._data_path_widget.\ data_path_widget_layout.child('prefix_ledit') run_number_ledit = self._data_path_widget.\ data_path_widget_layout.child('run_number_ledit') self.connect(prefix_ledit, qt.signal("textchanged\ (const QString &)"), self._prefix_ledit_change) self._lines_listwidget.itemselectionchanged.connect(\ self.lines_listwidget_selection_changed) self._data_path_widget.data_path_layout.prefix_ledit.textchanged.\ connect(self._prefix_ledit_change) self._data_path_widget.data_path_layout.run_number_ledit.\ textchanged.connect(self._run_number_ledit_change) self._data_path_widget.pathtemplatechangedsignal.connect(\ self.handle_path_conflict) self.connect(run_number_ledit, qt.signal("textchanged(const QString &)"), self._run_number_ledit_change) self.connect(self._data_path_widget, qt.pysignal("path_template_changed"), self.handle_path_conflict) 11

How to improve code 1. pylint for code formatting and style. 2. radon to compute. - Cyclomatic Complexity (A F from low - simple block to very high - error-prone, unstable block) - Maintainability Index score (A C from very hight to Extremely low). 12

GraphicsManager hwobj Example: creating a new centring position with 3 clicks HutchMenuBrick 1 MiniDiff Qt4_HutchMenu Qt4_GraphicsManager 2 TaskToolBox 4 3 ShapeHistory Qt4_CameraBrick MiniDiff BeamInfo Camera CameraBrick Qub Camera BeamInfo 1. Graphics are written from scratch with based on native Qt4 Qgraphs items. 2. Easy to modify or adjust (more transparent than Qub). 3. No need to define hwobj in several places. 4. GraphicsManager takes care of all connections and function calls. 13

Graphics - Main functions accessible via different controls. - Easy way to customize the look. 1. HutchMenu 2. Popup menu (right click on the view) 3. Toplevel menu bar 4. Drag and drop toolbar 5. Shortcuts: Ctrl+1 - Create centring point with 3 click Ctrl+2 - Create centring point on current position Ctrll+3 - Create helical line Esc - cancel command 14

Graphics 1. Basic graphics items available. 2. Qt4_GraphicsManagerBrick to add, remove and customize items. 15

Graphics manager brick - Measurement tools, image scaling, beam mark move, rotation axis 16

Embedded matplotlib in MXCuBE 1. Well know tool for plotting scientific data. 2. No extra dependencies. 3. Zoom, navigation, image save and other build-in functions. 4. Curves, 2d maps, polar charts and 3D maps. 5. Qt4_matplot_widget.py in progress and will substitute pymca plots. 17

Dependencies 1. ubuntu 12, 14, (15), macos, 2. python and PyQt4 comes with ubuntu 3. sudo apt-get install python-gevent, python-louie, python-suds, python-numpy, python-scipy, python-matplotlib, pymca 5. get code from git and run Gnome KDE 18

Conclusion 1. Qt4 version allows easy to implement new features and advanced methods like interleaved collections, mesh scans, x-ray centring and others. 2. Qt4 is well documented and supported. 3. Reduced list of dependencies comparing Qt3 version. 4. Integrated matplotlib for scientific data plotting. Future: 1. Full migration to Qt4 has been started. 2. No more new features to Qt3 bricks. 3. Qt4 version as a desktop version and possibly web version for remote access. 4. Running code from and synch with git (lesson learned with 2 reps). 5. Bug reports and feedback are welcome! 19

Thank you for your attention 20