Skip to main content

Software for the Practical Analysis of Materials

Project description

Welcome to radioSphere

license pipeline status pypi

Join the chat room for support here.

This project contains a series of tools for the analysis of divergent radiographs containing spherical particles, in particular to measure 3D positions from a single radiograph like this one:

Sample Radiograph

The reconstruction technique proposed is a two-step approach:

  • Step 1: is a technique called tomopack which is an FFT-based pattern matching approach. It uses a template image, or "structuring element" that we call ψ to pick out spheres. Since the size of ψ needs to be very close to the correct size, this allows us to distinguish different sized projections of spheres.

  • Step 2: Position optimisation: Starting from a guess of particle positions, the projection is computed and compared to the measured projection. Particle positions are modified iteratively in order to minimise the difference between computed projection and measured one.

Geometry in radioSphere is everything: the coordinate systems defined are as follows:

Geometry

See the online documentation to learn about the functions.

Contributors

The technique has been developed by Edward Andò (EPFL), Benjy Marks, and Stéphane Roux (CNRS) and published in Measurement Science and Technology.

The technique has been developed thanks to UGA Tec21 funding further by Olga Stamati (ESRF), resulting in a publication in The Journal of Multiphase Flow, and by Leonard Turpin (Diamond).

The numba projector was contributed by Youssef Haouchat (EPFL),which is faster than the original C code and allows us to distribute the package on pypi, thanks!

Notes on the repository

  • src/radioSphere: this folder contains the core functions of radioSphere:

    • detectSpheres: functions related to tomopack (Step 1)

    • optimisePositions: functions related to the optimiser (Step 2)

    • projectSphere: The tools to create projections (units mm)

  • tests: contains tests to test the functionality of what is in tools

  • examples and paper/figureScripts: examples of the use of radioSphere on both synthetic and experimental data

  • data: where the presented experimental and synthetic data is stored to run the examples

  • figures: figures for paper and this website

  • paper: will contain final sources to the paper

  • presentations: sources for presentations given about this topic

Installing radioSphere

For users:

pip install radioSphere

For developers:

Please clone this repository once checked out, activate your virtual environment, and then: pip install -e ".[dev]"

run the tests to make sure everything is OK: pytest

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

radioSphere-2.0.1.tar.gz (629.2 kB view details)

Uploaded Source

Built Distribution

radioSphere-2.0.1-py3-none-any.whl (65.1 kB view details)

Uploaded Python 3

File details

Details for the file radioSphere-2.0.1.tar.gz.

File metadata

  • Download URL: radioSphere-2.0.1.tar.gz
  • Upload date:
  • Size: 629.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for radioSphere-2.0.1.tar.gz
Algorithm Hash digest
SHA256 e4f8a600dcbed4a401f61b86f3cdfe66fd8fda98fdbf4d6eafdaf9016f59135f
MD5 0ebd5d9129d31b994889fc07daf83c21
BLAKE2b-256 8a006cd1512a952d5e0b71929b3691feddd75cd1cd315c0c81fe7ac7eb04ad6d

See more details on using hashes here.

File details

Details for the file radioSphere-2.0.1-py3-none-any.whl.

File metadata

  • Download URL: radioSphere-2.0.1-py3-none-any.whl
  • Upload date:
  • Size: 65.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.6

File hashes

Hashes for radioSphere-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3f714014eb024dd3af44b1acbf6a4097ad517ad27cac0d4bad1e713f4dbc5261
MD5 46c3040d15f17a9c486cf0663c77a749
BLAKE2b-256 f641c84ae5f81b911f3fe33816d41ef34af099c55d29d18f7a7bb3ebbccf86a7

See more details on using hashes here.

Supported by

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