Skip to main content

PyTorch bindings for PYRO-NN (https://github.com/csyben/PYRO-NN)

Project description

PyPI version https://travis-ci.org/theHamsta/pyronn-torch.svg?branch=master

pyronn-torch

This repository provides PyTorch bindings for PYRO-NN, a collection of back-rotatable projectors for CT reconstruction.

Feel free to cite our publication:

@article{PYRONN2019,
author = {Syben, Christopher and Michen, Markus and Stimpel, Bernhard and Seitz, Stephan and Ploner, Stefan and Maier, Andreas K.},
title = {Technical Note: PYRO-NN: Python reconstruction operators in neural networks},
year = {2019},
journal = {Medical Physics},
}

Installation

From PyPI:

pip install pyronn-torch

From this repository:

git clone --recurse-submodules --recursive https://github.com/theHamsta/pyronn-torch.git
cd pyronn-torch
pip install torch
pip install -e .

You can build a binary wheel using

python setup.py bdist_wheel

Usage

import pyronn_torch

#ConeBeamProjector(volume_shape,
#                  volume_spacing,
#                  volume_origin,
#                  projection_shape,
#                  projection_spacing,
#                  projection_origin,
#                  projection_matrices)
projector = pyronn_torch.ConeBeamProjector(
    (128, 128, 128),
    (2.0, 2.0, 2.0),
    (-127.5, -127.5, -127.5),
    (2, 480, 620),
    [1.0, 1.0],
    (0, 0),
    np.array([[[-3.10e+2, -1.20e+03,  0.00e+00,  1.86e+5],
               [-2.40e+2,  0.00e+00,  1.20e+03,  1.44e+5],
               [-1.00e+00,  0.00e+00,  0.00e+00,  6.00e+2]],
              [[-2.89009888e+2, -1.20522754e+3, -1.02473585e-13,
                1.86000000e+5],
               [-2.39963440e+2, -4.18857765e+0,  1.20000000e+3,
                1.44000000e+5],
               [-9.99847710e-01, -1.74524058e-2,  0.00000000e+0,
                6.00000000e+2]]]) # two projection matrices
)
projection = projector.new_projection_tensor(requires_grad=True)

projection += 1.
result = projector.project_backward(projection, use_texture=True)

assert projection.requires_grad
assert result.requires_grad

loss = result.mean()
loss.backward()

Or easier with PyCONRAD (pip install pyconrad)

projector = pyronn_torch.ConeBeamProjector.from_conrad_config()

The configuration can then be done using CONRAD (startable using conrad from command line)

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

pyronn-torch-0.0.6.tar.gz (38.7 kB view details)

Uploaded Source

File details

Details for the file pyronn-torch-0.0.6.tar.gz.

File metadata

  • Download URL: pyronn-torch-0.0.6.tar.gz
  • Upload date:
  • Size: 38.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.5

File hashes

Hashes for pyronn-torch-0.0.6.tar.gz
Algorithm Hash digest
SHA256 80d65339f280c4b0ae76be30f81cf8cce72be596ebb9e48341db41f206cf0430
MD5 1e10e73dcf78423e2a02c40746627b53
BLAKE2b-256 5526436d675def579b6540c62a8060be3245ff2cce67d365d23fe64e1d388dfc

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