Skip to main content

A python library for longitudinal particle beam tomography

Project description

https://gitlab.cern.ch/longitudinaltomography/tomographyv3/badges/master/pipeline.svg https://gitlab.cern.ch/longitudinaltomography/tomographyv3/badges/master/coverage.svg

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

longitudinal_tomography-3.4.1.dev4.tar.gz (80.6 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

longitudinal_tomography-3.4.1.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.1.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (296.2 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.1.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295.6 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.1.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.8 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.1.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.7 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

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

Hashes for longitudinal_tomography-3.4.1.dev4.tar.gz
Algorithm Hash digest
SHA256 ec90bf8938ba3ce013ceeaf8b6844f084d511d9bd191522ab87e0507b635c7bf
MD5 c39d6766d35b5bf5a5a9fbf29ef20877
BLAKE2b-256 dcaac5c39006b37217526fe3876f78619f892d518419660ae2cd01ce60c1113f

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eff7119549095a1f78a17049bd63bd41812fbcc0c008724175abbc9ff93e9795
MD5 5e2092e0519a3a33c1e21bd730c35d9c
BLAKE2b-256 0d3605869139cb784900a6d9f4d20696a37bb3658649d309e401fc5a45a7cd42

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c68ffbd14efa6a232257ad4e5f39aeb55f963d6f5bae72613edabb631815fe42
MD5 0bd8510254787b46c9a39100f53869ef
BLAKE2b-256 eacb119b3552ff08b8d814d3033ae899a29596c4b8504187837250912fee6913

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1231d01063dae86c67978f1543135550e1f3bbe0a10d84f062dd59ce410c1139
MD5 50956c38b47cd872fe42814c39865561
BLAKE2b-256 ece072497f7c7710a376a4192b4571b2470ef39bbb3da96a6a7b114055b09d51

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c7043eed2311339088a6e9c7971ffa92cdbf92a6074567f98d32939cd844b189
MD5 1683c71d3739c090bb3e34e86d35ff32
BLAKE2b-256 51f0146fa89705cac127acce3f4a3120e7f27f7aa6dab71a2644c25e74625773

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2431a7435b34456fe2c5ea9921c1e1c6617055dfd6fd1258604b9ea2d92a11d6
MD5 f3acaee3a26bf497868caf4023c4fe31
BLAKE2b-256 03cb9e0661430db0529e66d5cfcca19a29f0d2c0254d44cb27df1f4ecb7ab68c

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41eeb752739881fb30e63c29856234c6ff2f7e69a87dc7e3fa545021ad21e25e
MD5 d0be7bb126e3307cda70ce91826852b7
BLAKE2b-256 97349d5961204e49011009c6d4d8b1d19ee65ff357b983afb12d6ff53c730d7a

See more details on using hashes here.

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

File hashes

Hashes for longitudinal_tomography-3.4.1.dev4-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 81cc355bd2bf64dc31fcac9b619b3df0501d6b44a4a62534c1f83025cf636a14
MD5 5c8bf2cae77ce7c475c4ed5649977b81
BLAKE2b-256 7ea942dffb08430c2fa471338bcb1ef71a87e0aeff643b720fcb3c330fa72fa2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page