Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

ASTRA Tomography Toolbox

License

NotificationsYou must be signed in to change notification settings

gbzan/astra-toolbox

 
 

Repository files navigation

The ASTRA Toolbox is a MATLAB and Python toolbox of high-performance GPU primitives for 2D and 3D tomography.

We support 2D parallel and fan beam geometries, and 3D parallel and cone beam. All of them have highly flexible source/detector positioning.

A large number of 2D and 3D algorithms are available, including FBP, SIRT, SART, CGLS.

The basic forward and backward projection operations are GPU-accelerated, and directly callable from MATLAB and Python to enable building new algorithms.

Documentation / samples

See the MATLAB and Python code samples in samples/ and onhttp://www.astra-toolbox.com/ .

Installation instructions

Windows, binary

Add the mex and tools subdirectories to your MATLAB path, or copy the Pythonastra module to your Python site-packages directory. We require the MicrosoftVisual Studio 2015 redistributable package. If this is not already installed onyour system, it is included as vc_redist.x64.exe in the ASTRA zip file.

Linux/Windows, using conda for python

Requirements:conda python environment, with 64 bit Python 3.7, 3.8 or 3.9.

There are packages available for the ASTRA Toolbox in the astra-toolboxchannel for the conda package manager. To use these, run the followinginside a conda environment.

conda install -c astra-toolbox astra-toolbox

We also provide development packages:

conda install -c astra-toolbox/label/dev astra-toolbox

Linux, from source

For Matlab

Requirements: g++, boost, CUDA (8.0 or higher), Matlab (R2012a or higher)

cd build/linux./autogen.sh   # when building a git version./configure --with-cuda=/usr/local/cuda \            --with-matlab=/usr/local/MATLAB/R2012a \            --prefix=$HOME/astra \            --with-install-type=modulemakemake install

Add $HOME/astra/matlab and its subdirectories (tools, mex) to your matlab path.

If you want to build the Octave interface instead of the Matlab interface,specify --enable-octave instead of --with-matlab=... . The Octave fileswill be installed into $HOME/astra/octave . On some Linux distributionsbuilding the Astra Octave interface will require the Octave development packageto be installed (e.g., liboctave-dev on Ubuntu).

NB: Each matlab version only supports a specific range of g++ versions.Despite this, if you have a newer g++ and if you get errors related to missingGLIBCXX_3.4.xx symbols, it is often possible to work around this requirementby deleting the version of libstdc++ supplied by matlab inMATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk),or setting LD_PRELOAD=/usr/lib64/libstdc++.so.6 (or similar) when startingmatlab.

For Python

Requirements: g++, boost, CUDA (8.0 or higher), Python (2.7 or 3.x)

cd build/linux./autogen.sh   # when building a git version./configure --with-cuda=/usr/local/cuda \            --with-python \            --with-install-type=modulemakemake install

This will install Astra into your current Python environment.

As a C++ library

Requirements: g++, boost, CUDA (8.0 or higher)

cd build/linux./autogen.sh   # when building a git version./configure --with-cuda=/usr/local/cudamakemake install-dev

This will install the Astra library and C++ headers.

macOS, from source

Use the Homebrew package manager to install boost, libtool, autoconf, automake.

cd build/linux./autogen.shCPPFLAGS="-I/usr/local/include" NVCCFLAGS="-I/usr/local/include" ./configure \  --with-cuda=/usr/local/cuda \  --with-matlab=/Applications/MATLAB_R2016b.app \  --prefix=$HOME/astra \  --with-install-type=modulemakemake install

Windows, from source using Visual Studio 2015

Requirements: Visual Studio 2015 (full or community), boost (recent), CUDA 9.0,Matlab (R2012a or higher) and/or WinPython 3.x.

Using the Visual Studio IDE:

Set the environment variable MATLAB_ROOT to your matlab install location.Copy boost headers to lib\include\boost, and boost libraries to lib\x64.Open astra_vc14.sln in Visual Studio.Select the appropriate solution configuration (typically Release_CUDA|x64).Build the solution.Install by copying AstraCuda64.dll and all .mexw64 files frombin\x64\Release_CUDA and the entire matlab/tools directory to a directoryto be added to your matlab path.

Using .bat scripts in build\msvc:

Edit build_env.bat and set up the correct directories.Run build_setup.bat to automatically copy the boost headers and libraries.For matlab: Run build_matlab.bat. The .dll and .mexw64 files will be in bin\x64\Release_Cuda.For python 3.9: Run build_python39.bat. Astra will be directly installed into site-packages.

Testing your installation

To perform a (very) basic test of your ASTRA installation in Python, you canrun the following Python command.

import astraastra.test()

To test your ASTRA installation in Matlab, the equivalent command is:

astra_test

References

If you use the ASTRA Toolbox for your research, we would appreciate it if you would refer to the following papers:

W. van Aarle, W. J. Palenstijn, J. Cant, E. Janssens, F. Bleichrodt, A. Dabravolski, J. De Beenhouwer, K. J. Batenburg, and J. Sijbers, “Fast and Flexible X-ray Tomography Using the ASTRA Toolbox”, Optics Express, 24(22), 25129-25147, (2016),http://dx.doi.org/10.1364/OE.24.025129

W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K. J. Batenburg, and J. Sijbers, “The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography”, Ultramicroscopy, 157, 35–47, (2015),http://dx.doi.org/10.1016/j.ultramic.2015.05.002

Additionally, if you use parallel beam GPU code, we would appreciate it if you would refer to the following paper:

W. J. Palenstijn, K J. Batenburg, and J. Sijbers, "Performance improvements for iterative electron tomography reconstruction using graphics processing units (GPUs)", Journal of Structural Biology, vol. 176, issue 2, pp. 250-253, 2011,http://dx.doi.org/10.1016/j.jsb.2011.07.017

License

The ASTRA Toolbox is open source under the GPLv3 license.

Contact

email:astra@astra-toolbox.comwebsite:http://www.astra-toolbox.com/

Copyright: 2010-2021, imec Vision Lab, University of Antwerp2014-2021, CWI, Amsterdamhttp://visielab.uantwerpen.be/ andhttp://www.cwi.nl/

About

ASTRA Tomography Toolbox

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++63.2%
  • Cuda11.4%
  • MATLAB9.8%
  • Python6.2%
  • Shell3.6%
  • Cython3.4%
  • Other2.4%

[8]ページ先頭

©2009-2025 Movatter.jp