Developer information¶
Installation¶
A bash script exists in order to automate the installation under debian OS. It is available in the internal esrf project: https://gitlab.esrf.fr/payno/install_tomwer
Unit tests¶
A set of unit test have been developed in order to maintain the application.
You can run then by calling pytest
pytest tomwer orangecontrib
Documentation¶
Documentation
of the latest release is accessible from ‘http://www.silx.org/pub/doc/tomwer/latest/install.html’.
of the master branch is accessible from ‘https://tomotools.gitlab-pages.esrf.fr/tomwer/’
In order to generate the full documentation (html + htmlhelp) you can go for:
python setup.py build build_sphinx -b htmlhelp,html
or
python -m build build_sphinx -b htmlhelp,html
Settings¶
Environment variable¶
Web¶
Workflow¶
Architecture¶
The idea is to decorelate the Graphical part of the processing part. So the project is containing the core package which should be able to process all the action without any call to qt.GUI infine.
Communication between bliss and tomwer¶
The communication between tomwer and bliss is insure via remote procedure call using json-rpc. Bliss is the client notifying about the advancement of the acquisition and tomwer is the server, able to launch some processing when an acquisition is finished.
This architecture avoid us the dependency to bliss and should insure an easier communication through version of both software with time.
opengl display¶
since 1.2 relevant applications have a use-opengl-plot option which allow to use for silx plot the opengl backend (instead of matplotlib). This speed up display of large images (projections, reconstructed slices, sinograms …)
As of today there is know limitation about it usage:
API¶
None graphical workflow¶
we can launch orange workflows from command line by using the interpreter
But you should follow the structure :
orangecontrib.esrf.core.xxx orangecontrib.esrf.widgets.xxxWidgets
orangecontrib.esrf.core should be Qt free.
Release¶
To create a release we simply run :
python setup.py bdist_wheel --universal
As we don’t have any compile code we can create a universal wheel installable every where.
Just make sure you have wheel installed :
pip install wheel
Videos¶
Several demo videos have been created for tomwer. They are all available from https://www.youtube.com/@tomotools To simply add the logo to a video you can use ffmpeg:
ffmpeg -i input.mp4 -i tomwer/resources/gui/icons/tomwer.png -filter_complex "[0:v][1:v] overlay=1700:900:enable='between(t,0,20)'" -pix_fmt yuv420p -c:a copy output.mp4
Orange Settings¶
Orange settings are stored under .local for example:
rm /users/opid19/.local/share/Orange/3.5.0.dev/widgets/[WidgetPath].pickle
This is where the widgets settings are stored. In the case of the Ftseries, if the structure of the FastSetupDefaultGlobal is evolving you will have to remove this file in order to reset the new parameters set.