Python is a powerful and flexible programming language. It is increasingly used in scientific software packages, because it has a large number of libraries that are extremely useful in numerical and scientific computing. For instance:
- numpy: Also known as numerical python, this package allows for efficient handling of vectors, arrays, matrices, and associated computations.
- matplotlib: Plotting library that can generate graphs of datasets, including area images. Publication-quality images are possible with some effort.
- scipy: A large collection of computational tools relevant to scientific data.
- Python Image Library (PIL): A library that allows opening, converting, and editing image files including the TIFF files frequently output by x-ray area detectors in scattering instruments.
Hints about Python usage
Packages for Scattering
- FabIO: Import 2D area detector data into Python.
- Citation: E. B. Knudsen, H. O. Sørensen, J. P. Wright, G. Goret and J. Kieffer FabIO: easy access to two-dimensional X-ray detector images in Python J. Appl. Cryst. 2013, 46, 537-539. doi: 10.1107/S0021889813000150
- Source code.
- pyHST: Tomographic reconstruction.
- pyFAI: Fast azimuthal integration of 2D area images.
- Citation: G. Ashiotis, A. Deschildre, Z. Nawaz, J. P. Wright, D. Karkoulis, F. E. Picca and J. Kieffer The fast azimuthal integration Python library: pyFAI J. Appl. Cryst. 2015, 48, 510-519. doi: 10.1107/S1600576715004306
- Official site.
- Source code.