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

pip install -e .

which will compile the C++ extension using the available compiler (decided by setuptools).

Documentation

This development is based on the well tested and widely used FORTRAN95 code, documented and available here: http://tomograp.web.cern.ch/tomograp/ Details on the algorithms in both codes, and the differences between them, can be found here: https://cdsweb.cern.ch/record/2750116?ln=ka

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.2.tar.gz (81.0 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.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (290.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (289.4 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (290.1 kB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.3 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (297.2 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (299.6 kB view details)

Uploaded CPython 3.7mmanylinux: glibc 2.17+ x86-64

longitudinal_tomography-3.4.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (299.5 kB view details)

Uploaded CPython 3.6mmanylinux: glibc 2.17+ x86-64

File details

Details for the file longitudinal_tomography-3.4.2.tar.gz.

File metadata

  • Download URL: longitudinal_tomography-3.4.2.tar.gz
  • Upload date:
  • Size: 81.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for longitudinal_tomography-3.4.2.tar.gz
Algorithm Hash digest
SHA256 7d0d36c9843f100411cf18704ec098f90f618731930fe05d45c08d5097a4eea6
MD5 8c0c7505f2908d0578bf3a501ca34e72
BLAKE2b-256 691ea057d66436828b5ea37e16fb20fb36325b826de002bb2de66e079f44c324

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b61c4bbac2b7b7bbce497197c422c0b3e93cc7c6524b5bc18c80e400a8f06d36
MD5 01c34db22e0efc156008d9ee5cb71802
BLAKE2b-256 826d86ee716d214dce983242f5ecf0e8e174404c3607349aa5de8bc7cc7a547c

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6119f25754ba4057c7fd0bc54382fb404ce30fbd09d45122d8581226f0b8c58e
MD5 f8c9015461c4b51adffbf1e1bc3c3b94
BLAKE2b-256 531ea8450440682a41db313bc091525209391e1ee11796b2fca3089dff37d5d1

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f82b23101644655d65f23ce9f5957e3ae8ba570f2d71cb3f5f014fea71b09043
MD5 f79a6d0b99371d0f475efe9e6a145154
BLAKE2b-256 c5dddec7686f5064586f2062af44111567caf77a6b864f708c4972e40a72f4d3

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4fe565b46f0188b1d4e611e9b8a329603f49f55218f45e43795a2ec1cb1759c0
MD5 a01f8f5486e78be0b0cff02c903dc55d
BLAKE2b-256 697a54ed0cdfbe9647d8a460479a2a5e5caf32cffe57a2f2fb53ccd2413e8e0f

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f52dd298920cb73aa186ebd6201f339ed04c760e49b13f682a5507debb1d8b93
MD5 dfa6fed61c07be266a10c41a0c64dafd
BLAKE2b-256 d29ff4c9dab18fe8d08056410a4c3e76d88a7545daa2e6b145a97954ae830c94

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43da857b8d22ef7250be60590b8795f241686fd80d7e76b3f39ed0c40772fc01
MD5 2e5884cfa6a3f41343a3ad10a1a09d43
BLAKE2b-256 4d03a43776f2fbc0e9dfb52b8cec0bc67e5e02d6563cd9463762acf0e5134d32

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc052b098bbe7b05aa1fa106db69aac396a3b8c07f9d19830c0b929e83727a75
MD5 08b6b95a7a98e46e5b1b470604814555
BLAKE2b-256 7c7f674510a966a83c95b0171b994c7a40740ea962e69c46bfddc3e5888f5afb

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bee6ca301f8ee9f76d509122e5a38df0fa3c2adbae0fc354f98761b761b7f8b3
MD5 a866da5bac904b3434f6f4274a573345
BLAKE2b-256 0c4abcee7f245aa26fdcd85279448dcd9d81101137b3e5063afe105480148642

See more details on using hashes here.

File details

Details for the file longitudinal_tomography-3.4.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for longitudinal_tomography-3.4.2-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 813e973ec299b7402c19d5ffafdef1765d353d5820f70fd23329b3a1d275d561
MD5 00458c849586ac2528f03c806c70599b
BLAKE2b-256 f98170ffdaef14fbe06238cf614407353d18b01358e376ae5ade5d33d36b5b15

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