specsanalyzer
This is the package specsanalyzer
for conversion and handling of SPECS Phoibos analyzer data.
This package contains two modules:
specsanalyzer
is a package to import and convert MCP analyzer images from SPECS Phoibos analyzers into energy and emission angle/physical coordinates.
specsscan
is a Python package for loading Specs Phoibos scans acquired with the labview software developed at FHI/EPFL
Tutorials for usage and the API documentation can be found in the Documentation
Installation
Pip (for users)
Create a new virtual environment using either venv, pyenv, conda, etc. See below for an example.
python -m venv .specs-venv
Activate your environment:
source .specs-venv/bin/activate
Install
specsanalyzer
from PyPI:
pip install specsanalyzer
This should install all the requirements to run
specsanalyzer
andspecsscan
in your environment.If you intend to work with Jupyter notebooks, it is helpful to install a Jupyter kernel for your environment. This can be done, once your environment is activated, by typing:
python -m ipykernel install --user --name=specs_kernel
Configuration and calib2d file
The conversion procedures require to set up several configuration parameters in a config file. An example config file is provided as part of the package (see documentation). Configuration files can either be passed to the class constructors, or are read from system-wide or user-defined locations (see documentation).
Most importantly, conversion of analyzer data to energy/angular coordinates requires detector calibration data provided by the manufacturer. The corresponding *.calib2d file (e.g. phoibos150.calib2d) are provided together with the spectrometer software, and need to be set in the config file.
For Contributors
To contribute to the development of specsanalyzer
, you can follow these steps:
Clone the repository:
git clone https://github.com/OpenCOMPES/specsanalyzer.git
cd specsanalyzer
Check out test data (optional, requires access rights):
git submodule sync --recursive
git submodule update --init --recursive
Install the repository in editable mode:
pip install -e .
Now you have the development version of specsanalyzer
installed in your local environment. Feel free to make changes and submit pull requests.
Poetry (for maintainers)
Prerequisites:
Poetry: https://python-poetry.org/docs/
Create a virtual environment by typing:
poetry shell
A new shell will be spawned with the new environment activated.
Install the dependencies from the
pyproject.toml
by typing:
poetry install --with dev, docs
If you wish to use the virtual environment created by Poetry to work in a Jupyter notebook, you first need to install the optional notebook dependencies and then create a Jupyter kernel for that.
Install the optional dependencies
ipykernel
andjupyter
:
poetry install -E notebook
Make sure to run the command below within your virtual environment (
poetry run
ensures this) by typing:
poetry run ipython kernel install --user --name=specs_poetry
The new kernel will now be available in your Jupyter kernels list.