Installation¶
Step 1 - Create a virtual env¶
It is recommended to create a python virtual environment to run the workflow tool. Virtual environment might avoid some conflict between python packages. But you can also install it on your ‘current’ python environment and move to step 1.
virtualenv --python=python3 --system-site-packages myvirtualenv
Then activate the virtual environment
source myvirtualenv/bin/activate
First update pip and setuptools to avoid some potential errors
pip install --upgrade pip
pip install setuptools --upgrade
Note
To quit the virtual environment
deactivate
Step 2 - tomwer¶
To install it with all ‘features’:
pip install tomwer[full]
alternatively you can install the master branch from
pip install git+https://gitlab.esrf.fr/tomotools/tomwer/#egg=tomwer[full]
Step 3 - update orange-canvas-core and orange-widget-base (recommended)¶
To access ‘processing’ wheels you might want to install forks of update orange-canvas-core and orange-widget-base
pip install https://github.com/payno/orange-canvas-core --no-deps --upgrade
pip install https://github.com/payno/orange-widget-base --no-deps --upgrade
Launching applications¶
After the installation tomwer is embedding several applications.
Those applications can be launched by calling:
tomwer appName {options}
Note
if you only call tomwer then the man page will be displayed.
Note
You can access each application help using ``
tomwer appName --help
tomwer canvas¶
You can launch the canvas to create workflows from the different ‘bricks’
tomwer canvas
Note
tomwer canvas is launching ‘orange-canvas’ but will to some extra processing (like setting log level of some libraries). this is why it is recommended to go for tomwer canvas instead of ̀orange-canvas
Documentation¶
python setup.py build build_sphinx
The documentation is build in doc/build/html and the entry point is index.html
firefox build/html/index.html
Note
the build of the documentation need sphinx to be installed. This is not an hard dependacy. So you might need to install it.
You also should generate documentation to be accessible from Orange GUI (pressing the F1 key).
python setup.py build build_sphinx -b htmlhelp
To get more information about help from Orange see :
- Help files from Orange GUI
accessing documentation from the interface
Some errors that can occur¶
With Qt (Application crashes with segfault)¶
the tomwer GUI is using silx from the silx.gui.qt module which try to use PyQt5, then PySide2, then PyQt4 Order is different for AnyQt, used by Orange3. So some incoherence might append (will bring errors) in the Signal/SLOT connection during widget instanciation.
You should be carrefull about it if more than one Qt binding is available (one quick and durty fix is to change the AnyQt/__init__.py file - ‘availableapi’ function for example)
Issue with silx library and static TLS¶
It is know that with some os (debian8) we can that issues with openmp. Usually we compile silx with the –no-openmp flag (as the distributed wheel). Otherwise this kind of error can occur (https://github.com/silx-kit/silx/issues/3102). At tomwer side the only usage we can have of openmp is with the median filter. So it is not consider a ‘big’ deal if openmp is deactivate.
tomwer with bliss EBS-tomo¶
tomwer and EBS-tomo (tomography framework for bliss) are able to share information.
with the data listener using rpc command. When a scan is started and finished it will send a command for tomwer to process it. This require the EBS-tomo framework to be activated at the beamline. This can be check with the supervisor at the beamline
tomwer installation at ESRF¶
Installation is now done using automatix
on the slurm-cluster¶
For now users can activate python virtual environments within all the tomotools suite from sourcing the script /scisoft/tomotools/activate {version} and the version they want to activate. This script will handle the architecture of the current node and special version name such as dev or stable
source /scisoft/tomotools/activate dev
at beamlines¶
On beamlines the rule is to do the installations on /nobackup partitions. The different location can be found in https://gitlab.esrf.fr/tomotools/automatix/-/blob/master/deployment/cfg_esrf_envs.py In order to simplify activation and launch of the orange-canvas usually a tomwer-{version} alias is done to be called like:
tomwer-dev canvas [options]