Giter Club home page Giter Club logo

blissframework's Introduction

MXCuBE

License: LGPL v3

MXCuBE stands for Macromolecular Xtallography Customized Beamline Environment. The project started in 2005 at ESRF, since then it has been adopted by other institutes in Europe. In 2010, a collaboration agreement has been signed for the development of MXCuBE with the following partners:

Latest information about the MXCuBE project can be found in the project webpage.

MXCuBE is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

MXCuBE is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with MXCuBE. If not, see https://www.gnu.org/licenses/.

Information for developers

Information for users

Oscarsson, M. et al. 2019. “MXCuBE2: The Dawn of MXCuBE Collaboration.” Journal of Synchrotron Radiation 26 (Pt 2): 393–405.

Gabadinho, J. et al. (2010). MxCuBE: a synchrotron beamline control environment customized for macromolecular crystallography experiments. J. Synchrotron Rad. 17, 700-707

blissframework's People

Contributors

beteva avatar cguilloud avatar douglasbeniz avatar hellmig avatar ivarskarpics avatar jan-meyer avatar marcus-oscarsson avatar mguijarr avatar rhfogh avatar tbn avatar txolutions avatar vrey01 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

blissframework's Issues

MXCuBE (Qt4) crashes when loading gui_config_file (on 'task_tollbox_brick')

I am starting a brand new installation, all repositories cloned from master. When I try to run MXCuBE the program it bombs out before the gui starts, giving the message below. Full details at the bottom of this issue. Can anyone help?

[...]

2017-02-09 17:05:05,013 |root |ERROR | No slot 'set_tree_brick' in receiver task_tollbox_brick
2017-02-09 17:05:05,013 |root |ERROR | exception while loading GUI file

[...]

File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 305, in make_connections
getattr(sender, connection["signal"]).connect(slot)
AttributeError: 'NullBrick' object has no attribute 'request_tree_brick'
QObject::startTimer: QTimer can only be used with threads started with QThread
2017-02-09 17:05:05,172 |HWR |INFO | XML-RPC server closed

There are previous error messages because PyMca is not installed, but this should not be relevant (?).

The precise command being run is:
'~/pycharm/MXCuBE2/mxcube-2/bin/mxcube --hardwareRepository ~/pycharm/MXCuBE2/mxcube-2/ExampleFiles/HardwareObjects.xml/'

The versions of the various libraries are:
|~> conda env export -n mxpath
name: mxpath
channels: !!python/tuple

  • !!python/unicode
    'defaults'
    dependencies:
  • cairo=1.12.18=0
  • dateutil=2.4.1=py27_0
  • freetype=2.4.10=0
  • gevent=1.2.0=py27_0
  • greenlet=0.4.11=py27_0
  • libgfortran=1.0=0
  • libpng=1.5.13=1
  • matplotlib=1.3.1=np18py27_1
  • numpy=1.8.2=py27_1
  • openssl=1.0.2j=0
  • pip=9.0.1=py27_1
  • pixman=0.26.2=0
  • py2cairo=1.10.0=py27_2
  • pydispatcher=2.0.5=py27_0
  • pyparsing=2.0.1=py27_0
  • pyqt=4.10.4=py27_0
  • python=2.7.13=0
  • pytz=2016.10=py27_0
  • qt=4.8.5=0
  • readline=6.2=2
  • scipy=0.14.0=np18py27_0
  • setuptools=27.2.0=py27_0
  • sip=4.15.5=py27_0
  • six=1.10.0=py27_0
  • sqlite=3.13.0=0
  • tk=8.5.18=0
  • wheel=0.29.0=py27_0
  • zlib=1.2.8=3
  • pip:
    • py4j==0.10.4
    • python-dateutil==2.4.1

