Installation¶
Step 1 - 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 2 - update forks for orange-canvas-core and orange-widget-base¶
To access ‘processing’ wheels and ‘reprocess action’ you might want to install forks of update orange-canvas-core and orange-widget-base. This is optional and projects works with native orange projects
pip install git+https://github.com/payno/orange-canvas-core --no-deps --upgrade
pip install git+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¶
sphinx-build doc build/html
The documentation is build in 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).
sphinx-build doc build/html -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.
Issue with reconstruction being slow¶
If the reconstruction is done on a GPU and appears to be very slow (several minutes) the origin can be that the scan dataset is store into several files. Like for example for HDF5 file if each frame is store in a dedicated file.
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]