diff options
Diffstat (limited to 'matlab')
86 files changed, 652 insertions, 305 deletions
diff --git a/matlab/algorithms/DART/DARTalgorithm.m b/matlab/algorithms/DART/DARTalgorithm.m index 34beeee..ef5d880 100644 --- a/matlab/algorithms/DART/DARTalgorithm.m +++ b/matlab/algorithms/DART/DARTalgorithm.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/IterativeTomography.m b/matlab/algorithms/DART/IterativeTomography.m index e94dd36..3b93b27 100644 --- a/matlab/algorithms/DART/IterativeTomography.m +++ b/matlab/algorithms/DART/IterativeTomography.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- @@ -87,7 +87,7 @@ classdef IterativeTomography < matlab.mixin.Copyable function ok = initialize(this) % Initialize this object. Returns 1 if succesful. % >> tomography.initialize(); - + disp('sdfqnlmkqdsfmlkjdfqsjklm'); % create projection geometry with super-resolution if this.superresolution > 1 this.proj_geom_sr = astra_geom_superresolution(this.proj_geom, this.superresolution); diff --git a/matlab/algorithms/DART/IterativeTomography3D.m b/matlab/algorithms/DART/IterativeTomography3D.m index 4a0b33a..b2bf57d 100644 --- a/matlab/algorithms/DART/IterativeTomography3D.m +++ b/matlab/algorithms/DART/IterativeTomography3D.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/Kernels.m b/matlab/algorithms/DART/Kernels.m index 02200f7..0db08a0 100644 --- a/matlab/algorithms/DART/Kernels.m +++ b/matlab/algorithms/DART/Kernels.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/MaskingDefault.m b/matlab/algorithms/DART/MaskingDefault.m index cca143e..73e0f51 100644 --- a/matlab/algorithms/DART/MaskingDefault.m +++ b/matlab/algorithms/DART/MaskingDefault.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/MaskingGPU.m b/matlab/algorithms/DART/MaskingGPU.m index 32859a2..b344dfd 100644 --- a/matlab/algorithms/DART/MaskingGPU.m +++ b/matlab/algorithms/DART/MaskingGPU.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/OutputDefault.m b/matlab/algorithms/DART/OutputDefault.m index cb9979c..2e337f8 100644 --- a/matlab/algorithms/DART/OutputDefault.m +++ b/matlab/algorithms/DART/OutputDefault.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/SegmentationDefault.m b/matlab/algorithms/DART/SegmentationDefault.m index 4c808d3..21c2c7b 100644 --- a/matlab/algorithms/DART/SegmentationDefault.m +++ b/matlab/algorithms/DART/SegmentationDefault.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/SmoothingDefault.m b/matlab/algorithms/DART/SmoothingDefault.m index 9d1ea9e..a66ab51 100644 --- a/matlab/algorithms/DART/SmoothingDefault.m +++ b/matlab/algorithms/DART/SmoothingDefault.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/SmoothingGPU.m b/matlab/algorithms/DART/SmoothingGPU.m index 7041f19..80df9cc 100644 --- a/matlab/algorithms/DART/SmoothingGPU.m +++ b/matlab/algorithms/DART/SmoothingGPU.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/StatisticsDefault.m b/matlab/algorithms/DART/StatisticsDefault.m index 84275d9..3a6a8e7 100644 --- a/matlab/algorithms/DART/StatisticsDefault.m +++ b/matlab/algorithms/DART/StatisticsDefault.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/examples/example1.m b/matlab/algorithms/DART/examples/example1.m index 6c86473..1b4023e 100644 --- a/matlab/algorithms/DART/examples/example1.m +++ b/matlab/algorithms/DART/examples/example1.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- @@ -35,36 +35,41 @@ vol_geom = astra_create_vol_geom(det_count, det_count); [sinogram_id, sinogram] = astra_create_sino_cuda(I, proj_geom, vol_geom); astra_mex_data2d('delete', sinogram_id); -% DART -D = DARTalgorithm(sinogram, proj_geom); -D.t0 = 100; -D.t = 10; + % DART + D = DARTalgorithm(sinogram, proj_geom); + D.t0 = 100; + D.t = 10; -D.tomography.method = 'SIRT_CUDA'; -D.tomography.gpu_core = gpu_core; -D.tomography.use_minc = 'yes'; + D.tomography.method = 'SIRT'; + D.tomography.gpu_core = gpu_core; + D.tomography.use_minc = 'yes'; + D.tomography.gpu = 'no'; -D.segmentation.rho = rho; -D.segmentation.tau = tau; + D.segmentation = SegmentationPDM(); + D.segmentation.rho = rho*1.8; + D.segmentation.tau = tau*1.5; + D.segmentation.interval = 5; -D.smoothing.b = 0.1; -D.smoothing.gpu_core = gpu_core; - -D.masking.random = 0.1; -D.masking.gpu_core = gpu_core; + D.smoothing.b = 0.1; + D.smoothing.gpu_core = gpu_core; + D.smoothing.gpu = 'no'; + + D.masking.random = 0.1; + D.masking.gpu_core = gpu_core; + D.masking.gpu = 'no'; + + D.output.directory = outdir; + D.output.pre = [prefix '_']; + D.output.save_images = 'no'; + D.output.save_results = {'stats', 'settings', 'S', 'V'}; + D.output.save_interval = dart_iterations; + D.output.verbose = 'yes'; -D.output.directory = outdir; -D.output.pre = [prefix '_']; -D.output.save_images = 'no'; -D.output.save_results = {'stats', 'settings', 'S', 'V'}; -D.output.save_interval = dart_iterations; -D.output.verbose = 'yes'; + D.statistics.proj_diff = 'no'; -D.statistics.proj_diff = 'no'; + D.initialize(); -D.initialize(); - -D.iterate(dart_iterations); + D.iterate(dart_iterations); % save the reconstruction and the segmentation to file imwritesc(D.S, [outdir '/' prefix '_S.png']); diff --git a/matlab/algorithms/DART/examples/example2.m b/matlab/algorithms/DART/examples/example2.m index 85774e5..612830b 100644 --- a/matlab/algorithms/DART/examples/example2.m +++ b/matlab/algorithms/DART/examples/example2.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/examples/example3.m b/matlab/algorithms/DART/examples/example3.m index 647ad2d..d38ca02 100644 --- a/matlab/algorithms/DART/examples/example3.m +++ b/matlab/algorithms/DART/examples/example3.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/DARToptimizer.m b/matlab/algorithms/DART/tools/DARToptimizer.m index 424ff22..7d228a0 100644 --- a/matlab/algorithms/DART/tools/DARToptimizer.m +++ b/matlab/algorithms/DART/tools/DARToptimizer.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m b/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m index f488cd6..7b14c9a 100644 --- a/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m +++ b/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m b/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m index 64d71fd..a526782 100644 --- a/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m +++ b/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/dart_create_base_phantom.m b/matlab/algorithms/DART/tools/dart_create_base_phantom.m index acd4048..26628af 100644 --- a/matlab/algorithms/DART/tools/dart_create_base_phantom.m +++ b/matlab/algorithms/DART/tools/dart_create_base_phantom.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/dart_scheduler.m b/matlab/algorithms/DART/tools/dart_scheduler.m index 4749fb1..73db405 100644 --- a/matlab/algorithms/DART/tools/dart_scheduler.m +++ b/matlab/algorithms/DART/tools/dart_scheduler.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/algorithms/DART/tools/rNMPOptimFunc.m b/matlab/algorithms/DART/tools/rNMPOptimFunc.m index 5eb92bf..6fdbd05 100644 --- a/matlab/algorithms/DART/tools/rNMPOptimFunc.m +++ b/matlab/algorithms/DART/tools/rNMPOptimFunc.m @@ -1,10 +1,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/mex/astra_mex_algorithm_c.cpp b/matlab/mex/astra_mex_algorithm_c.cpp index f20f3a5..80c0424 100644 --- a/matlab/mex/astra_mex_algorithm_c.cpp +++ b/matlab/mex/astra_mex_algorithm_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_c.cpp b/matlab/mex/astra_mex_c.cpp index 017946a..f57c0cd 100644 --- a/matlab/mex/astra_mex_c.cpp +++ b/matlab/mex/astra_mex_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. @@ -78,7 +78,7 @@ void astra_mex_credits(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[ void astra_mex_use_cuda(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[]) { if (1 <= nlhs) { - plhs[0] = mxCreateDoubleScalar(astra::cudaEnabled() ? 1 : 0); + plhs[0] = mxCreateDoubleScalar(astra::cudaAvailable() ? 1 : 0); } } diff --git a/matlab/mex/astra_mex_data2d_c.cpp b/matlab/mex/astra_mex_data2d_c.cpp index ee558e0..1a6cff0 100644 --- a/matlab/mex/astra_mex_data2d_c.cpp +++ b/matlab/mex/astra_mex_data2d_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. @@ -44,6 +44,7 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>. #include "astra/SparseMatrixProjectionGeometry2D.h" #include "astra/FanFlatProjectionGeometry2D.h" #include "astra/FanFlatVecProjectionGeometry2D.h" +#include "astra/ParallelVecProjectionGeometry2D.h" using namespace std; using namespace astra; @@ -159,6 +160,8 @@ void astra_mex_data2d_create(int& nlhs, mxArray* plhs[], int& nrhs, const mxArra pGeometry = new CFanFlatProjectionGeometry2D(); } else if (type == "fanflat_vec") { pGeometry = new CFanFlatVecProjectionGeometry2D(); + } else if (type == "parallel_vec") { + pGeometry = new CParallelVecProjectionGeometry2D(); } else { pGeometry = new CParallelProjectionGeometry2D(); } @@ -448,6 +451,8 @@ void astra_mex_data2d_change_geometry(int nlhs, mxArray* plhs[], int nrhs, const pGeometry = new CFanFlatProjectionGeometry2D(); } else if (type == "fanflat_vec") { pGeometry = new CFanFlatVecProjectionGeometry2D(); + } else if (type == "parallel_vec") { + pGeometry = new CParallelVecProjectionGeometry2D(); } else { pGeometry = new CParallelProjectionGeometry2D(); } diff --git a/matlab/mex/astra_mex_data3d_c.cpp b/matlab/mex/astra_mex_data3d_c.cpp index f0aa3c8..5504955 100644 --- a/matlab/mex/astra_mex_data3d_c.cpp +++ b/matlab/mex/astra_mex_data3d_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_direct_c.cpp b/matlab/mex/astra_mex_direct_c.cpp index d92a10c..1a129f4 100644 --- a/matlab/mex/astra_mex_direct_c.cpp +++ b/matlab/mex/astra_mex_direct_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_log_c.cpp b/matlab/mex/astra_mex_log_c.cpp index 18dc1d4..2c0e986 100644 --- a/matlab/mex/astra_mex_log_c.cpp +++ b/matlab/mex/astra_mex_log_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_matrix_c.cpp b/matlab/mex/astra_mex_matrix_c.cpp index 99a7d0e..4a5ec18 100644 --- a/matlab/mex/astra_mex_matrix_c.cpp +++ b/matlab/mex/astra_mex_matrix_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_plugin_c.cpp b/matlab/mex/astra_mex_plugin_c.cpp index 570e495..3bc812a 100644 --- a/matlab/mex/astra_mex_plugin_c.cpp +++ b/matlab/mex/astra_mex_plugin_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_projector3d_c.cpp b/matlab/mex/astra_mex_projector3d_c.cpp index c5f2291..5581d6c 100644 --- a/matlab/mex/astra_mex_projector3d_c.cpp +++ b/matlab/mex/astra_mex_projector3d_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/astra_mex_projector_c.cpp b/matlab/mex/astra_mex_projector_c.cpp index 5c2ba72..27c4b20 100644 --- a/matlab/mex/astra_mex_projector_c.cpp +++ b/matlab/mex/astra_mex_projector_c.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexCopyDataHelpFunctions.cpp b/matlab/mex/mexCopyDataHelpFunctions.cpp index 74f0538..92435a6 100644 --- a/matlab/mex/mexCopyDataHelpFunctions.cpp +++ b/matlab/mex/mexCopyDataHelpFunctions.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexCopyDataHelpFunctions.h b/matlab/mex/mexCopyDataHelpFunctions.h index 3ba4cb2..259467a 100644 --- a/matlab/mex/mexCopyDataHelpFunctions.h +++ b/matlab/mex/mexCopyDataHelpFunctions.h @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexDataManagerHelpFunctions.cpp b/matlab/mex/mexDataManagerHelpFunctions.cpp index c47ee27..a71928b 100644 --- a/matlab/mex/mexDataManagerHelpFunctions.cpp +++ b/matlab/mex/mexDataManagerHelpFunctions.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexDataManagerHelpFunctions.h b/matlab/mex/mexDataManagerHelpFunctions.h index b7edb0f..868f67e 100644 --- a/matlab/mex/mexDataManagerHelpFunctions.h +++ b/matlab/mex/mexDataManagerHelpFunctions.h @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexHelpFunctions.cpp b/matlab/mex/mexHelpFunctions.cpp index 7cab248..319f338 100644 --- a/matlab/mex/mexHelpFunctions.cpp +++ b/matlab/mex/mexHelpFunctions.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/mexHelpFunctions.h b/matlab/mex/mexHelpFunctions.h index 37ca894..bf22929 100644 --- a/matlab/mex/mexHelpFunctions.h +++ b/matlab/mex/mexHelpFunctions.h @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/mex/octave_support.cpp b/matlab/mex/octave_support.cpp index 79556ee..8df6d4b 100644 --- a/matlab/mex/octave_support.cpp +++ b/matlab/mex/octave_support.cpp @@ -1,9 +1,9 @@ /* ----------------------------------------------------------------------- -Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - 2014-2016, CWI, Amsterdam +Copyright: 2010-2018, imec Vision Lab, University of Antwerp + 2014-2018, CWI, Amsterdam -Contact: astra@uantwerpen.be +Contact: astra@astra-toolbox.com Website: http://www.astra-toolbox.com/ This file is part of the ASTRA Toolbox. diff --git a/matlab/tools/astra_add_noise_to_sino.m b/matlab/tools/astra_add_noise_to_sino.m index c938507..957b5d0 100644 --- a/matlab/tools/astra_add_noise_to_sino.m +++ b/matlab/tools/astra_add_noise_to_sino.m @@ -15,10 +15,10 @@ function sinogram_out = astra_add_noise_to_sino(sinogram_in,I0) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_clear.m b/matlab/tools/astra_clear.m index 14f8e77..7c8d1a4 100644 --- a/matlab/tools/astra_clear.m +++ b/matlab/tools/astra_clear.m @@ -5,10 +5,10 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_backprojection.m b/matlab/tools/astra_create_backprojection.m index 263a684..eadc37e 100644 --- a/matlab/tools/astra_create_backprojection.m +++ b/matlab/tools/astra_create_backprojection.m @@ -13,10 +13,10 @@ function [vol_id, vol] = astra_create_backprojection(data, proj_id) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_backprojection3d_cuda.m b/matlab/tools/astra_create_backprojection3d_cuda.m index b060b39..e1c5655 100644 --- a/matlab/tools/astra_create_backprojection3d_cuda.m +++ b/matlab/tools/astra_create_backprojection3d_cuda.m @@ -15,10 +15,10 @@ function [vol_id, vol] = astra_create_backprojection3d_cuda(data, proj_geom, vol %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_backprojection_cuda.m b/matlab/tools/astra_create_backprojection_cuda.m index 04ea61b..f29d87c 100644 --- a/matlab/tools/astra_create_backprojection_cuda.m +++ b/matlab/tools/astra_create_backprojection_cuda.m @@ -14,10 +14,10 @@ function backProj = astra_create_backprojection_cuda(sinogramData, proj_geom, vo %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % - % Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - % 2014-2016, CWI, Amsterdam + % Copyright: 2010-2018, imec Vision Lab, University of Antwerp + % 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 - % Contact: astra@uantwerpen.be + % Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_proj_geom.m b/matlab/tools/astra_create_proj_geom.m index 0a30f23..861fbe7 100644 --- a/matlab/tools/astra_create_proj_geom.m +++ b/matlab/tools/astra_create_proj_geom.m @@ -87,10 +87,10 @@ function proj_geom = astra_create_proj_geom(type, varargin) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- @@ -106,6 +106,19 @@ if strcmp(type,'parallel') 'ProjectionAngles', varargin{3} ... ); +elseif strcmp(type,'parallel_vec') + if numel(varargin) < 2 + error('not enough variables: astra_create_proj_geom(parallel_vec, det_count, V') + end + if size(varargin{2}, 2) ~= 6 + error('V should be a Nx6 matrix, with N the number of projections') + end + proj_geom = struct( ... + 'type', 'parallel_vec', ... + 'DetectorCount', varargin{1}, ... + 'Vectors', varargin{2} ... + ); + elseif strcmp(type,'fanflat') if numel(varargin) < 5 error('not enough variables: astra_create_proj_geom(fanflat, det_width, det_count, angles, source_origin, source_det)'); diff --git a/matlab/tools/astra_create_projector.m b/matlab/tools/astra_create_projector.m index e0adac7..1c87cc4 100644 --- a/matlab/tools/astra_create_projector.m +++ b/matlab/tools/astra_create_projector.m @@ -15,10 +15,10 @@ function proj_id = astra_create_projector(type, proj_geom, vol_geom, options) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ % ------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_reconstruction.m b/matlab/tools/astra_create_reconstruction.m index 3362768..ddcf5a2 100644 --- a/matlab/tools/astra_create_reconstruction.m +++ b/matlab/tools/astra_create_reconstruction.m @@ -21,10 +21,10 @@ function [recon_id, recon] = astra_create_reconstruction(rec_type, proj_id, sino %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_reconstruction_cuda.m b/matlab/tools/astra_create_reconstruction_cuda.m index ddcc5ee..71c0938 100644 --- a/matlab/tools/astra_create_reconstruction_cuda.m +++ b/matlab/tools/astra_create_reconstruction_cuda.m @@ -22,10 +22,10 @@ function [recon_id, recon] = astra_create_reconstruction_cuda(rec_type, proj_geo %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_sino.m b/matlab/tools/astra_create_sino.m index 977664b..06e91d2 100644 --- a/matlab/tools/astra_create_sino.m +++ b/matlab/tools/astra_create_sino.m @@ -13,10 +13,10 @@ function [sino_id, sino] = astra_create_sino(data, proj_id) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_sino3d_cuda.m b/matlab/tools/astra_create_sino3d_cuda.m index 34c82b4..3b67ae1 100644 --- a/matlab/tools/astra_create_sino3d_cuda.m +++ b/matlab/tools/astra_create_sino3d_cuda.m @@ -15,10 +15,10 @@ function [sino_id, sino] = astra_create_sino3d_cuda(data, proj_geom, vol_geom) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_sino_cuda.m b/matlab/tools/astra_create_sino_cuda.m index 2dfb82f..0ea3120 100644 --- a/matlab/tools/astra_create_sino_cuda.m +++ b/matlab/tools/astra_create_sino_cuda.m @@ -16,10 +16,10 @@ function [sino_id, sino] = astra_create_sino_cuda(data, proj_geom, vol_geom, gpu %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_sino_gpu.m b/matlab/tools/astra_create_sino_gpu.m index ca651ee..9bfd9b8 100644 --- a/matlab/tools/astra_create_sino_gpu.m +++ b/matlab/tools/astra_create_sino_gpu.m @@ -16,10 +16,10 @@ function [sino_id, sino] = astra_create_sino_gpu(data, proj_geom, vol_geom, gpu_ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_sino_sampling.m b/matlab/tools/astra_create_sino_sampling.m index 27c6d46..f1b8ccd 100644 --- a/matlab/tools/astra_create_sino_sampling.m +++ b/matlab/tools/astra_create_sino_sampling.m @@ -16,10 +16,10 @@ function [sino_id, sino] = astra_create_sino_sampling(data, proj_geom, vol_geom, %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_create_vol_geom.m b/matlab/tools/astra_create_vol_geom.m index 24fa957..4273dc4 100644 --- a/matlab/tools/astra_create_vol_geom.m +++ b/matlab/tools/astra_create_vol_geom.m @@ -26,10 +26,10 @@ function vol_geom = astra_create_vol_geom(varargin) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_downsample_sinogram.m b/matlab/tools/astra_downsample_sinogram.m index ac50abd..34f320e 100644 --- a/matlab/tools/astra_downsample_sinogram.m +++ b/matlab/tools/astra_downsample_sinogram.m @@ -15,10 +15,10 @@ function [sinogram_new, proj_geom_new] = astra_downsample_sinogram(sinogram, pro %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/astra_geom_2vec.m b/matlab/tools/astra_geom_2vec.m index 0abd07c..4cfcce1 100644 --- a/matlab/tools/astra_geom_2vec.m +++ b/matlab/tools/astra_geom_2vec.m @@ -1,25 +1,64 @@ -function proj_geom_out = astra_geom_2vec(proj_geom) +function proj_geom_vec = astra_geom_2vec(proj_geom) +%-------------------------------------------------------------------------- +% proj_geom_vec = astra_geom_2vec(proj_geom) +% +% Convert a conventional projection geometry to a corresponding vector-base +% projection geometry +% +% proj_geom: input projection geometry (parallel, fanflat, parallel3d, cone) +% proj_geom_vec: output vector-base projection geometry +%-------------------------------------------------------------------------- +% This file is part of the ASTRA Toolbox +% +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam +% License: Open Source under GPLv3 +% Contact: astra@astra-toolbox.com +% Website: http://www.astra-toolbox.com/ +%-------------------------------------------------------------------------- + + % PARALLEL 2D + if strcmp(proj_geom.type,'parallel') + + vectors = zeros(numel(proj_geom.ProjectionAngles), 6); + for i = 1:numel(proj_geom.ProjectionAngles) + + % ray direction + vectors(i,1) = sin(proj_geom.ProjectionAngles(i)); + vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)); + + % center of detector + vectors(i,3) = 0; + vectors(i,4) = 0; + + % vector from detector pixel 0 to 1 + vectors(i,5) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorWidth; + vectors(i,6) = sin(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorWidth; + + end + + proj_geom_vec = astra_create_proj_geom('parallel_vec', proj_geom.DetectorCount, vectors); % FANFLAT - if strcmp(proj_geom.type,'fanflat') + elseif strcmp(proj_geom.type,'fanflat') vectors = zeros(numel(proj_geom.ProjectionAngles), 6); for i = 1:numel(proj_geom.ProjectionAngles) % source vectors(i,1) = sin(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; - vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; + vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; % center of detector vectors(i,3) = -sin(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; - vectors(i,4) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; + vectors(i,4) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; % vector from detector pixel 0 to 1 vectors(i,5) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorWidth; vectors(i,6) = sin(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorWidth; end - proj_geom_out = astra_create_proj_geom('fanflat_vec', proj_geom.DetectorCount, vectors); + proj_geom_vec = astra_create_proj_geom('fanflat_vec', proj_geom.DetectorCount, vectors); % CONE elseif strcmp(proj_geom.type,'cone') @@ -29,13 +68,13 @@ function proj_geom_out = astra_geom_2vec(proj_geom) % source vectors(i,1) = sin(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; - vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; - vectors(i,3) = 0; + vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginSource; + vectors(i,3) = 0; % center of detector vectors(i,4) = -sin(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; - vectors(i,5) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; - vectors(i,6) = 0; + vectors(i,5) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DistanceOriginDetector; + vectors(i,6) = 0; % vector from detector pixel (0,0) to (0,1) vectors(i,7) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorSpacingX; @@ -45,13 +84,13 @@ function proj_geom_out = astra_geom_2vec(proj_geom) % vector from detector pixel (0,0) to (1,0) vectors(i,10) = 0; vectors(i,11) = 0; - vectors(i,12) = proj_geom.DetectorSpacingY; + vectors(i,12) = proj_geom.DetectorSpacingY; end - proj_geom_out = astra_create_proj_geom('cone_vec', proj_geom.DetectorRowCount, proj_geom.DetectorColCount, vectors); + proj_geom_vec = astra_create_proj_geom('cone_vec', proj_geom.DetectorRowCount, proj_geom.DetectorColCount, vectors); - % PARALLEL - elseif strcmp(proj_geom.type,'parallel3d') + % PARALLEL 3D + elseif strcmp(proj_geom.type,'parallel3d') vectors = zeros(numel(proj_geom.ProjectionAngles), 12); for i = 1:numel(proj_geom.ProjectionAngles) @@ -59,12 +98,12 @@ function proj_geom_out = astra_geom_2vec(proj_geom) % ray direction vectors(i,1) = sin(proj_geom.ProjectionAngles(i)); vectors(i,2) = -cos(proj_geom.ProjectionAngles(i)); - vectors(i,3) = 0; + vectors(i,3) = 0; % center of detector vectors(i,4) = 0; vectors(i,5) = 0; - vectors(i,6) = 0; + vectors(i,6) = 0; % vector from detector pixel (0,0) to (0,1) vectors(i,7) = cos(proj_geom.ProjectionAngles(i)) * proj_geom.DetectorSpacingX; @@ -74,11 +113,13 @@ function proj_geom_out = astra_geom_2vec(proj_geom) % vector from detector pixel (0,0) to (1,0) vectors(i,10) = 0; vectors(i,11) = 0; - vectors(i,12) = proj_geom.DetectorSpacingY; + vectors(i,12) = proj_geom.DetectorSpacingY; end - proj_geom_out = astra_create_proj_geom('parallel3d_vec', proj_geom.DetectorRowCount, proj_geom.DetectorColCount, vectors); + proj_geom_vec = astra_create_proj_geom('parallel3d_vec', proj_geom.DetectorRowCount, proj_geom.DetectorColCount, vectors); else error(['No suitable vector geometry found for type: ' proj_geom.type]) end + +end diff --git a/matlab/tools/astra_geom_postalignment.m b/matlab/tools/astra_geom_postalignment.m index 4115af2..5f1e7f8 100644 --- a/matlab/tools/astra_geom_postalignment.m +++ b/matlab/tools/astra_geom_postalignment.m @@ -1,11 +1,44 @@ function proj_geom = astra_geom_postalignment(proj_geom, factor) +%-------------------------------------------------------------------------- +% proj_geom = astra_geom_postalignment(proj_geom, factorU) +% proj_geom = astra_geom_postalignment(proj_geom, [factorU factorV]) +% +% Apply a postalignment to a vector-based projection geometry. Can be used to model the rotation axis offset. +% +% For 2D geometries, the argument factor is a single float specifying the +% distance to shift the detector (measured in detector pixels). +% +% For 3D geometries, factor is a pair of floats specifying the horizontal +% resp. vertical distances to shift the detector. If only a single float is +% specified, this is treated as an horizontal shift. +% +% proj_geom: input projection geometry (vector-based only, use astra_geom_2vec to convert conventional projection geometries) +% factor: number of pixels to shift the detector +% proj_geom: output +%-------------------------------------------------------------------------- +% This file is part of the ASTRA Toolbox +% +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam +% License: Open Source under GPLv3 +% Contact: astra@astra-toolbox.com +% Website: http://www.astra-toolbox.com/ +%-------------------------------------------------------------------------- + + proj_geom = astra_geom_2vec(proj_geom); + + if strcmp(proj_geom.type,'fanflat_vec') || strcmp(proj_geom.type,'parallel_vec') + proj_geom.Vectors(:,3:4) = proj_geom.Vectors(:,3:4) + factor(1) * proj_geom.Vectors(:,5:6); - if strcmp(proj_geom.type,'fanflat_vec') - proj_geom.Vectors(:,3:4) = proj_geom.Vectors(:,3:4) + factor * proj_geom.Vectors(:,5:6); - elseif strcmp(proj_geom.type,'cone_vec') || strcmp(proj_geom.type,'parallel3d_vec') - proj_geom.Vectors(:,4:6) = proj_geom.Vectors(:,4:6) + factor * proj_geom.Vectors(:,7:9); + if numel(factor) == 1 + proj_geom.Vectors(:,4:6) = proj_geom.Vectors(:,4:6) + factor * proj_geom.Vectors(:,7:9); + elseif numel(factor) > 1 + proj_geom.Vectors(:,4:6) = proj_geom.Vectors(:,4:6) + factor(1) * proj_geom.Vectors(:,7:9) + factor(2) * proj_geom.Vectors(:,10:12); + end else error('Projection geometry not suited for postalignment correction.') end + +end diff --git a/matlab/tools/astra_geom_size.m b/matlab/tools/astra_geom_size.m index 7044515..1acf59a 100644 --- a/matlab/tools/astra_geom_size.m +++ b/matlab/tools/astra_geom_size.m @@ -1,4 +1,21 @@ function s = astra_geom_size(geom, dim) +%-------------------------------------------------------------------------- +% s = astra_geom_size(geom, dim) +% +% Get the size of a volume or projection geometry. +% +% geom: volume or projection geometry +% dim (optional): which dimension +% s: output +%-------------------------------------------------------------------------- +% This file is part of the ASTRA Toolbox +% +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam +% License: Open Source under GPLv3 +% Contact: astra@astra-toolbox.com +% Website: http://www.astra-toolbox.com/ +%-------------------------------------------------------------------------- if isfield(geom, 'GridSliceCount') % 3D Volume geometry? @@ -6,23 +23,23 @@ function s = astra_geom_size(geom, dim) elseif isfield(geom, 'GridColCount') % 2D Volume geometry? s = [ geom.GridRowCount, geom.GridColCount ]; - elseif strcmp(geom.type,'parallel') || strcmp(geom.type,'fanflat') + elseif strcmp(geom.type,'parallel') || strcmp(geom.type,'fanflat') s = [numel(geom.ProjectionAngles), geom.DetectorCount]; - - elseif strcmp(geom.type,'parallel3d') || strcmp(geom.type,'cone') + + elseif strcmp(geom.type,'parallel3d') || strcmp(geom.type,'cone') s = [geom.DetectorColCount, numel(geom.ProjectionAngles), geom.DetectorRowCount]; - - elseif strcmp(geom.type,'fanflat_vec') + + elseif strcmp(geom.type,'fanflat_vec') || strcmp(geom.type,'parallel_vec') s = [size(geom.Vectors,1), geom.DetectorCount]; - - elseif strcmp(geom.type,'parallel3d_vec') || strcmp(geom.type,'cone_vec') + + elseif strcmp(geom.type,'parallel3d_vec') || strcmp(geom.type,'cone_vec') s = [geom.DetectorColCount, size(geom.Vectors,1), geom.DetectorRowCount]; - + end if nargin == 2 s = s(dim); end - + end diff --git a/matlab/tools/astra_geom_visualize.m b/matlab/tools/astra_geom_visualize.m new file mode 100644 index 0000000..0044844 --- /dev/null +++ b/matlab/tools/astra_geom_visualize.m @@ -0,0 +1,216 @@ +function astra_geom_visualize(proj_geom, vol_geom) + + if strcmp(proj_geom.type,'parallel') || strcmp(proj_geom.type,'fanflat') ||strcmp(proj_geom.type,'parallel3d') || strcmp(proj_geom.type,'cone') + proj_geom = astra_geom_2vec(proj_geom); + end + + % open window + f = figure('Visible','off'); + hold on + + % display projection 1 + displayProjection(1); + + % label + txt = uicontrol('Style','text', 'Position',[10 10 70 20], 'String','Projection'); + + % slider + anglecount = size(proj_geom.Vectors,1); + sld = uicontrol('Style', 'slider', ... + 'Min', 1, 'Max', anglecount, 'SliderStep', [1 1]/anglecount, 'Value', 1, ... + 'Position', [80 10 200 20], ... + 'Callback', @updateProjection); + + f.Visible = 'on'; + + function updateProjection(source, callbackdata) + displayProjection(floor(source.Value)); + end + + function displayProjection(a) + + colours = get(gca,'ColorOrder'); + + + % set title + title(['projection ' num2str(a)]); + + if strcmp(proj_geom.type,'parallel_vec') + + v = proj_geom.Vectors; + d = proj_geom.DetectorCount; + + if ~isfield(vol_geom, 'option') + minx = -vol_geom.GridRowCount/2; + miny = -vol_geom.GridColCount/2; + minz = -vol_geom.GridSliceCount/2; + maxx = vol_geom.GridRowCount/2; + else + minx = vol_geom.option.WindowMinX; + miny = vol_geom.option.WindowMinY; + maxx = vol_geom.option.WindowMaxX; + maxy = vol_geom.option.WindowMaxY; + end + + % axis + cla + axis([minx maxx miny maxy]*2.25) + axis square + + % volume + plot([minx minx maxx maxx minx], [miny maxy maxy miny miny], 'LineWidth', 1, 'Color', colours(1,:)) + + % ray + s = maxx - minx; + plot([0 v(a,1)]*s*0.33, [0 v(a,2)]*s*0.33, 'LineWidth', 2, 'Color', colours(3,:)) + + % detector + s2 = s*0.75; + plot([-d/2 d/2]*v(a,5) + v(a,3) + s2*v(a,1), [-d/2 d/2]*v(a,6) + v(a,4) + s2*v(a,2), 'LineWidth', 2, 'Color', colours(5,:)) + + elseif strcmp(proj_geom.type,'fanflat_vec') + + v = proj_geom.Vectors; + d = proj_geom.DetectorCount; + + if ~isfield(vol_geom, 'option') + minx = -vol_geom.GridRowCount/2; + miny = -vol_geom.GridColCount/2; + minz = -vol_geom.GridSliceCount/2; + maxx = vol_geom.GridRowCount/2; + else + minx = vol_geom.option.WindowMinX; + miny = vol_geom.option.WindowMinY; + maxx = vol_geom.option.WindowMaxX; + maxy = vol_geom.option.WindowMaxY; + end + + % axis + cla + axis([minx maxx miny maxy]*2.25) + axis square + + % volume + plot([minx minx maxx maxx minx], [miny maxy maxy miny miny], 'LineWidth', 1, 'Color', colours(1,:)) + + % detector + D1 = v(a,3:4) - d/2*v(a,5:6); + D2 = v(a,3:4) + d/2*v(a,5:6); + plot([D1(1) D2(1)], [D1(2) D2(2)], 'LineWidth', 2, 'Color', colours(5,:)) + + % beam + plot([v(a,1) D1(1)], [v(a,2) D1(2)], 'LineWidth', 1, 'Color', colours(3,:)) + plot([v(a,1) D2(1)], [v(a,2) D2(2)], 'LineWidth', 1, 'Color', colours(3,:)) + + elseif strcmp(proj_geom.type,'parallel3d_vec') + + v = proj_geom.Vectors; + d1 = proj_geom.DetectorRowCount; + d2 = proj_geom.DetectorColCount; + + if ~isfield(vol_geom, 'option') + minx = -vol_geom.GridRowCount/2; + miny = -vol_geom.GridColCount/2; + minz = -vol_geom.GridSliceCount/2; + maxx = vol_geom.GridRowCount/2; + maxy = vol_geom.GridColCount/2; + maxz = vol_geom.GridSliceCount/2; + else + minx = vol_geom.option.WindowMinX; + miny = vol_geom.option.WindowMinY; + minz = vol_geom.option.WindowMinZ; + maxx = vol_geom.option.WindowMaxX; + maxy = vol_geom.option.WindowMaxY; + maxz = vol_geom.option.WindowMaxZ; + end + + % axis + windowminx = min(v(:,4)); + windowminy = min(v(:,5)); + windowminz = max(v(:,6)); + windowmaxx = max(v(:,4)); + windowmaxy = max(v(:,5)); + windowmaxz = max(v(:,6)); + cla + axis([minx maxx miny maxy minz maxz]*5.10) + + % volume + plot3([minx minx maxx maxx minx], [miny maxy maxy miny miny], [minz minz minz minz minz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx maxx maxx minx], [miny maxy maxy miny miny], [maxz maxz maxz maxz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx], [miny miny], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([maxx maxx], [miny miny], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx], [maxy maxy], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([maxx maxx], [maxy maxy], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + + % detector + D1 = v(a,4:6) - d1/2*v(a,7:9) - d2/2*v(a,10:12); + D2 = v(a,4:6) + d1/2*v(a,7:9) - d2/2*v(a,10:12); + D3 = v(a,4:6) + d1/2*v(a,7:9) + d2/2*v(a,10:12); + D4 = v(a,4:6) - d1/2*v(a,7:9) + d2/2*v(a,10:12); + plot3([D1(1) D2(1) D3(1) D4(1) D1(1)], [D1(2) D2(2) D3(2) D4(2) D1(2)], [D1(3) D2(3) D3(3) D4(3) D1(3)], 'LineWidth', 2, 'Color', colours(5,:)) + + % ray + s = maxx - minx; + plot3([0 v(a,1)]*s*0.30, [0 v(a,2)]*s*0.30, [0 v(a,3)]*s*0.30, 'LineWidth', 2, 'Color', colours(3,:)) + + elseif strcmp(proj_geom.type,'cone_vec') + + v = proj_geom.Vectors; + d1 = proj_geom.DetectorRowCount; + d2 = proj_geom.DetectorColCount; + + if ~isfield(vol_geom, 'option') + minx = -vol_geom.GridRowCount/2; + miny = -vol_geom.GridColCount/2; + minz = -vol_geom.GridSliceCount/2; + maxx = vol_geom.GridRowCount/2; + maxy = vol_geom.GridColCount/2; + maxz = vol_geom.GridSliceCount/2; + else + minx = vol_geom.option.WindowMinX; + miny = vol_geom.option.WindowMinY; + minz = vol_geom.option.WindowMinZ; + maxx = vol_geom.option.WindowMaxX; + maxy = vol_geom.option.WindowMaxY; + maxz = vol_geom.option.WindowMaxZ; + end + + % axis + windowminx = min(v(:,4)); + windowminy = min(v(:,5)); + windowminz = max(v(:,6)); + windowmaxx = max(v(:,4)); + windowmaxy = max(v(:,5)); + windowmaxz = max(v(:,6)); + cla + axis([minx maxx miny maxy minz maxz]*5.10) + + % volume + plot3([minx minx maxx maxx minx], [miny maxy maxy miny miny], [minz minz minz minz minz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx maxx maxx minx], [miny maxy maxy miny miny], [maxz maxz maxz maxz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx], [miny miny], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([maxx maxx], [miny miny], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([minx minx], [maxy maxy], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + plot3([maxx maxx], [maxy maxy], [minz maxz], 'LineWidth', 1, 'Color', colours(1,:)) + + % detector + D1 = v(a,4:6) - d1/2*v(a,7:9) - d2/2*v(a,10:12); + D2 = v(a,4:6) + d1/2*v(a,7:9) - d2/2*v(a,10:12); + D3 = v(a,4:6) + d1/2*v(a,7:9) + d2/2*v(a,10:12); + D4 = v(a,4:6) - d1/2*v(a,7:9) + d2/2*v(a,10:12); + plot3([D1(1) D2(1) D3(1) D4(1) D1(1)], [D1(2) D2(2) D3(2) D4(2) D1(2)], [D1(3) D2(3) D3(3) D4(3) D1(3)], 'LineWidth', 2, 'Color', colours(5,:)) + + % beam + plot3([v(a,1) D1(1)], [v(a,2) D1(2)], [v(a,3) D1(3)], 'LineWidth', 1, 'Color', colours(3,:)) + plot3([v(a,1) D2(1)], [v(a,2) D2(2)], [v(a,3) D2(3)], 'LineWidth', 1, 'Color', colours(3,:)) + plot3([v(a,1) D3(1)], [v(a,2) D3(2)], [v(a,3) D3(3)], 'LineWidth', 1, 'Color', colours(3,:)) + plot3([v(a,1) D4(1)], [v(a,2) D4(2)], [v(a,3) D4(3)], 'LineWidth', 1, 'Color', colours(3,:)) + + + else + error('invalid projector type') + + end + end + +end diff --git a/matlab/tools/astra_get_gpu_info.m b/matlab/tools/astra_get_gpu_info.m index c220371..1bc2b7b 100644 --- a/matlab/tools/astra_get_gpu_info.m +++ b/matlab/tools/astra_get_gpu_info.m @@ -6,10 +6,10 @@ function astra_set_gpu_index(index) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_mex.m b/matlab/tools/astra_mex.m index aa6c3ea..5210f38 100644 --- a/matlab/tools/astra_mex.m +++ b/matlab/tools/astra_mex.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_algorithm.m b/matlab/tools/astra_mex_algorithm.m index 69e9c31..abb99e7 100644 --- a/matlab/tools/astra_mex_algorithm.m +++ b/matlab/tools/astra_mex_algorithm.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_algorithm(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_data2d.m b/matlab/tools/astra_mex_data2d.m index 6bdcb98..49f0e10 100644 --- a/matlab/tools/astra_mex_data2d.m +++ b/matlab/tools/astra_mex_data2d.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_data2d(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_data3d.m b/matlab/tools/astra_mex_data3d.m index 44a02e9..ba965a0 100644 --- a/matlab/tools/astra_mex_data3d.m +++ b/matlab/tools/astra_mex_data3d.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_data3d(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_direct.m b/matlab/tools/astra_mex_direct.m index ded3e9a..5fe03be 100644 --- a/matlab/tools/astra_mex_direct.m +++ b/matlab/tools/astra_mex_direct.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_direct(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_log.m b/matlab/tools/astra_mex_log.m index 7c88145..d795d24 100644 --- a/matlab/tools/astra_mex_log.m +++ b/matlab/tools/astra_mex_log.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_log(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if size(varargin,2)==2 && (strcmp(varargin{1},'debug') || strcmp(varargin{1},'info') || strcmp(varargin{1},'warn') || strcmp(varargin{1},'error')) diff --git a/matlab/tools/astra_mex_matrix.m b/matlab/tools/astra_mex_matrix.m index eabbd4f..5750487 100644 --- a/matlab/tools/astra_mex_matrix.m +++ b/matlab/tools/astra_mex_matrix.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_matrix(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_plugin.m b/matlab/tools/astra_mex_plugin.m index b5249dd..b6f8c33 100644 --- a/matlab/tools/astra_mex_plugin.m +++ b/matlab/tools/astra_mex_plugin.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_plugin(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_projector.m b/matlab/tools/astra_mex_projector.m index 0d6829e..6b77508 100644 --- a/matlab/tools/astra_mex_projector.m +++ b/matlab/tools/astra_mex_projector.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_projector(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_mex_projector3d.m b/matlab/tools/astra_mex_projector3d.m index f0deffb..3d75158 100644 --- a/matlab/tools/astra_mex_projector3d.m +++ b/matlab/tools/astra_mex_projector3d.m @@ -6,10 +6,10 @@ function [varargout] = astra_mex_projector3d(varargin) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ if nargout == 0 diff --git a/matlab/tools/astra_projector_handle.m b/matlab/tools/astra_projector_handle.m index ae1254a..874e449 100644 --- a/matlab/tools/astra_projector_handle.m +++ b/matlab/tools/astra_projector_handle.m @@ -5,10 +5,10 @@ classdef astra_projector_handle < handle %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % - % Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp - % 2014-2016, CWI, Amsterdam + % Copyright: 2010-2018, imec Vision Lab, University of Antwerp + % 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 - % Contact: astra@uantwerpen.be + % Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/astra_set_directory.m b/matlab/tools/astra_set_directory.m index 3a85f54..00e765e 100644 --- a/matlab/tools/astra_set_directory.m +++ b/matlab/tools/astra_set_directory.m @@ -11,10 +11,10 @@ function in = astra_set_directory(in) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/astra_set_gpu_index.m b/matlab/tools/astra_set_gpu_index.m index e9c9c45..b90d2b8 100644 --- a/matlab/tools/astra_set_gpu_index.m +++ b/matlab/tools/astra_set_gpu_index.m @@ -6,10 +6,10 @@ function astra_set_gpu_index(index) %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_struct.m b/matlab/tools/astra_struct.m index 33f0a39..0241028 100644 --- a/matlab/tools/astra_struct.m +++ b/matlab/tools/astra_struct.m @@ -11,10 +11,10 @@ function res = astra_struct(type) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ res = struct(); diff --git a/matlab/tools/astra_test.m b/matlab/tools/astra_test.m new file mode 100644 index 0000000..3ea154e --- /dev/null +++ b/matlab/tools/astra_test.m @@ -0,0 +1,19 @@ +%-------------------------------------------------------------------------- +% Perform a basic test of ASTRA functionality. +%-------------------------------------------------------------------------- +%-------------------------------------------------------------------------- +% This file is part of the ASTRA Toolbox +% +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam +% License: Open Source under GPLv3 +% Contact: astra@astra-toolbox.com +% Website: http://www.astra-toolbox.com/ +%-------------------------------------------------------------------------- + +if astra_mex('use_cuda') + astra_test_CUDA; +else + fprintf('No GPU support available') + astra_test_noCUDA; +end diff --git a/matlab/tools/astra_test_CUDA.m b/matlab/tools/astra_test_CUDA.m index 4171f20..c034a08 100644 --- a/matlab/tools/astra_test_CUDA.m +++ b/matlab/tools/astra_test_CUDA.m @@ -1,14 +1,13 @@ %-------------------------------------------------------------------------- -% Clears and frees memory of all objects (data, projectors, algorithms) -% currently in the astra-library. +% Perform a basic test of ASTRA CPU and CUDA functionality. %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2017, iMinds-Vision Lab, University of Antwerp -% 2014-2017, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/astra_test_noCUDA.m b/matlab/tools/astra_test_noCUDA.m index 6437661..733db3c 100644 --- a/matlab/tools/astra_test_noCUDA.m +++ b/matlab/tools/astra_test_noCUDA.m @@ -1,14 +1,13 @@ %-------------------------------------------------------------------------- -% Clears and frees memory of all objects (data, projectors, algorithms) -% currently in the astra-library. +% Perform a basic test of ASTRA CPU functionality. %-------------------------------------------------------------------------- %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2017, iMinds-Vision Lab, University of Antwerp -% 2014-2017, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- diff --git a/matlab/tools/createOrderART.m b/matlab/tools/createOrderART.m index 5f1d73b..cd49651 100644 --- a/matlab/tools/createOrderART.m +++ b/matlab/tools/createOrderART.m @@ -16,10 +16,10 @@ function rayOrder = createOrderART(proj_geom, mode) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/imreadgs.m b/matlab/tools/imreadgs.m index 34ae9c9..a820734 100644 --- a/matlab/tools/imreadgs.m +++ b/matlab/tools/imreadgs.m @@ -12,10 +12,10 @@ function Im = imreadgs(filename) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/imresize3D.m b/matlab/tools/imresize3D.m index 21dc8cd..84e2020 100644 --- a/matlab/tools/imresize3D.m +++ b/matlab/tools/imresize3D.m @@ -12,10 +12,10 @@ function out = imresize3D(in, s_out, method) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/imscale.m b/matlab/tools/imscale.m index 99b9f97..363392b 100644 --- a/matlab/tools/imscale.m +++ b/matlab/tools/imscale.m @@ -11,10 +11,10 @@ function out = imscale(in) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/imwritesc.m b/matlab/tools/imwritesc.m index 3963e75..0ef2b37 100644 --- a/matlab/tools/imwritesc.m +++ b/matlab/tools/imwritesc.m @@ -11,10 +11,10 @@ function imwritesc(in, filename) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/kaiserBessel.m b/matlab/tools/kaiserBessel.m index 9eb892a..d0a650d 100644 --- a/matlab/tools/kaiserBessel.m +++ b/matlab/tools/kaiserBessel.m @@ -14,10 +14,10 @@ function res = kaiserBessel(m,alpha,a,r) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/linspace2.m b/matlab/tools/linspace2.m index 755c918..12bc6ca 100644 --- a/matlab/tools/linspace2.m +++ b/matlab/tools/linspace2.m @@ -13,10 +13,10 @@ function out = linspace2(a,b,c) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/opTomo.m b/matlab/tools/opTomo.m index 3ae1163..b9e972c 100644 --- a/matlab/tools/opTomo.m +++ b/matlab/tools/opTomo.m @@ -23,11 +23,11 @@ %-------------------------------------------------------------------------- % This file is part of the ASTRA Toolbox % -% Copyright: 2014-2016, CWI, Amsterdam -% License: Open Source under GPLv3 -% Author: Folkert Bleichrodt -% Contact: F.Bleichrodt@cwi.nl -% Website: http://www.astra-toolbox.com/ +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam +% License: Open Source under GPLv3 +% Contact: astra@astra-toolbox.com +% Website: http://www.astra-toolbox.com/ %-------------------------------------------------------------------------- classdef opTomo < opSpot diff --git a/matlab/tools/overlayImage.m b/matlab/tools/overlayImage.m index 0ba2c63..568ed22 100644 --- a/matlab/tools/overlayImage.m +++ b/matlab/tools/overlayImage.m @@ -11,10 +11,10 @@ function im = overlayImage(reconstruction, ground_truth) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/rebin_fan2par.m b/matlab/tools/rebin_fan2par.m index b05ab82..44e5e07 100644 --- a/matlab/tools/rebin_fan2par.m +++ b/matlab/tools/rebin_fan2par.m @@ -19,10 +19,10 @@ function F = rebin_fan2par(RadonData, BetaDeg, D, thetaDeg) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ diff --git a/matlab/tools/sliceExtractor.m b/matlab/tools/sliceExtractor.m index c4e0459..e428450 100644 --- a/matlab/tools/sliceExtractor.m +++ b/matlab/tools/sliceExtractor.m @@ -13,10 +13,10 @@ function slice = sliceExtractor(data, dir, slicenr) %------------------------------------------------------------------------ % This file is part of the ASTRA Toolbox % -% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp -% 2014-2016, CWI, Amsterdam +% Copyright: 2010-2018, imec Vision Lab, University of Antwerp +% 2014-2018, CWI, Amsterdam % License: Open Source under GPLv3 -% Contact: astra@uantwerpen.be +% Contact: astra@astra-toolbox.com % Website: http://www.astra-toolbox.com/ %------------------------------------------------------------------------ |