summaryrefslogtreecommitdiffstats
path: root/README.txt
blob: 5ec65641b70fca65a48d099ce9c19c27176f2e57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
-----------------------------------------------------------------------
This file is part of the ASTRA Toolbox

Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
           2014-2015, CWI, Amsterdam
           http://visielab.uantwerpen.be/ and http://www.cwi.nl/
License: Open Source under GPLv3
Contact: astra@uantwerpen.be
Website: http://sf.net/projects/astra-toolbox
-----------------------------------------------------------------------


The ASTRA Toolbox is a MATLAB 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 to enable building new algorithms.




Documentation / samples:
-------------------------

See the matlab code samples in samples/ and on
http://sf.net/projects/astra-toolbox .





Installation instructions:
---------------------------


Windows, binary:
-----------------

Add the mex and tools subdirectories to your matlab path.



Linux, from source:
--------------------

Requirements: g++, boost, CUDA (driver+toolkit), matlab

cd build/linux
./autogen.sh   # when building a git version
./configure --with-cuda=/usr/local/cuda \
            --with-matlab=/usr/local/MATLAB/R2012a \
            --prefix=/usr/local/astra
make
make install
Add /usr/local/astra/lib to your LD_LIBRARY_PATH.
Add /usr/local/astra/matlab and its subdirectories (tools, mex)
  to your matlab path.


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 missing
GLIBCXX_3.4.xx symbols, it is often possible to work around this requirement
by deleting the version of libstdc++ supplied by matlab in
MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk).


Windows, from source using Visual Studio 2008:
-----------------------------------------------

Requirements: Visual Studio 2008, boost, CUDA (driver+toolkit), matlab.
Note that a .zip with all required (and precompiled) boost files is
  available from our website.

Set the environment variable MATLAB_ROOT to your matlab install location.
Open astra_vc08.sln in Visual Studio.
Select the appropriate solution configuration.
  (typically Release_CUDA|win32 or Release_CUDA|x64)
Build the solution.
Install by copying AstraCuda32.dll or AstraCuda64.dll from bin/ and
  all .mexw32 or .mexw64 files from bin/Release_CUDA or bin/Debug_CUDA
  and the entire matlab/tools directory to a directory to be added to
  your matlab path.


References:
------------

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

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 (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