This repository include the protocol and tools for running an experiment on absolute scaling on pispis
Following tools are available in this repository
edf_to_h5.py: To dump the edf files into the h5 structure. This is the first step in the data processing pipeline to convert pispis data into the nexus (.nxs) structurexenocs_postprocessing.py: This tool computes the flux and transmission factor after taking data files and direct beam as the input. It requires .nxs translated filescapillary_thickness_cal.py: This computes the capillary thickness based on empty capillary and water in the capillary files. It stores the capillary thickness into the empty capillary .nxs data file. The example to copy pathlength will be out soon.
Each tool has help available to identify the correct options. The help can be browsed in the terminal by running this script
python tool_name.py -h
The tools are based on following packages:
- h5py
- python 3.12
- HDF5Translator
- xraydb
- dataMerge
- DawnScience
- DirectBeam (empty), Container (empty capillary), Reference sample (water in capillary) should be recorded as part of the experiment.
- The code provides support for multiple containers and multiple water files.
- DirectBeam (empty), Container, Reference (water in holder) should be recorded as part of the experiment
- The thickness is computed in this case using chemical composition and transmission factor computed through the scripts (needs to be implemented)
- DirectBeam should be recorded as part of the experiment
- The thickness is computed in this case using chemical composition and transmission factor computed through the scripts (needs to be implemented)
- Clone the repository
git clone https://github.com/pozzo-research-group/pispis.git
- Navigate to the pispis folder and run
pip install e .
The code is designed to run on configuration files. The example configuration files are available in the repository. Main configuration files that are required are:
- Merge Config
- Translator config
- Run config
- Collimation configuration excel sheet
Checkout the configuration files to see the details. The translator configuration is generated through HDF5Translator. It doesn't need to be amended. For, Xenocs Xeuss 3.0, the example files are available in configuration examples. Collimation configuration is instrument and environment specific.
If everything is setup right, all you need to run is:
python -m pispis.reduce_merge --C run_config.yaml