corrct

Physically corrected projectors for X-ray induced emission CT.

https://github.com/cicwi/pycorrectedemissionct

Science Score: 49.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.2%) to scientific vocabulary

Keywords

diffraction fluorescence tomography xrd-ct xrf-ct
Last synced: 6 months ago · JSON representation

Repository

Physically corrected projectors for X-ray induced emission CT.

Basic Info
Statistics
  • Stars: 7
  • Watchers: 2
  • Forks: 3
  • Open Issues: 3
  • Releases: 23
Topics
diffraction fluorescence tomography xrd-ct xrf-ct
Created over 6 years ago · Last pushed 7 months ago
Metadata Files
Readme Changelog Contributing License Codemeta

README.md

PyCorrectedEmissionCT (corrct)

Python package GitHub tag (latest by date) License DOI

Physically corrected projectors for X-ray induced emission CT. PyCorrectedEmissionCT is usually abbreviated to its python module name: corrct (either pronounced "corr-C-T" or "correct").

This package provides the following functionality:

  • Support for attenuation correction of the forward-projection and back-projection.
  • Various solvers (reconstruction algorithms):
    • Simultaneous Iterative Reconstruction Technique (SIRT).
    • Maximum Likelihood Estimation Maximisation (MLEM).
    • Simultaneous Algebraic Reconstruction Technique (SART).
    • Primal-dual optimization from Chambolle-Pock (Primal-Dual Hybrid Gradient - PDHG), with:
    • Various data fitting terms, including Gaussian and Poisson noise modelling.
    • Various optional regularization terms, including: TV-min, l1-min, laplacian, and wavelet l1-min.
    • Multi-channel (collaborative) regularization terms, like: TNV (Total Nuclear Variation).
    • Filtered Back-Projection (FBP), and its data-dependent filter learning variant (PyMR-FBP).
  • Two projector backends, based on: astra-toolbox and scikit-image.
  • Guided regularization parameter selection, through cross-validation and elbow method.
  • Projection alignment routines.

It contains the code used for the following paper, which also provides a mathematical description of the attenuation correction concepts and algorithms used here:

  • N. Viganò and V. A. Solé, "Physically corrected forward operators for induced emission tomography: a simulation study," Meas. Sci. Technol., no. Advanced X-Ray Tomography, pp. 1–26, Nov. 2017.
    https://doi.org/10.1088/1361-6501/aa9d54

Other useful information:

Getting Started

It takes a few steps to setup PyCorrectedEmissionCT on your machine. We recommend installing Anaconda package manager for Python 3.

Installing with conda

Simply install with: conda install -c n-vigano corrct

If you want fast tomographic projectors using the astra-toolbox: conda install -c astra-toolbox astra-toolbox

Installing from PyPI

Simply install with: pip install corrct

If you are on jupyter, and don't have the rights to install packages system-wide (e.g. on jupyter-slurm at ESRF), then you can install with: ! pip install --user corrct

Installing from source

To install PyCorrectedEmissionCT, simply clone this GitHub project. Go to the cloned directory and run PIP installer: git clone https://github.com/cicwi/PyCorrectedEmissionCT.git corrct cd corrct pip install -e .

Running the examples

To learn more about the functionality of the package check out our examples folder.

Authors and contributors

  • Nicola VIGANÒ - Main developer
  • Jerome LESAINT - Contributor
  • Patrick HARRISON - Contributor

See also the list of contributors who participated in this project.

How to contribute

Contributions are always welcome. Please submit pull requests against the main branch.

If you have any issues, questions, or remarks, then please open an issue on GitHub.

License

This project is licensed under the BSD license - see the LICENSE.md file for details.

Owner

  • Name: Computational Imaging, CWI
  • Login: cicwi
  • Kind: organization

CodeMeta (codemeta.json)

{
  "@context": "https://w3id.org/codemeta/3.0",
  "type": "SoftwareSourceCode",
  "applicationCategory": "Computed Tomography",
  "author": [
    {
      "id": "https://orcid.org/0000-0003-1704-5574",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "CEA-IRIG, UGA, MEM, Grenoble, France"
      },
      "email": "nicola.vigano@cea.fr",
      "familyName": "Vigan",
      "givenName": "Nicola"
    },
    {
      "id": "_:author_2",
      "type": "Person",
      "affiliation": {
        "type": "Organization",
        "name": "ESRF - The European Synchrotron"
      },
      "email": "jerome.lesaint@esrf.fr",
      "familyName": "Lesaint",
      "givenName": "Jerome"
    },
    {
      "id": "https://orcid.org/0000-0001-9798-8710",
      "type": "Person",
      "familyName": "Harrison",
      "givenName": "Patrick"
    }
  ],
  "codeRepository": "github.com:cicwi/PyCorrectedEmissionCT.git",
  "description": "Physically corrected projectors for X-ray-induced emission CT. PyCorrectedEmissionCT is usually abbreviated to its Python module name: corrct (either pronounced \"corr-C-T\" or \"correct\").",
  "identifier": "10.5281/zenodo.3569684",
  "keywords": [
    "xrf-ct",
    "X-ray",
    "self-attenuation",
    "attenuation correction",
    "tomography"
  ],
  "license": "https://spdx.org/licenses/BSD-3-Clause",
  "name": "PyCorrectedEmissionCT",
  "operatingSystem": [
    "Linux",
    "Windows",
    "macOS"
  ],
  "programmingLanguage": "Python",
  "issueTracker": "https://github.com/cicwi/PyCorrectedEmissionCT/issues"
}

GitHub Events

Total
  • Create event: 4
  • Issues event: 1
  • Release event: 1
  • Watch event: 2
  • Push event: 21
  • Pull request event: 1
Last Year
  • Create event: 4
  • Issues event: 1
  • Release event: 1
  • Watch event: 2
  • Push event: 21
  • Pull request event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 462
  • Total Committers: 4
  • Avg Commits per committer: 115.5
  • Development Distribution Score (DDS): 0.048
Top Committers
Name Email Commits
Nicola VIGANO n****o@e****r 440
Nicola Viganò O****n@u****m 9
Nicola Viganò b****y@g****m 8
Nicola VIGANÒ N****o@c****l 5
Committer Domains (Top 20 + Academic)
cwi.nl: 1 esrf.fr: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 12
  • Total pull requests: 12
  • Average time to close issues: 6 months
  • Average time to close pull requests: 5 months
  • Total issue authors: 2
  • Total pull request authors: 3
  • Average comments per issue: 0.75
  • Average comments per pull request: 0.83
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 2
  • Pull requests: 1
  • Average time to close issues: N/A
  • Average time to close pull requests: 7 days
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 1
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Obi-Wan (11)
  • harripj (1)
Pull Request Authors
  • Obi-Wan (12)
  • lesaintjerome (1)
  • harripj (1)
Top Labels
Issue Labels
enhancement (6)
Pull Request Labels
enhancement (11)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 49 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 19
  • Total maintainers: 1
pypi.org: corrct

Physically corrected projectors for X-ray induced emission CT.

  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 49 Last month
Rankings
Dependent packages count: 10.1%
Forks count: 19.1%
Average: 20.8%
Dependent repos count: 21.6%
Downloads: 25.5%
Stargazers count: 27.8%
Maintainers (1)
Last synced: 6 months ago