The full log message is:
|> mxcube
Using PyQt: PyQt4
qt version: 4.8.5 / pyqt version: 4.10.4
Matplotlib version: 1.3.1
Matplotlib is COMPATIBLE with PyQt
Using PyQt: PyQt4
qt version: 4.8.5 / pyqt version: 4.10.4
Matplotlib version: 1.3.1
Matplotlib is COMPATIBLE with PyQt
2017-02-09 17:05:02,413 |root |INFO | =================================================================================
2017-02-09 17:05:02,413 |root |INFO | Starting MXCuBE v2.3
2017-02-09 17:05:02,413 |root |INFO | Qt4 GUI file: /home/rhfogh/pycharm/MXCuBE2/mxcube-2/example_mxcube_qt4.gui
2017-02-09 17:05:02,413 |root |INFO | Hardware repository: /home/rhfogh/pycharm/MXCuBE2/mxcube-2/ExampleFiles/HardwareObjects.xml/
2017-02-09 17:05:02,416 |root |INFO | System info: Python 2.7.13 on Linux
2017-02-09 17:05:02,416 |root |INFO | - Qt 4.8.5 - PyQt4 4.10.4
2017-02-09 17:05:02,416 |root |INFO | - Matplotlib 1.3.1 -
2017-02-09 17:05:02,416 |root |INFO | ---------------------------------------------------------------------------------
2017-02-09 17:05:02,432 |root |INFO | Connected to Hardware Repository server ['/home/rhfogh/pycharm/MXCuBE2/mxcube-2/ExampleFiles/HardwareObjects.xml/']
2017-02-09 17:05:02,543 |HWR |DEBUG | LDAP Server is not available
2017-02-09 17:05:03,685 |root |WARNING| Could not find autocentring library, automatic centring is disabled
2017-02-09 17:05:03,709 |HWR |DEBUG | Diffractometer: Camera hwobj is not defined
2017-02-09 17:05:03,709 |HWR |DEBUG | Diffractometer: Adding phi motor to centring motors
2017-02-09 17:05:03,710 |HWR |WARNING| Diffractometer: Motor phiz listed in the centring motor list, but not initalized
2017-02-09 17:05:03,710 |HWR |WARNING| Diffractometer: Motor phiy listed in the centring motor list, but not initalized
2017-02-09 17:05:03,710 |HWR |WARNING| Diffractometer: Motor sampx listed in the centring motor list, but not initalized
2017-02-09 17:05:03,711 |HWR |WARNING| Diffractometer: Motor sampy listed in the centring motor list, but not initalized
2017-02-09 17:05:03,711 |HWR |DEBUG | Diffractometer: Adding kappa motor to centring motors
2017-02-09 17:05:03,711 |HWR |DEBUG | Diffractometer: Adding kappa_phi motor to centring motors
2017-02-09 17:05:03,712 |HWR |WARNING| Diffractometer: Motor beam_x listed in the centring motor list, but not initalized
2017-02-09 17:05:03,712 |HWR |WARNING| Diffractometer: Motor beam_y listed in the centring motor list, but not initalized
2017-02-09 17:05:03,712 |HWR |WARNING| Diffractometer: Sample Changer is not defined
2017-02-09 17:05:03,712 |HWR |WARNING| Diffractometer: Neither zoom centre nor camera size iz defined
2017-02-09 17:05:03,811 |HWR |INFO | SampleChanger: Using update timer is True
2017-02-09 17:05:03,823 |HWR |INFO | SampleChanger: Using update timer is True
2017-02-09 17:05:03,824 |root |INFO | connectNotify stateChanged
2017-02-09 17:05:03,824 |root |INFO | connectNotify infoChanged
2017-02-09 17:05:03,824 |root |INFO | connectNotify statusChanged
2017-02-09 17:05:03,824 |root |INFO | connectNotify stateChanged
2017-02-09 17:05:03,825 |root |INFO | connectNotify infoChanged
2017-02-09 17:05:03,825 |GUI |INFO | Data collection is enabled
('@
@', ('fourier', 8000), <class SimpleXMLRPCServer.SimpleXMLRPCRequestHandler at 0x7fbe01eca188>, 2, 1)
@
@~ about to bind
('@@ server_bind', True, ('fourier', 8000), ('0.0.0.0', 0))
@@ about to bind
('@@ bound', ('192.168.131.112', 8000))
@@ about to activate
2017-02-09 17:05:03,905 |HWR |INFO | XML-RPC server listening on: fourier:8000
2017-02-09 17:05:03,905 |HWR |INFO | Registering functions in module Native with XML-RPC server
2017-02-09 17:05:03,915 |HWR |INFO | Registering function Native.queue_add_child as XML-RPC function queue_add_child
2017-02-09 17:05:03,915 |HWR |INFO | Registering function Native.queue_add_node as XML-RPC function queue_add_node
2017-02-09 17:05:03,915 |HWR |INFO | Registering function Native.queue_get_available_serialisations as XML-RPC function queue_get_available_serialisations
2017-02-09 17:05:03,915 |HWR |INFO | Registering function Native.queue_get_model_code as XML-RPC function queue_get_model_code
2017-02-09 17:05:03,916 |HWR |INFO | Registering function Native.queue_get_node as XML-RPC function queue_get_node
2017-02-09 17:05:03,916 |HWR |INFO | Registering function Native.queue_get_serialisation as XML-RPC function queue_get_serialisation
2017-02-09 17:05:03,916 |HWR |INFO | Registering function Native.queue_set_serialisation as XML-RPC function queue_set_serialisation
2017-02-09 17:05:03,916 |HWR |INFO | Registering function Native.queue_update_result as XML-RPC function queue_update_result
2017-02-09 17:05:03,924 |root |INFO | connectNotify progressInit
2017-02-09 17:05:03,924 |root |INFO | connectNotify progressStep
2017-02-09 17:05:03,924 |root |INFO | connectNotify progressStop
2017-02-09 17:05:04,192 |root |ERROR | Cannot import module Qt4_TaskToolBoxBrick
Traceback (most recent call last):
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_Configuration.py", line 38, in loadModule
mod = imp.load_module(brick_name, fp, path_name, description)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/Qt4_TaskToolBoxBrick.py", line 29, in
from widgets.Qt4_task_toolbox_widget import TaskToolBoxWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_task_toolbox_widget.py", line 32, in
from widgets.Qt4_create_energy_scan_widget import CreateEnergyScanWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_create_energy_scan_widget.py", line 33, in
from Qt4_periodic_table_widget import PeriodicTableWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_periodic_table_widget.py", line 27, in
from PyMca import QPeriodicTable
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
ImportError: No module named PyMca
2017-02-09 17:05:04,193 |root |ERROR | Cannot load brick task_tollbox_brick : module could not be loaded.
2017-02-09 17:05:04,393 |root |INFO | connectNotify statusChanged
2017-02-09 17:05:04,394 |root |INFO | connectNotify stateChanged
2017-02-09 17:05:04,394 |root |INFO | connectNotify infoChanged
2017-02-09 17:05:04,394 |root |INFO | connectNotify selectionChanged
2017-02-09 17:05:04,394 |root |INFO | connectNotify loadedSampleChanged
2017-02-09 17:05:04,562 |root |ERROR | Cannot import module Qt4_EnergyScanParametersBrick
Traceback (most recent call last):
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_Configuration.py", line 38, in loadModule
mod = imp.load_module(brick_name, fp, path_name, description)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/Qt4_EnergyScanParametersBrick.py", line 23, in
from widgets.Qt4_energy_scan_parameters_widget import EnergyScanParametersWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_energy_scan_parameters_widget.py", line 25, in
from widgets.Qt4_periodic_table_widget import PeriodicTableWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_periodic_table_widget.py", line 27, in
from PyMca import QPeriodicTable
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
ImportError: No module named PyMca
2017-02-09 17:05:04,562 |root |ERROR | Cannot load brick energy_scan_brick : module could not be loaded.
2017-02-09 17:05:04,582 |root |ERROR | Cannot import module Qt4_XRFSpectrumParametersBrick
Traceback (most recent call last):
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_Configuration.py", line 38, in loadModule
mod = imp.load_module(brick_name, fp, path_name, description)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/Qt4_XRFSpectrumParametersBrick.py", line 23, in
from widgets.Qt4_xrf_spectrum_parameters_widget import XRFSpectrumParametersWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_xrf_spectrum_parameters_widget.py", line 26, in
from widgets.Qt4_mca_spectrum_widget import McaSpectrumWidget
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/Bricks/widgets/Qt4_mca_spectrum_widget.py", line 54, in
from PyMca import McaAdvancedFit
File "/home/rhfogh/Software/Miniconda2/envs/mxpath/lib/python2.7/site-packages/gevent/builtins.py", line 93, in import
result = _import(*args, **kwargs)
ImportError: No module named PyMca
2017-02-09 17:05:04,583 |root |ERROR | Cannot load brick xrf_spectrum_parameters : module could not be loaded.
2017-02-09 17:05:04,682 |root |INFO | connectNotify infoChanged
2017-02-09 17:05:04,753 |HWR |WARNING| pdfkit not available
2017-02-09 17:05:04,754 |HWR |DEBUG | BeamlineTest: directory for test reports not defined. Set to: /tmp/mxcube/beamline_test
2017-02-09 17:05:04,808 |HWR |ERROR | Cannot load Hardware Object "/" : file not found.
2017-02-09 17:05:04,865 |root |INFO | HUTCH IS CLOSED, YOU ARE ALLOWED TO TAKE CONTROL AGAIN
2017-02-09 17:05:04,920 |root |INFO | connectNotify statusChanged
2017-02-09 17:05:04,920 |root |INFO | connectNotify stateChanged
2017-02-09 17:05:04,920 |root |INFO | connectNotify infoChanged
2017-02-09 17:05:04,920 |root |INFO | connectNotify selectionChanged
2017-02-09 17:05:04,921 |root |INFO | connectNotify loadedSampleChanged
2017-02-09 17:05:05,012 |root |ERROR | No slot 'logged_in' in receiver task_tollbox_brick
2017-02-09 17:05:05,012 |root |ERROR | No slot 'set_session' in receiver task_tollbox_brick
2017-02-09 17:05:05,012 |root |ERROR | No slot 'user_group_saved' in receiver task_tollbox_brick
2017-02-09 17:05:05,012 |root |ERROR | No slot 'selection_changed' in receiver task_tollbox_brick
2017-02-09 17:05:05,012 |root |ERROR | No slot 'populate_parameter_widget' in receiver energy_scan_brick
2017-02-09 17:05:05,013 |root |ERROR | No slot 'populate_xrf_widget' in receiver xrf_spectrum_parameters
2017-02-09 17:05:05,013 |root |ERROR | No slot 'set_tree_brick' in receiver task_tollbox_brick
2017-02-09 17:05:05,013 |root |ERROR | exception while loading GUI file
Traceback (most recent call last):
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 412, in finish_init
main_widget = self.load_gui(gui_config_file)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 233, in load_gui
main_window = self.execute(self.configuration)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 312, in execute
make_connections(config.windows_list)
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 309, in make_connections
make_connections(item["children"])
File "/home/rhfogh/pycharm/MXCuBE2/mxcube-2/BlissFramework/Qt4_GUISupervisor.py", line 305, in make_connections
getattr(sender, connection["signal"]).connect(slot)
AttributeError: 'NullBrick' object has no attribute 'request_tree_brick'
QObject::startTimer: QTimer can only be used with threads started with QThread
2017-02-09 17:05:05,172 |HWR |INFO | XML-RPC server closed

Code cleanup (summer cleaning)

Hi all,

I did a major code clean up of the BlissFramework code and now it is much closer to PEP guidelines.
During the cleanup I found also some bugs and removed lots of not used code.
Please update to the latest master version and inform me if there is any problems.

Added comment to the widgets properties

Hi all,

I added comments to the widget properties. Now when adding a new property it is possible to add a comment. For example:

self.addProperty('diskThreshold', 'float', 200, comment='Disk threshold')
self.addProperty('maxPlotPoints', 'integer', 100, comment="Maximal number of plot points")
self.addProperty('showDiskSize', 'boolean', True, comment="Display information about disk size")

On the property table a comment will be displayed like:

mach_info

As you can see now properties are divided in two tables. If the property starts with "hwobj_" it is displayed in the second table.

Python 3 support

Hi all,

Few weeks around there was a workaround to test if it is possible to use mxcube and python3. With a major help from @douglasbeniz the initial work was done and MXCuBE is compatible with python3.x. There will be coming more commits (also to HardwareRepository) and bug fixes.

Cheers,
Ivars

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.