Skip to main content

Muon tomography data analysis library

Project description

Code style: black CI-tests CI-lints

MuographBeta: muon tomography library

logo

This repository provides a library for muon scattering tomography and muon transmission tomography data analysis.

Overview

As a disclaimer, this library is more of an aggregate of muon tomography algorithms used throughtout PhD research rather than a polished product for the general public. As such, this repo targets mostly muon tomography reaserchers and enthousiasts.

Users can find ready to use scattering density algorihms as well as samples of simulated data.

While curently being at a preliminary stage, this library is designed to be extended by users, whom are invited to implement their favorite reconstruction, material inference or image processing algorithms.

Installation

As a dependency

For development

Clone the repository locally:

git clone git@github.com:MaximeLagrange/muograph.git
cd muograph

For development usage, we use poetry to handle dependency installation:

curl -sSL https://install.python-poetry.org | python3 -

To get started, you need Poetry's bin directory in your PATH environment variable. Add the export command to your shell's configuration file. For bash, Add it to the ~/.bashrc file. For zsh, add it to the ~/.zshrc file.

export PATH="$HOME/.local/bin:$PATH"

then reload the configuration file:

source ~/.bashrc # or source ~/.zshrc

Poetry should now be accessible:

poetry self update

Muograph requires python >= 3.10. This can be installed with e.g pyenv.

curl https://pyenv.run | bash
pyenv update
pyenv install 3.10
pyenv local 3.10

Install the dependencies:

poetry install
poetry self add poetry-plugin-export
poetry config warnings.export false
poetry run pre-commit install

Finally, make sure everything is working as expected by running the tests:

poetry run pytest muograph/test/

For those unfamiliar with poetry, basically just prepend commands with poetry run to use the stuff installed within the local environment, e.g. poetry run jupyter notebook to start a jupyter notebook server. This local environment is basically a python virtual environment. To correctly set up the interpreter in your IDE, use poetry run which python to see the path to the correct python executable.

Tutorials

A few tutorials to introduce users to the package can be found in the tutorial/ folder. They are provied as Jupyter notebooks:

  • 00_Volume_of_interest.ipynb shows how to define a voxelized volume of interest, later used by the reconstruction algorithms.
  • 01_Hits.ipynb demonstrates how to load muon hits, and simulate detector spatial resolution and/or efficiency effects.
  • 02_Tracking.ipynb shows how to convert muon hits into muon tracks usable for image reconstruction purposes.
  • 03_Tracking_muon_Scattering_tomography.ipynb combines incoming and ougoing tracks to compute features relevant to muon scatering tomography.
  • 04_POCA.ipynb takes the user through the computation of voxel-wise density predictions based on the Point of Closest Approach.
  • 05_Binned_clustered_algorithm.ipynb demonstrates the Binned Clustered Algorithm, with and without muon momentum information.
  • 06_Angle_statistical_reconstruction.ipynb shows the Angle Statistical Reconstruction algorithm, with and without muon momentum information.

Examples

For

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

muograph-0.1.6.tar.gz (38.9 MB view details)

Uploaded Source

Built Distribution

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

muograph-0.1.6-py3-none-any.whl (38.9 MB view details)

Uploaded Python 3

File details

Details for the file muograph-0.1.6.tar.gz.

File metadata

  • Download URL: muograph-0.1.6.tar.gz
  • Upload date:
  • Size: 38.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for muograph-0.1.6.tar.gz
Algorithm Hash digest
SHA256 62fb9512b8e55e2de2f48e8868db9c755ccfa815f8d3d139bf8a502d42ec3fb4
MD5 ae20da0e3e9a9022bc7944fcd3bf24be
BLAKE2b-256 43632db9424792aed14aafee70de1d7004581b77d89ca9b939892b99441caa66

See more details on using hashes here.

File details

Details for the file muograph-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: muograph-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 38.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for muograph-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6a823f3122bd3cfdf5b0d2ad74d10a93f0ac9c751459f116d9b88dc852287391
MD5 85e03c6a963ce9e91e2d393b79d18104
BLAKE2b-256 305b8df5f32f64514757514d6bba7a5f2963e65d43b98985cf425fdf0f1c7b00

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