Cone Beam Projector in Python
Project description
conebeam_projector
This is the CONRAD cone beam projector ported to pycuda.
Install
pip install conebeam-projector
Or from this repo:
pip install -e .
Usage
import pyconrad.autoinit
import pyconrad.config
import pycuda.gpuarray as gpuarray
import conebeam_projector
from edu.stanford.rsl.conrad.phantom import NumericalSheppLogan3D
phantom = np.array(NumericalSheppLogan3D(
*pyconrad.config.get_reco_size()).getNumericalSheppLoganPhantom(), np.float32)
pyconrad.imshow(phantom, "phantom")
projector = conebeam_projector.CudaProjector()
sino = gpuarray.zeros(pyconrad.config.get_sino_shape(), np.float32)
projector.forward_project_cuda_raybased(phantom, sino, use_maximum_intensity_projection=False)
pyconrad.imshow(sino, "Sinogram")
backprojection = projector.backProjectPixelDrivenCuda(sino)
pyconrad.imshow(backprojection, "backprojection")
Configuration
Configuration of the projector geometry is done by (py)CONRAD.
The first time you use it CONRAD will suggest you to create a global Conrad.xml
in your home directory which stores all configuration options.
You can launch conrad
from bash command line to get a GUI loaded.
You can set the configuration programmatically via
import pyconrad.autoinit # launches JVM
import pyconrad.config
this_is_the_configuration_obj = pyconrad.config.get_conf()
This will give you a instance of CONRAD’s edu.stanford.rsl.conrad.utils.Configuration class.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
conebeam_projector-0.1.2.tar.gz
(21.7 kB
view hashes)