NB: The ASTRA Tomography Toolbox is now hosted at http://www.astra-toolbox.com/
The ASTRA Tomography Toolbox is a MATLAB toolbox based on high-performance GPU primitives for 2D and 3D tomography, developed jointly by the ASTRA-Vision Lab research group at the University of Antwerp and CWI, Amsterdam.
It supports 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.
An excellent tomography package. The feature list is amazing. An open-source project like this has a huge potential. We had some problems at first, when we started to use ASTRA. The windows installation requires the correct Visual C++ Redistributables to be installed (in our case, Visual C++ 2012 Redistributable (x64)), or else MATLAB complains about invalid .mex files. Also, the authors should add more working MATLAB code examples. Some things, such as how to set up the geometry with real, measured 3D cone beam data, were not very intuitive.
The project has several bugs/glitches concerning linux compatibility. The use of pthread instead of boost thread didn't work right away for me. In the process, I discovered that "#ifndef USE_PTHREAD" in line 32 of AsyncAlgorithm.cpp references a macro that is never used anywhere--i.e. should be "USE_PTHREADS". Also, it seems two header files are missing from the source distribution: ConvexHullAlgorithm.h and ReconstructionAlgorithmMultiSlice2D.h. Not sure what's up with that. If it weren't for the usage of the function "pthread_timedjoin_np", there's no reason why this library wouldn't also compile on OSX. (In fact, I was able to get it to run just fine by excluding the threading parts of the code.) It seems like this project was developed solely in Visual Studios, with linux compatibility tacked on after--nothing wrong with this, except that the linux support is, I think, a bit less than advertised. I think this project could be vitally important as the tomography community begins to catch on. I come from the academic research sector, and I can see this software being very helpful to me. The feature list is impressive. Having browsed through a large portion of the code, it appears that a lot of work was put into this library. Going forward, I think the following changes would help make this project a great success: - use CMake for the build system instead of autoconf/make (CMake has automatic VS project generation) - distribute the ASTRA library and matlab wrapper as separate projects - make threading OS X compatible to achieve greater cross-platform support - set up a git repository to encourage more documentation contributors The features of the library, from my very limited use, seem to be sound. But I think there's a lot this project could gain in terms of documentation/useability by making it more accessible to the open source/academic communities (i.e. things mentioned above). I am sort of doing these things right now, but I don't want to lose out on the knowledge and future updates/fixes/contribution of the great minds at iMinds Vision Labs. I hope that the authors express their future development plans so I know how to continue with my research and use of this library.