A python library for longitudinal particle beam tomography
Project description
Copyright 2020 CERN. This software is distributed under the terms of the GNU General Public Licence version 3 (GPL Version 3), copied verbatim in the file LICENCE.txt. In applying this licence, CERN does not waive the privileges and immunities granted to it by virtue of its status as an Intergovernmental Organization or submit itself to any jurisdiction.
INSTALLATION
The computationally intensive or time-critical parts of the library is written in C++ and python bindings are provided using pybind11. The installation and usage of the library is the same for all operating systems, but different dependencies are needed for different operating systems.
Prerequisites
Linux
You need a C++ compiler like g++ installed. This is not required if installing a prebuilt package from acc-py or pypi.
Windows
On Windows computers MSVC >= 14.0 with the Windows 10 SDK is required.
In MinGW and WSL environments the standard g++ compiler works out of the box.
MacOS
No offical tests have been done on MacOS, but presumably g++, clang/llvm should work.
Install
The Longitudinal Tomography package is available in prebuilt wheels for Python 3.6-3.9 on CERN Acc-Py and pypy.org as longitudinal-tomography. The package can thus easily be installed on a Linux machine using
pip install longitudinal-tomography
The package can be installed on a MacOS or Windows machine in the same manner, but the C++ extension will be built on install.
Other ways to install
Clone the repository and run
pip install .
The C++ extension will be built on install.
For development environments where it’s preferable to compile the C++ extension inplace, it’s possible to run the command
python setup.py build_ext --inplace
which will compile the C++ extension using the available compiler (decided by setuptools).
Parallelization using OpenMP
The C++ extension is accelerated by OpenMP parallel for loops. It is possible to limit the number of launched threads by setting it in the extension, by
from longitudinal_tomography.cpp_routines import libtomo libtomo.set_num_threads([num_threads])
which will set the maximum number of used threads to [num_threads].
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file longitudinal_tomography-3.4.1.dev4.tar.gz.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4.tar.gz
- Upload date:
- Size: 80.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec90bf8938ba3ce013ceeaf8b6844f084d511d9bd191522ab87e0507b635c7bf
|
|
| MD5 |
c39d6766d35b5bf5a5a9fbf29ef20877
|
|
| BLAKE2b-256 |
dcaac5c39006b37217526fe3876f78619f892d518419660ae2cd01ce60c1113f
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 413.9 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eff7119549095a1f78a17049bd63bd41812fbcc0c008724175abbc9ff93e9795
|
|
| MD5 |
5e2092e0519a3a33c1e21bd730c35d9c
|
|
| BLAKE2b-256 |
0d3605869139cb784900a6d9f4d20696a37bb3658649d309e401fc5a45a7cd42
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 416.3 kB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c68ffbd14efa6a232257ad4e5f39aeb55f963d6f5bae72613edabb631815fe42
|
|
| MD5 |
0bd8510254787b46c9a39100f53869ef
|
|
| BLAKE2b-256 |
eacb119b3552ff08b8d814d3033ae899a29596c4b8504187837250912fee6913
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 295.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1231d01063dae86c67978f1543135550e1f3bbe0a10d84f062dd59ce410c1139
|
|
| MD5 |
50956c38b47cd872fe42814c39865561
|
|
| BLAKE2b-256 |
ece072497f7c7710a376a4192b4571b2470ef39bbb3da96a6a7b114055b09d51
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 296.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c7043eed2311339088a6e9c7971ffa92cdbf92a6074567f98d32939cd844b189
|
|
| MD5 |
1683c71d3739c090bb3e34e86d35ff32
|
|
| BLAKE2b-256 |
51f0146fa89705cac127acce3f4a3120e7f27f7aa6dab71a2644c25e74625773
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 295.6 kB
- Tags: CPython 3.8, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2431a7435b34456fe2c5ea9921c1e1c6617055dfd6fd1258604b9ea2d92a11d6
|
|
| MD5 |
f3acaee3a26bf497868caf4023c4fe31
|
|
| BLAKE2b-256 |
03cb9e0661430db0529e66d5cfcca19a29f0d2c0254d44cb27df1f4ecb7ab68c
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 297.8 kB
- Tags: CPython 3.7m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
41eeb752739881fb30e63c29856234c6ff2f7e69a87dc7e3fa545021ad21e25e
|
|
| MD5 |
d0be7bb126e3307cda70ce91826852b7
|
|
| BLAKE2b-256 |
97349d5961204e49011009c6d4d8b1d19ee65ff357b983afb12d6ff53c730d7a
|
File details
Details for the file longitudinal_tomography-3.4.1.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: longitudinal_tomography-3.4.1.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 297.7 kB
- Tags: CPython 3.6m, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.6.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
81cc355bd2bf64dc31fcac9b619b3df0501d6b44a4a62534c1f83025cf636a14
|
|
| MD5 |
5c8bf2cae77ce7c475c4ed5649977b81
|
|
| BLAKE2b-256 |
7ea942dffb08430c2fa471338bcb1ef71a87e0aeff643b720fcb3c330fa72fa2
|