summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore5
-rw-r--r--NEWS.txt13
-rw-r--r--README.md18
-rw-r--r--README.txt18
-rw-r--r--build/linux/configure.ac22
-rw-r--r--build/msvc/build_env.bat9
-rw-r--r--build/msvc/build_python2.bat28
-rw-r--r--build/msvc/build_release.bat58
-rw-r--r--cuda/2d/algo.cu4
-rw-r--r--cuda/2d/arith.cu18
-rw-r--r--cuda/2d/astra.cu4
-rw-r--r--cuda/2d/cgls.cu4
-rw-r--r--cuda/2d/darthelper.cu4
-rw-r--r--cuda/2d/em.cu4
-rw-r--r--cuda/2d/fan_bp.cu19
-rw-r--r--cuda/2d/fan_fp.cu15
-rw-r--r--cuda/2d/fbp.cu4
-rw-r--r--cuda/2d/fft.cu128
-rw-r--r--cuda/2d/par_bp.cu14
-rw-r--r--cuda/2d/par_fp.cu23
-rw-r--r--cuda/2d/sart.cu6
-rw-r--r--cuda/2d/sirt.cu4
-rw-r--r--cuda/2d/util.cu73
-rw-r--r--cuda/3d/algo3d.cu4
-rw-r--r--cuda/3d/arith3d.cu40
-rw-r--r--cuda/3d/astra3d.cu4
-rw-r--r--cuda/3d/cgls3d.cu4
-rw-r--r--cuda/3d/cone_bp.cu31
-rw-r--r--cuda/3d/cone_fp.cu25
-rw-r--r--cuda/3d/darthelper3d.cu4
-rw-r--r--cuda/3d/fdk.cu10
-rw-r--r--cuda/3d/mem3d.cu42
-rw-r--r--cuda/3d/par3d_bp.cu22
-rw-r--r--cuda/3d/par3d_fp.cu41
-rw-r--r--cuda/3d/sirt3d.cu4
-rw-r--r--cuda/3d/util3d.cu107
-rw-r--r--include/astra/Algorithm.h4
-rw-r--r--include/astra/AlgorithmTypelist.h4
-rw-r--r--include/astra/ArtAlgorithm.h4
-rw-r--r--include/astra/AstraObjectFactory.h4
-rw-r--r--include/astra/AstraObjectManager.h4
-rw-r--r--include/astra/AsyncAlgorithm.h4
-rw-r--r--include/astra/BackProjectionAlgorithm.h4
-rw-r--r--include/astra/CglsAlgorithm.h4
-rw-r--r--include/astra/CompositeGeometryManager.h4
-rw-r--r--include/astra/ConeProjectionGeometry3D.h10
-rw-r--r--include/astra/ConeVecProjectionGeometry3D.h10
-rw-r--r--include/astra/Config.h4
-rw-r--r--include/astra/CudaBackProjectionAlgorithm.h4
-rw-r--r--include/astra/CudaBackProjectionAlgorithm3D.h4
-rw-r--r--include/astra/CudaCglsAlgorithm.h4
-rw-r--r--include/astra/CudaCglsAlgorithm3D.h4
-rw-r--r--include/astra/CudaDartMaskAlgorithm.h4
-rw-r--r--include/astra/CudaDartMaskAlgorithm3D.h4
-rw-r--r--include/astra/CudaDartSmoothingAlgorithm.h4
-rw-r--r--include/astra/CudaDartSmoothingAlgorithm3D.h4
-rw-r--r--include/astra/CudaDataOperationAlgorithm.h4
-rw-r--r--include/astra/CudaEMAlgorithm.h4
-rw-r--r--include/astra/CudaFDKAlgorithm3D.h4
-rw-r--r--include/astra/CudaFilteredBackProjectionAlgorithm.h4
-rw-r--r--include/astra/CudaForwardProjectionAlgorithm.h4
-rw-r--r--include/astra/CudaForwardProjectionAlgorithm3D.h4
-rw-r--r--include/astra/CudaProjector2D.h4
-rw-r--r--include/astra/CudaProjector3D.h4
-rw-r--r--include/astra/CudaReconstructionAlgorithm2D.h4
-rw-r--r--include/astra/CudaRoiSelectAlgorithm.h4
-rw-r--r--include/astra/CudaSartAlgorithm.h4
-rw-r--r--include/astra/CudaSirtAlgorithm.h4
-rw-r--r--include/astra/CudaSirtAlgorithm3D.h4
-rw-r--r--include/astra/DataProjector.h4
-rw-r--r--include/astra/DataProjectorPolicies.h4
-rw-r--r--include/astra/DataProjectorPolicies.inl4
-rw-r--r--include/astra/FanFlatBeamLineKernelProjector2D.h4
-rw-r--r--include/astra/FanFlatBeamLineKernelProjector2D.inl4
-rw-r--r--include/astra/FanFlatBeamStripKernelProjector2D.h4
-rw-r--r--include/astra/FanFlatBeamStripKernelProjector2D.inl4
-rw-r--r--include/astra/FanFlatProjectionGeometry2D.h4
-rw-r--r--include/astra/FanFlatVecProjectionGeometry2D.h4
-rw-r--r--include/astra/Features.h8
-rw-r--r--include/astra/FilteredBackProjectionAlgorithm.h4
-rw-r--r--include/astra/Filters.h4
-rw-r--r--include/astra/Float32Data.h4
-rw-r--r--include/astra/Float32Data2D.h4
-rw-r--r--include/astra/Float32Data3D.h4
-rw-r--r--include/astra/Float32Data3DGPU.h4
-rw-r--r--include/astra/Float32Data3DMemory.h4
-rw-r--r--include/astra/Float32ProjectionData2D.h4
-rw-r--r--include/astra/Float32ProjectionData3D.h4
-rw-r--r--include/astra/Float32ProjectionData3DGPU.h4
-rw-r--r--include/astra/Float32ProjectionData3DMemory.h4
-rw-r--r--include/astra/Float32VolumeData2D.h4
-rw-r--r--include/astra/Float32VolumeData3D.h4
-rw-r--r--include/astra/Float32VolumeData3DGPU.h4
-rw-r--r--include/astra/Float32VolumeData3DMemory.h4
-rw-r--r--include/astra/ForwardProjectionAlgorithm.h4
-rw-r--r--include/astra/Fourier.h4
-rw-r--r--include/astra/GeometryUtil2D.h4
-rw-r--r--include/astra/GeometryUtil3D.h4
-rw-r--r--include/astra/Globals.h14
-rw-r--r--include/astra/Logging.h4
-rw-r--r--include/astra/ParallelBeamBlobKernelProjector2D.h4
-rw-r--r--include/astra/ParallelBeamBlobKernelProjector2D.inl4
-rw-r--r--include/astra/ParallelBeamDistanceDrivenProjector2D.h4
-rw-r--r--include/astra/ParallelBeamDistanceDrivenProjector2D.inl4
-rw-r--r--include/astra/ParallelBeamLineKernelProjector2D.h4
-rw-r--r--include/astra/ParallelBeamLineKernelProjector2D.inl4
-rw-r--r--include/astra/ParallelBeamLinearKernelProjector2D.h4
-rw-r--r--include/astra/ParallelBeamLinearKernelProjector2D.inl4
-rw-r--r--include/astra/ParallelBeamStripKernelProjector2D.h4
-rw-r--r--include/astra/ParallelBeamStripKernelProjector2D.inl4
-rw-r--r--include/astra/ParallelProjectionGeometry2D.h4
-rw-r--r--include/astra/ParallelProjectionGeometry3D.h11
-rw-r--r--include/astra/ParallelVecProjectionGeometry2D.h4
-rw-r--r--include/astra/ParallelVecProjectionGeometry3D.h10
-rw-r--r--include/astra/PlatformDepSystemCode.h4
-rw-r--r--include/astra/PluginAlgorithmFactory.h4
-rw-r--r--include/astra/ProjectionGeometry2D.h4
-rw-r--r--include/astra/ProjectionGeometry3D.h19
-rw-r--r--include/astra/Projector2D.h4
-rw-r--r--include/astra/Projector2DImpl.inl4
-rw-r--r--include/astra/Projector3D.h4
-rw-r--r--include/astra/ProjectorTypelist.h4
-rw-r--r--include/astra/ReconstructionAlgorithm2D.h4
-rw-r--r--include/astra/ReconstructionAlgorithm3D.h4
-rw-r--r--include/astra/SartAlgorithm.h4
-rw-r--r--include/astra/Singleton.h4
-rw-r--r--include/astra/SirtAlgorithm.h4
-rw-r--r--include/astra/SparseMatrix.h4
-rw-r--r--include/astra/SparseMatrixProjectionGeometry2D.h4
-rw-r--r--include/astra/SparseMatrixProjector2D.h4
-rw-r--r--include/astra/SparseMatrixProjector2D.inl4
-rw-r--r--include/astra/TypeList.h4
-rw-r--r--include/astra/Utilities.h4
-rw-r--r--include/astra/Vector3D.h4
-rw-r--r--include/astra/VolumeGeometry2D.h4
-rw-r--r--include/astra/VolumeGeometry3D.h4
-rw-r--r--include/astra/XMLDocument.h4
-rw-r--r--include/astra/XMLNode.h4
-rw-r--r--include/astra/cuda/2d/algo.h4
-rw-r--r--include/astra/cuda/2d/arith.h4
-rw-r--r--include/astra/cuda/2d/astra.h4
-rw-r--r--include/astra/cuda/2d/cgls.h4
-rw-r--r--include/astra/cuda/2d/darthelper.h8
-rw-r--r--include/astra/cuda/2d/dims.h4
-rw-r--r--include/astra/cuda/2d/em.h4
-rw-r--r--include/astra/cuda/2d/fan_bp.h4
-rw-r--r--include/astra/cuda/2d/fan_fp.h4
-rw-r--r--include/astra/cuda/2d/fbp.h4
-rw-r--r--include/astra/cuda/2d/fft.h8
-rw-r--r--include/astra/cuda/2d/par_bp.h4
-rw-r--r--include/astra/cuda/2d/par_fp.h4
-rw-r--r--include/astra/cuda/2d/sart.h4
-rw-r--r--include/astra/cuda/2d/sirt.h4
-rw-r--r--include/astra/cuda/2d/util.h20
-rw-r--r--include/astra/cuda/3d/algo3d.h8
-rw-r--r--include/astra/cuda/3d/arith3d.h4
-rw-r--r--include/astra/cuda/3d/astra3d.h4
-rw-r--r--include/astra/cuda/3d/cgls3d.h4
-rw-r--r--include/astra/cuda/3d/cone_bp.h4
-rw-r--r--include/astra/cuda/3d/cone_fp.h4
-rw-r--r--include/astra/cuda/3d/darthelper3d.h4
-rw-r--r--include/astra/cuda/3d/dims3d.h8
-rw-r--r--include/astra/cuda/3d/fdk.h4
-rw-r--r--include/astra/cuda/3d/mem3d.h4
-rw-r--r--include/astra/cuda/3d/par3d_bp.h4
-rw-r--r--include/astra/cuda/3d/par3d_fp.h4
-rw-r--r--include/astra/cuda/3d/sirt3d.h4
-rw-r--r--include/astra/cuda/3d/util3d.h11
-rw-r--r--matlab/algorithms/DART/DARTalgorithm.m4
-rw-r--r--matlab/algorithms/DART/IterativeTomography.m4
-rw-r--r--matlab/algorithms/DART/IterativeTomography3D.m4
-rw-r--r--matlab/algorithms/DART/Kernels.m4
-rw-r--r--matlab/algorithms/DART/MaskingDefault.m4
-rw-r--r--matlab/algorithms/DART/MaskingGPU.m4
-rw-r--r--matlab/algorithms/DART/OutputDefault.m4
-rw-r--r--matlab/algorithms/DART/SegmentationDefault.m4
-rw-r--r--matlab/algorithms/DART/SmoothingDefault.m4
-rw-r--r--matlab/algorithms/DART/SmoothingGPU.m4
-rw-r--r--matlab/algorithms/DART/StatisticsDefault.m4
-rw-r--r--matlab/algorithms/DART/examples/example1.m4
-rw-r--r--matlab/algorithms/DART/examples/example2.m4
-rw-r--r--matlab/algorithms/DART/examples/example3.m4
-rw-r--r--matlab/algorithms/DART/tools/DARToptimizer.m4
-rw-r--r--matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m4
-rw-r--r--matlab/algorithms/DART/tools/ProjDiffOptimFunc.m4
-rw-r--r--matlab/algorithms/DART/tools/dart_create_base_phantom.m4
-rw-r--r--matlab/algorithms/DART/tools/dart_scheduler.m4
-rw-r--r--matlab/algorithms/DART/tools/rNMPOptimFunc.m4
-rw-r--r--matlab/mex/astra_mex_algorithm_c.cpp4
-rw-r--r--matlab/mex/astra_mex_c.cpp4
-rw-r--r--matlab/mex/astra_mex_data2d_c.cpp4
-rw-r--r--matlab/mex/astra_mex_data3d_c.cpp4
-rw-r--r--matlab/mex/astra_mex_direct_c.cpp4
-rw-r--r--matlab/mex/astra_mex_log_c.cpp4
-rw-r--r--matlab/mex/astra_mex_matrix_c.cpp4
-rw-r--r--matlab/mex/astra_mex_plugin_c.cpp4
-rw-r--r--matlab/mex/astra_mex_projector3d_c.cpp4
-rw-r--r--matlab/mex/astra_mex_projector_c.cpp4
-rw-r--r--matlab/mex/mexCopyDataHelpFunctions.cpp4
-rw-r--r--matlab/mex/mexCopyDataHelpFunctions.h4
-rw-r--r--matlab/mex/mexDataManagerHelpFunctions.cpp4
-rw-r--r--matlab/mex/mexDataManagerHelpFunctions.h4
-rw-r--r--matlab/mex/mexHelpFunctions.cpp4
-rw-r--r--matlab/mex/mexHelpFunctions.h4
-rw-r--r--matlab/mex/octave_support.cpp4
-rw-r--r--matlab/tools/astra_add_noise_to_sino.m4
-rw-r--r--matlab/tools/astra_clear.m4
-rw-r--r--matlab/tools/astra_create_backprojection.m4
-rw-r--r--matlab/tools/astra_create_backprojection3d_cuda.m4
-rw-r--r--matlab/tools/astra_create_backprojection_cuda.m4
-rw-r--r--matlab/tools/astra_create_proj_geom.m22
-rw-r--r--matlab/tools/astra_create_projector.m4
-rw-r--r--matlab/tools/astra_create_reconstruction.m4
-rw-r--r--matlab/tools/astra_create_reconstruction_cuda.m4
-rw-r--r--matlab/tools/astra_create_sino.m4
-rw-r--r--matlab/tools/astra_create_sino3d_cuda.m4
-rw-r--r--matlab/tools/astra_create_sino_cuda.m4
-rw-r--r--matlab/tools/astra_create_sino_gpu.m4
-rw-r--r--matlab/tools/astra_create_sino_sampling.m4
-rw-r--r--matlab/tools/astra_create_vol_geom.m4
-rw-r--r--matlab/tools/astra_downsample_sinogram.m4
-rw-r--r--matlab/tools/astra_geom_2vec.m4
-rw-r--r--matlab/tools/astra_geom_postalignment.m4
-rw-r--r--matlab/tools/astra_geom_size.m4
-rw-r--r--matlab/tools/astra_get_gpu_info.m4
-rw-r--r--matlab/tools/astra_mex.m4
-rw-r--r--matlab/tools/astra_mex_algorithm.m4
-rw-r--r--matlab/tools/astra_mex_data2d.m4
-rw-r--r--matlab/tools/astra_mex_data3d.m4
-rw-r--r--matlab/tools/astra_mex_direct.m4
-rw-r--r--matlab/tools/astra_mex_log.m4
-rw-r--r--matlab/tools/astra_mex_matrix.m4
-rw-r--r--matlab/tools/astra_mex_plugin.m4
-rw-r--r--matlab/tools/astra_mex_projector.m4
-rw-r--r--matlab/tools/astra_mex_projector3d.m4
-rw-r--r--matlab/tools/astra_plot_geom.m4
-rw-r--r--matlab/tools/astra_projector_handle.m4
-rw-r--r--matlab/tools/astra_set_directory.m4
-rw-r--r--matlab/tools/astra_set_gpu_index.m4
-rw-r--r--matlab/tools/astra_struct.m4
-rw-r--r--matlab/tools/astra_test.m5
-rw-r--r--matlab/tools/astra_test_CUDA.m4
-rw-r--r--matlab/tools/astra_test_noCUDA.m4
-rw-r--r--matlab/tools/createOrderART.m4
-rw-r--r--matlab/tools/imreadgs.m4
-rw-r--r--matlab/tools/imresize3D.m4
-rw-r--r--matlab/tools/imscale.m4
-rw-r--r--matlab/tools/imwritesc.m4
-rw-r--r--matlab/tools/kaiserBessel.m4
-rw-r--r--matlab/tools/linspace2.m4
-rw-r--r--matlab/tools/opTomo.m4
-rw-r--r--matlab/tools/overlayImage.m4
-rw-r--r--matlab/tools/rebin_fan2par.m4
-rw-r--r--matlab/tools/sliceExtractor.m4
-rw-r--r--python/astra/PyAlgorithmFactory.pxd4
-rw-r--r--python/astra/PyAlgorithmManager.pxd4
-rw-r--r--python/astra/PyData2DManager.pxd4
-rw-r--r--python/astra/PyData3DManager.pxd4
-rw-r--r--python/astra/PyIncludes.pxd4
-rw-r--r--python/astra/PyIndexManager.pxd4
-rw-r--r--python/astra/PyMatrixManager.pxd4
-rw-r--r--python/astra/PyProjector2DFactory.pxd4
-rw-r--r--python/astra/PyProjector2DManager.pxd4
-rw-r--r--python/astra/PyProjector3DFactory.pxd4
-rw-r--r--python/astra/PyProjector3DManager.pxd4
-rw-r--r--python/astra/PyXMLDocument.pxd4
-rw-r--r--python/astra/__init__.py6
-rw-r--r--python/astra/algorithm.py4
-rw-r--r--python/astra/algorithm_c.pyx4
-rw-r--r--python/astra/astra.py4
-rw-r--r--python/astra/astra_c.pyx4
-rw-r--r--python/astra/creators.py4
-rw-r--r--python/astra/data2d.py4
-rw-r--r--python/astra/data2d_c.pyx4
-rw-r--r--python/astra/data3d.py4
-rw-r--r--python/astra/data3d_c.pyx4
-rw-r--r--python/astra/experimental.pyx4
-rw-r--r--python/astra/extrautils.pyx4
-rw-r--r--python/astra/functions.py4
-rw-r--r--python/astra/log.py4
-rw-r--r--python/astra/log_c.pyx4
-rw-r--r--python/astra/matlab.py4
-rw-r--r--python/astra/matrix.py4
-rw-r--r--python/astra/matrix_c.pyx4
-rw-r--r--python/astra/optomo.py4
-rw-r--r--python/astra/plugin.py4
-rw-r--r--python/astra/plugin_c.pyx4
-rw-r--r--python/astra/plugins/__init__.py4
-rw-r--r--python/astra/plugins/cgls.py4
-rw-r--r--python/astra/plugins/sirt.py4
-rw-r--r--python/astra/projector.py4
-rw-r--r--python/astra/projector3d.py4
-rw-r--r--python/astra/projector3d_c.pyx4
-rw-r--r--python/astra/projector_c.pyx4
-rw-r--r--python/astra/pythonutils.py4
-rw-r--r--python/astra/src/PythonPluginAlgorithm.cpp4
-rw-r--r--python/astra/src/PythonPluginAlgorithm.h4
-rw-r--r--python/astra/src/PythonPluginAlgorithmFactory.cpp2
-rw-r--r--python/astra/src/PythonPluginAlgorithmFactory.h4
-rw-r--r--python/astra/tests.py11
-rw-r--r--python/astra/utils.pxd4
-rw-r--r--python/astra/utils.pyx4
-rw-r--r--python/builder.py6
-rw-r--r--python/conda/README.txt14
-rw-r--r--python/conda/astra-toolbox/linux_deb11_build_config.yaml12
-rw-r--r--python/conda/astra-toolbox/linux_deb9_build_config.yaml (renamed from python/conda/astra-toolbox/linux_build_config.yaml)8
-rw-r--r--python/conda/astra-toolbox/meta.yaml6
-rw-r--r--python/conda/astra-toolbox/win64_build_config.yaml11
-rw-r--r--python/conda/libastra/linux_deb11_build_config.yaml8
-rw-r--r--python/conda/libastra/linux_deb8_build_config.yaml (renamed from python/conda/libastra/linux_archive_build_config.yaml)1
-rw-r--r--python/conda/libastra/linux_deb9_build_config.yaml (renamed from python/conda/libastra/linux_build_config.yaml)6
-rw-r--r--python/conda/libastra/meta.yaml7
-rw-r--r--python/conda/libastra/win64_build_config.yaml2
-rwxr-xr-xpython/conda/linux_release/build.sh (renamed from python/conda/linux_release/buildenv/build.sh)10
-rw-r--r--python/conda/linux_release/buildenv.deb11/Dockerfile50
-rw-r--r--python/conda/linux_release/buildenv.deb8/Dockerfile (renamed from python/conda/linux_release/buildenv/archive.Dockerfile)19
-rw-r--r--python/conda/linux_release/buildenv.deb9/Dockerfile (renamed from python/conda/linux_release/buildenv/Dockerfile)23
-rw-r--r--python/conda/linux_release/release.sh47
-rw-r--r--samples/matlab/s001_sinogram_par2d.m4
-rw-r--r--samples/matlab/s002_data2d.m4
-rw-r--r--samples/matlab/s003_gpu_reconstruction.m4
-rw-r--r--samples/matlab/s004_cpu_reconstruction.m4
-rw-r--r--samples/matlab/s005_3d_geometry.m4
-rw-r--r--samples/matlab/s006_3d_data.m4
-rw-r--r--samples/matlab/s007_3d_reconstruction.m4
-rw-r--r--samples/matlab/s008_gpu_selection.m4
-rw-r--r--samples/matlab/s009_projection_matrix.m4
-rw-r--r--samples/matlab/s010_supersampling.m4
-rw-r--r--samples/matlab/s011_object_info.m4
-rw-r--r--samples/matlab/s012_masks.m4
-rw-r--r--samples/matlab/s013_constraints.m4
-rw-r--r--samples/matlab/s014_FBP.m4
-rw-r--r--samples/matlab/s015_fp_bp.m4
-rw-r--r--samples/matlab/s016_plots.m4
-rw-r--r--samples/matlab/s017_opTomo.m4
-rw-r--r--samples/matlab/s020_3d_multiGPU.m4
-rw-r--r--samples/matlab/s022_fbp_cor.m4
-rw-r--r--samples/matlab/s023_FBP_filters.m4
-rw-r--r--samples/matlab/s024_plot_geometry.m4
-rw-r--r--samples/python/s001_sinogram_par2d.py4
-rw-r--r--samples/python/s002_data2d.py4
-rw-r--r--samples/python/s003_gpu_reconstruction.py4
-rw-r--r--samples/python/s004_cpu_reconstruction.py4
-rw-r--r--samples/python/s005_3d_geometry.py4
-rw-r--r--samples/python/s006_3d_data.py4
-rw-r--r--samples/python/s007_3d_reconstruction.py4
-rw-r--r--samples/python/s008_gpu_selection.py4
-rw-r--r--samples/python/s009_projection_matrix.py4
-rw-r--r--samples/python/s010_supersampling.py4
-rw-r--r--samples/python/s011_object_info.py4
-rw-r--r--samples/python/s012_masks.py4
-rw-r--r--samples/python/s013_constraints.py4
-rw-r--r--samples/python/s014_FBP.py4
-rw-r--r--samples/python/s015_fp_bp.py4
-rw-r--r--samples/python/s016_plots.py4
-rw-r--r--samples/python/s017_OpTomo.py4
-rw-r--r--samples/python/s018_plugin.py4
-rw-r--r--samples/python/s019_experimental_multires.py4
-rw-r--r--samples/python/s020_3d_multiGPU.py4
-rw-r--r--samples/python/s021_pygpu.py4
-rw-r--r--samples/python/s022_fbp_cor.py4
-rw-r--r--samples/python/s023_FBP_filters.py4
-rw-r--r--src/Algorithm.cpp4
-rw-r--r--src/ArtAlgorithm.cpp4
-rw-r--r--src/AstraObjectFactory.cpp4
-rw-r--r--src/AstraObjectManager.cpp4
-rw-r--r--src/AsyncAlgorithm.cpp4
-rw-r--r--src/BackProjectionAlgorithm.cpp4
-rw-r--r--src/CglsAlgorithm.cpp4
-rw-r--r--src/CompositeGeometryManager.cpp4
-rw-r--r--src/ConeProjectionGeometry3D.cpp83
-rw-r--r--src/ConeVecProjectionGeometry3D.cpp58
-rw-r--r--src/Config.cpp4
-rw-r--r--src/CudaBackProjectionAlgorithm.cpp4
-rw-r--r--src/CudaBackProjectionAlgorithm3D.cpp4
-rw-r--r--src/CudaCglsAlgorithm.cpp4
-rw-r--r--src/CudaCglsAlgorithm3D.cpp4
-rw-r--r--src/CudaDartMaskAlgorithm.cpp4
-rw-r--r--src/CudaDartMaskAlgorithm3D.cpp4
-rw-r--r--src/CudaDartSmoothingAlgorithm.cpp4
-rw-r--r--src/CudaDartSmoothingAlgorithm3D.cpp4
-rw-r--r--src/CudaDataOperationAlgorithm.cpp4
-rw-r--r--src/CudaEMAlgorithm.cpp4
-rw-r--r--src/CudaFDKAlgorithm3D.cpp4
-rw-r--r--src/CudaFilteredBackProjectionAlgorithm.cpp4
-rw-r--r--src/CudaForwardProjectionAlgorithm.cpp4
-rw-r--r--src/CudaForwardProjectionAlgorithm3D.cpp4
-rw-r--r--src/CudaProjector2D.cpp4
-rw-r--r--src/CudaProjector3D.cpp4
-rw-r--r--src/CudaReconstructionAlgorithm2D.cpp4
-rw-r--r--src/CudaRoiSelectAlgorithm.cpp4
-rw-r--r--src/CudaSartAlgorithm.cpp4
-rw-r--r--src/CudaSirtAlgorithm.cpp4
-rw-r--r--src/CudaSirtAlgorithm3D.cpp4
-rw-r--r--src/DataProjector.cpp4
-rw-r--r--src/DataProjectorPolicies.cpp4
-rw-r--r--src/FanFlatBeamLineKernelProjector2D.cpp4
-rw-r--r--src/FanFlatBeamStripKernelProjector2D.cpp4
-rw-r--r--src/FanFlatProjectionGeometry2D.cpp4
-rw-r--r--src/FanFlatVecProjectionGeometry2D.cpp4
-rw-r--r--src/Features.cpp7
-rw-r--r--src/FilteredBackProjectionAlgorithm.cpp4
-rw-r--r--src/Filters.cpp4
-rw-r--r--src/Float32Data.cpp4
-rw-r--r--src/Float32Data2D.cpp4
-rw-r--r--src/Float32Data3D.cpp4
-rw-r--r--src/Float32Data3DGPU.cpp4
-rw-r--r--src/Float32Data3DMemory.cpp4
-rw-r--r--src/Float32ProjectionData2D.cpp4
-rw-r--r--src/Float32ProjectionData3D.cpp4
-rw-r--r--src/Float32ProjectionData3DGPU.cpp4
-rw-r--r--src/Float32ProjectionData3DMemory.cpp4
-rw-r--r--src/Float32VolumeData2D.cpp4
-rw-r--r--src/Float32VolumeData3D.cpp4
-rw-r--r--src/Float32VolumeData3DGPU.cpp4
-rw-r--r--src/Float32VolumeData3DMemory.cpp4
-rw-r--r--src/ForwardProjectionAlgorithm.cpp4
-rw-r--r--src/Fourier.cpp4
-rw-r--r--src/GeometryUtil2D.cpp4
-rw-r--r--src/GeometryUtil3D.cpp88
-rw-r--r--src/Globals.cpp8
-rw-r--r--src/Logging.cpp4
-rw-r--r--src/ParallelBeamBlobKernelProjector2D.cpp4
-rw-r--r--src/ParallelBeamDistanceDrivenProjector2D.cpp4
-rw-r--r--src/ParallelBeamLineKernelProjector2D.cpp4
-rw-r--r--src/ParallelBeamLinearKernelProjector2D.cpp4
-rw-r--r--src/ParallelBeamStripKernelProjector2D.cpp4
-rw-r--r--src/ParallelProjectionGeometry2D.cpp4
-rw-r--r--src/ParallelProjectionGeometry3D.cpp77
-rw-r--r--src/ParallelVecProjectionGeometry2D.cpp4
-rw-r--r--src/ParallelVecProjectionGeometry3D.cpp59
-rw-r--r--src/PlatformDepSystemCode.cpp4
-rw-r--r--src/PluginAlgorithmFactory.cpp4
-rw-r--r--src/ProjectionGeometry2D.cpp4
-rw-r--r--src/ProjectionGeometry3D.cpp4
-rw-r--r--src/Projector2D.cpp4
-rw-r--r--src/Projector3D.cpp4
-rw-r--r--src/ReconstructionAlgorithm2D.cpp4
-rw-r--r--src/ReconstructionAlgorithm3D.cpp4
-rw-r--r--src/SartAlgorithm.cpp4
-rw-r--r--src/SirtAlgorithm.cpp4
-rw-r--r--src/SparseMatrix.cpp4
-rw-r--r--src/SparseMatrixProjectionGeometry2D.cpp4
-rw-r--r--src/SparseMatrixProjector2D.cpp4
-rw-r--r--src/Utilities.cpp4
-rw-r--r--src/Vector3D.cpp4
-rw-r--r--src/VolumeGeometry2D.cpp4
-rw-r--r--src/VolumeGeometry3D.cpp4
-rw-r--r--src/XMLDocument.cpp4
-rw-r--r--src/XMLNode.cpp4
-rw-r--r--tests/main.cpp4
-rw-r--r--tests/test_AstraObjectManager.cpp4
-rw-r--r--tests/test_FanFlatProjectionGeometry2D.cpp4
-rw-r--r--tests/test_Float32Data2D.cpp4
-rw-r--r--tests/test_Float32ProjectionData2D.cpp4
-rw-r--r--tests/test_Float32VolumeData2D.cpp4
-rw-r--r--tests/test_Fourier.cpp4
-rw-r--r--tests/test_ParallelProjectionGeometry2D.cpp4
-rw-r--r--tests/test_VolumeGeometry2D.cpp4
-rw-r--r--tests/test_XMLDocument.cpp4
460 files changed, 1397 insertions, 1769 deletions
diff --git a/.gitignore b/.gitignore
index 77ca5c0..b203e2a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,6 +15,11 @@ __pycache__
/python/astra/*.c
/python/astra/config.pxi
+/python/conda/linux_release/buildenv*/*.sh
+/python/conda/linux_release/buildenv*/*.run
+/python/conda/linux_release/buildenv*/cuda*
+/python/conda/linux_release/pkgs/*
+
/build/linux/.libs/*
/build/linux/Makefile
/build/linux/aclocal.m4
diff --git a/NEWS.txt b/NEWS.txt
index ee768f0..14e7c5c 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,14 +1,21 @@
-----------------------------------------------------------------------
This file is part of the ASTRA Toolbox
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
License: Open Source under GPLv3
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
-----------------------------------------------------------------------
-1.9.0 (2018-??-??)
+2.0.0 (2021-10-27)
+ * fix inconsistent scaling of output value depending on detector pixel size
+ See the 2020-01-17 news entry on astra-toolbox.com for more details
+ * add experimental interfaces to FP3D, BP3D, FDK to make ASTRA calls
+ by 3rd party toolboxes more efficient and flexible
+ * improve compatibility with modern Python, CUDA, Linux and Windows versions
+
+1.9.0 (2018-2019)
* add 2D parallel_vec geometry
The old ExtraDetectorOffset option has been removed. Please use
parallel_vec to achieve this effect now
diff --git a/README.md b/README.md
index fc6286a..ac83838 100644
--- a/README.md
+++ b/README.md
@@ -26,7 +26,7 @@ your system, it is included as vc_redist.x64.exe in the ASTRA zip file.
### Linux/Windows, using conda for python
-Requirements: [conda](http://conda.pydata.org/) python environment, with 64 bit Python 2.7, 3.5 or 3.6.
+Requirements: [conda](http://conda.pydata.org/) python environment, with 64 bit Python 3.7, 3.8 or 3.9.
There are packages available for the ASTRA Toolbox in the astra-toolbox
channel for the conda package manager. To use these, run the following
@@ -47,7 +47,7 @@ conda install -c astra-toolbox/label/dev astra-toolbox
#### For Matlab
-Requirements: g++, boost, CUDA (5.5 or higher), Matlab (R2012a or higher)
+Requirements: g++, boost, CUDA (8.0 or higher), Matlab (R2012a or higher)
```
cd build/linux
@@ -78,7 +78,7 @@ matlab.
#### For Python
-Requirements: g++, boost, CUDA (5.5 or higher), Python (2.7 or 3.x)
+Requirements: g++, boost, CUDA (8.0 or higher), Python (2.7 or 3.x)
```
cd build/linux
@@ -94,7 +94,7 @@ This will install Astra into your current Python environment.
#### As a C++ library
-Requirements: g++, boost, CUDA (5.5 or higher)
+Requirements: g++, boost, CUDA (8.0 or higher)
```
cd build/linux
@@ -125,8 +125,8 @@ make install
### Windows, from source using Visual Studio 2015
-Requirements: Visual Studio 2015 (full or community), boost (recent), CUDA 8.0,
- Matlab (R2012a or higher) and/or WinPython 2.7/3.x.
+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:
@@ -145,7 +145,7 @@ 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 2.7/3.5: Run build_python27.bat or build_python35.bat. Astra will be directly installed into site-packages.
+For python 3.9: Run build_python39.bat. Astra will be directly installed into site-packages.
## Testing your installation
@@ -186,6 +186,6 @@ The ASTRA Toolbox is open source under the GPLv3 license.
email: astra@astra-toolbox.com
website: http://www.astra-toolbox.com/
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
diff --git a/README.txt b/README.txt
index 5707420..905cdf1 100644
--- a/README.txt
+++ b/README.txt
@@ -1,8 +1,8 @@
-----------------------------------------------------------------------
This file is part of the ASTRA Toolbox
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
License: Open Source under GPLv3
Contact: astra@astra-toolbox.com
@@ -52,7 +52,7 @@ your system, it is included as vc_redist.x64.exe in the ASTRA zip file.
Linux/Windows, using conda for python
-------------------------------------
-Requirements: `conda <http://conda.pydata.org/>`_ python environment, with 64 bit Python 2.7, 3.5 or 3.6.
+Requirements: `conda <http://conda.pydata.org/>`_ python environment, with 64 bit Python 3.7, 3.8 or 3.9.
There are packages available for the ASTRA Toolbox in the astra-toolbox
channel for the conda package manager. To use these, run the following
@@ -69,7 +69,7 @@ Linux, from source:
For Matlab:
-Requirements: g++, boost, CUDA (5.5 or higher), Matlab (R2012a or higher)
+Requirements: g++, boost, CUDA (8.0 or higher), Matlab (R2012a or higher)
cd build/linux
./autogen.sh # when building a git version
@@ -100,7 +100,7 @@ matlab.
For Python:
-Requirements: g++, boost, CUDA (5.5 or higher), Python (2.7 or 3.x)
+Requirements: g++, boost, CUDA (8.0 or higher), Python (2.7 or 3.x)
cd build/linux
./autogen.sh # when building a git version
@@ -115,7 +115,7 @@ This will install Astra into your current Python environment.
As a C++ library:
-Requirements: g++, boost, CUDA (5.5 or higher)
+Requirements: g++, boost, CUDA (8.0 or higher)
cd build/linux
./autogen.sh # when building a git version
@@ -145,8 +145,8 @@ make install
Windows, from source using Visual Studio 2015:
-----------------------------------------------
-Requirements: Visual Studio 2015 (full or community), boost (recent), CUDA 8.0,
- Matlab (R2012a or higher) and/or WinPython 2.7/3.x.
+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:
@@ -165,7 +165,7 @@ 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 2.7/3.5: Run build_python27.bat or build_python35.bat. Astra will be directly installed into site-packages.
+For python 3.9: Run build_python39.bat. Astra will be directly installed into site-packages.
Testing your installation:
diff --git a/build/linux/configure.ac b/build/linux/configure.ac
index 7ef7187..5ff4eb6 100644
--- a/build/linux/configure.ac
+++ b/build/linux/configure.ac
@@ -1,6 +1,6 @@
dnl -----------------------------------------------------------------------
-dnl Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-dnl 2014-2018, CWI, Amsterdam
+dnl Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+dnl 2014-2021, CWI, Amsterdam
dnl
dnl Contact: astra@astra-toolbox.com
dnl Website: http://www.astra-toolbox.com/
@@ -23,7 +23,7 @@ dnl along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
dnl
dnl -----------------------------------------------------------------------
-AC_INIT(astra, 1.9.9dev)
+AC_INIT(astra, 2.0.0)
AC_CONFIG_SRCDIR([Makefile.in])
LT_INIT([disable-static])
@@ -133,9 +133,21 @@ fi
AC_ARG_WITH(cuda_compute, [[ --with-cuda-compute=archs comma separated list of CUDA compute models (optional)]],,)
if test x"$HAVECUDA" = xyes; then
AC_MSG_CHECKING([for nvcc archs])
- dnl 10 11 12 13 20 21 30 32 35 37 50 52 53 60 61 62 70 72 75
+ dnl 10 11 12 13 20 21 30 32 35 37 50 52 53 60 61 62 70 72 75 80 86
+ dnl
+ dnl Build cubin for range of platforms, and ptx for newest for forward compat.
+ dnl Build cubin x.0 for older platforms, and all x.y for "recent" ones.
+ dnl
+ dnl Include 3.5 since CUDA 11.x doesn't support 3.0, but does support 3.5.
+ dnl (All other CUDA toolkits from 7-10 start support at x.0 versions.)
+ dnl Skip 7.2 cubin since that seems to be Jetson-only (and can use 7.0 cubin).
+ dnl
+ dnl From CUDA Programming Guide:
+ dnl "Binary compatibility is guaranteed from one minor revision to the next one, but not from one minor revision to the previous one or across major revisions."
+ dnl
+
if test x"$with_cuda_compute" = x; then
- with_cuda_compute="20,30,35,50,60,70,75"
+ with_cuda_compute="20,30,35,50,60,70,75,80,86"
fi
ASTRA_FIND_NVCC_ARCHS([$with_cuda_compute],NVCCFLAGS_EXTRA,NVCCARCHS)
AC_MSG_RESULT([$NVCCARCHS])
diff --git a/build/msvc/build_env.bat b/build/msvc/build_env.bat
index 73d040a..ef689da 100644
--- a/build/msvc/build_env.bat
+++ b/build/msvc/build_env.bat
@@ -1,7 +1,5 @@
-set B_WP2=2.7.10.3
-set B_WP3=3.7.2.0
-set B_WINPYTHON2=E:\wjp\WinPython-64bit-%B_WP2%
-set B_WINPYTHON3=E:\wjp\WinPython-64bit-%B_WP3%
+set B_WP3=3.9.5.0
+set B_WINPYTHON3=E:\wjp\WPy64-3950
set B_MATLAB_ROOT=C:\Program Files\MATLAB\R2018b
set B_VC=C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\
set B_BV=1_69
@@ -9,8 +7,7 @@ set B_BOOST=E:\wjp\boost_%B_BV%_0
set B_VCREDIST=E:\wjp\vs2017_redist\vc_redist.x64.exe
-set B_README_WP2=C:\WinPython-64bit-%B_WP2%\python-%B_WP2:~0,-2%.amd64\Lib\site-packages
set B_README_WP3=C:\WinPython-64bit-%B_WP3%\python-%B_WP3:~0,-2%.amd64\Lib\site-packages
set B_RELEASE_TAG=master
-set B_RELEASE=1.9.0.dev11
+set B_RELEASE=2.0.0
diff --git a/build/msvc/build_python2.bat b/build/msvc/build_python2.bat
deleted file mode 100644
index 208e17b..0000000
--- a/build/msvc/build_python2.bat
+++ /dev/null
@@ -1,28 +0,0 @@
-@echo off
-
-cd /D %~dp0
-cd ..\..
-set R=%CD%
-
-call "%~dp0build_env.bat"
-
-call "%B_WINPYTHON2%\scripts\env.bat"
-call "%B_VC%\vcvars64.bat"
-
-cd /D %R%
-
-msbuild astra_vc14.sln /p:Configuration=Release_CUDA /p:Platform=x64 /t:astra_vc14
-
-cd python
-
-rd /s /q build
-rd /s /q "%WINPYDIR%\lib\site-packages\astra"
-
-set VS90COMNTOOLS=%VS140COMNTOOLS%
-set CL=/DASTRA_CUDA /DASTRA_PYTHON /EHsc
-set INCLUDE=%R%\include;%R%\lib\include;%CUDA_PATH%\include;%INCLUDE%
-copy ..\bin\x64\Release_CUDA\AstraCuda64.lib astra.lib
-python builder.py build_ext --compiler=msvc install
-copy ..\bin\x64\Release_CUDA\AstraCuda64.dll "%WINPYDIR%\lib\site-packages\astra"
-
-pause
diff --git a/build/msvc/build_release.bat b/build/msvc/build_release.bat
index f10ddc5..7c53ddb 100644
--- a/build/msvc/build_release.bat
+++ b/build/msvc/build_release.bat
@@ -13,8 +13,7 @@ mkdir release
cd release
mkdir src
mkdir matlab
-mkdir python27
-mkdir python37
+mkdir python39
cd src
git clone -b %B_RELEASE_TAG% https://github.com/astra-toolbox/astra-toolbox astra-%B_RELEASE%
@@ -46,51 +45,7 @@ pause
rem -------------------------------------------------------------------
-cd %R%\release\python27
-mkdir astra-%B_RELEASE%
-cd astra-%B_RELEASE%
-xcopy /e /i %R%\samples\python samples
-copy %R%\NEWS.txt .
-copy %R%\COPYING COPYING.txt
-
-copy %B_VCREDIST% .
-
-mkdir astra
-call "%B_WINPYTHON2%\scripts\env.bat"
-copy %WINPYDIR%\lib\site-packages\astra\*.* astra
-copy %R%\bin\x64\Release_CUDA\AstraCuda64.lib astra
-copy "%CUDA_PATH%\bin\cudart64_90.dll" astra
-copy "%CUDA_PATH%\bin\cufft64_90.dll" astra
-
-(
-echo -----------------------------------------------------------------------
-echo This file is part of the ASTRA Toolbox
-echo.
-echo Copyright: 2010-2019, imec Vision Lab, University of Antwerp
-echo 2014-2019, CWI, Amsterdam
-echo http://visielab.uantwerpen.be/ and http://www.cwi.nl/
-echo License: Open Source under GPLv3
-echo Contact: astra@astra-toolbox.com
-echo Website: http://www.astra-toolbox.com/
-echo -----------------------------------------------------------------------
-echo.
-echo.
-echo This directory contains pre-built Python modules for the ASTRA Toolbox.
-echo.
-echo It has been built with WinPython-64bit-%B_WP2%.
-echo.
-echo To use it, move the astra\ directory to your existing site-packages directory.
-echo Its exact location depends on your Python installation, but should look
-echo similar to %B_README_WP2% .
-echo.
-echo Sample code can be found in the samples\ directory.
-) > README.txt
-
-pause
-
-rem -------------------------------------------------------------------
-
-cd %R%\release\python37
+cd %R%\release\python39
mkdir astra-%B_RELEASE%
cd astra-%B_RELEASE%
xcopy /e /i %R%\samples\python samples
@@ -100,8 +55,10 @@ copy %R%\COPYING COPYING.txt
copy %B_VCREDIST% .
mkdir astra
+mkdir astra\plugins
call "%B_WINPYTHON3%\scripts\env.bat"
copy %WINPYDIR%\lib\site-packages\astra\*.* astra
+copy %WINPYDIR%\lib\site-packages\astra\plugins\*.* astra\plugins
copy %R%\bin\x64\Release_CUDA\AstraCuda64.lib astra
copy "%CUDA_PATH%\bin\cudart64_90.dll" astra
copy "%CUDA_PATH%\bin\cufft64_90.dll" astra
@@ -110,8 +67,8 @@ copy "%CUDA_PATH%\bin\cufft64_90.dll" astra
echo -----------------------------------------------------------------------
echo This file is part of the ASTRA Toolbox
echo.
-echo Copyright: 2010-2019, imec Vision Lab, University of Antwerp
-echo 2014-2019, CWI, Amsterdam
+echo Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+echo 2014-2021, CWI, Amsterdam
echo http://visielab.uantwerpen.be/ and http://www.cwi.nl/
echo License: Open Source under GPLv3
echo Contact: astra@astra-toolbox.com
@@ -134,8 +91,7 @@ pause
cd %R%\release
python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%-matlab-win-x64', 'zip', 'matlab')"
-python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%-python27-win-x64', 'zip', 'python27')"
-python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%-python37-win-x64', 'zip', 'python37')"
+python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%-python39-win-x64', 'zip', 'python39')"
python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%', 'zip', 'src')"
pause
diff --git a/cuda/2d/algo.cu b/cuda/2d/algo.cu
index be15b25..c211729 100644
--- a/cuda/2d/algo.cu
+++ b/cuda/2d/algo.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/arith.cu b/cuda/2d/arith.cu
index 62eb8c2..45622d0 100644
--- a/cuda/2d/arith.cu
+++ b/cuda/2d/arith.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -451,7 +451,7 @@ void processData(float* pfOut, unsigned int pitch, unsigned int width, unsigned
devtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -462,7 +462,7 @@ void processData(float* pfOut, float fParam, unsigned int pitch, unsigned int wi
devFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -473,7 +473,7 @@ void processData(float* pfOut1, float* pfOut2, float fParam1, float fParam2, uns
devFFtoDD<op, 32><<<gridSize, blockSize>>>(pfOut1, pfOut2, fParam1, fParam2, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
@@ -485,7 +485,7 @@ void processData(float* pfOut, const float* pfIn, unsigned int pitch, unsigned i
devDtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -496,7 +496,7 @@ void processData(float* pfOut, const float* pfIn, float fParam, unsigned int pit
devDFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -507,7 +507,7 @@ void processData(float* pfOut, const float* pfIn1, const float* pfIn2, float fPa
devDDFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn1, pfIn2, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -518,7 +518,7 @@ void processData(float* pfOut, const float* pfIn1, const float* pfIn2, unsigned
devDDtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn1, pfIn2, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
diff --git a/cuda/2d/astra.cu b/cuda/2d/astra.cu
index 7ff1c95..4752b5f 100644
--- a/cuda/2d/astra.cu
+++ b/cuda/2d/astra.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/cgls.cu b/cuda/2d/cgls.cu
index e7238b9..9c2df68 100644
--- a/cuda/2d/cgls.cu
+++ b/cuda/2d/cgls.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/darthelper.cu b/cuda/2d/darthelper.cu
index b466840..48ec4b0 100644
--- a/cuda/2d/darthelper.cu
+++ b/cuda/2d/darthelper.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/em.cu b/cuda/2d/em.cu
index df140ec..203032c 100644
--- a/cuda/2d/em.cu
+++ b/cuda/2d/em.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/fan_bp.cu b/cuda/2d/fan_bp.cu
index 7bba302..2068d03 100644
--- a/cuda/2d/fan_bp.cu
+++ b/cuda/2d/fan_bp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -322,13 +322,12 @@ bool FanBP_internal(float* D_volumeData, unsigned int volumePitch,
else
devFanBP<false><<<dimGrid, dimBlock, 0, stream>>>(D_volumeData, volumePitch, i, dims, fOutputScale);
}
- cudaThreadSynchronize();
- cudaTextForceKernelsCompletion();
+ ok = checkCuda(cudaStreamSynchronize(stream), "FanBP");
cudaStreamDestroy(stream);
- return true;
+ return ok;
}
bool FanBP_FBPWeighted_internal(float* D_volumeData, unsigned int volumePitch,
@@ -354,13 +353,12 @@ bool FanBP_FBPWeighted_internal(float* D_volumeData, unsigned int volumePitch,
for (unsigned int i = 0; i < dims.iProjAngles; i += g_anglesPerBlock) {
devFanBP<true><<<dimGrid, dimBlock, 0, stream>>>(D_volumeData, volumePitch, i, dims, fOutputScale);
}
- cudaThreadSynchronize();
- cudaTextForceKernelsCompletion();
+ ok = checkCuda(cudaStreamSynchronize(stream), "FanBP_FBPWeighted");
cudaStreamDestroy(stream);
- return true;
+ return ok;
}
// D_projData is a pointer to one padded sinogram line
@@ -382,11 +380,8 @@ bool FanBP_SART(float* D_volumeData, unsigned int volumePitch,
(dims.iVolHeight+g_blockSliceSize-1)/g_blockSliceSize);
devFanBP_SART<<<dimGrid, dimBlock>>>(D_volumeData, volumePitch, dims, fOutputScale);
- cudaThreadSynchronize();
- cudaTextForceKernelsCompletion();
-
- return true;
+ return checkCuda(cudaThreadSynchronize(), "FanBP_SART");
}
bool FanBP(float* D_volumeData, unsigned int volumePitch,
diff --git a/cuda/2d/fan_fp.cu b/cuda/2d/fan_fp.cu
index 60c02f8..342ca4c 100644
--- a/cuda/2d/fan_fp.cu
+++ b/cuda/2d/fan_fp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -268,16 +268,17 @@ bool FanFP_internal(float* D_volumeData, unsigned int volumePitch,
for (unsigned int i = 0; i < dims.iVolHeight; i += g_blockSlices)
FanFPvertical<<<dimGrid, dimBlock, 0, stream2>>>(D_projData, projPitch, i, blockStart, blockEnd, dims, outputScale);
- cudaStreamDestroy(stream1);
- cudaStreamDestroy(stream2);
+ bool ok = true;
- cudaThreadSynchronize();
+ ok &= checkCuda(cudaStreamSynchronize(stream1), "fan_fp hor");
+ cudaStreamDestroy(stream1);
- cudaTextForceKernelsCompletion();
+ ok &= checkCuda(cudaStreamSynchronize(stream2), "fan_fp ver");
+ cudaStreamDestroy(stream2);
cudaFreeArray(D_dataArray);
- return true;
+ return ok;
}
bool FanFP(float* D_volumeData, unsigned int volumePitch,
diff --git a/cuda/2d/fbp.cu b/cuda/2d/fbp.cu
index 4fc3983..7acbf6d 100644
--- a/cuda/2d/fbp.cu
+++ b/cuda/2d/fbp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/fft.cu b/cuda/2d/fft.cu
index 8361ad2..08acfd4 100644
--- a/cuda/2d/fft.cu
+++ b/cuda/2d/fft.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -40,33 +40,18 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
using namespace astra;
-// TODO: evaluate what we want to do in these situations:
-
-#define CHECK_ERROR(errorMessage) do { \
- cudaError_t err = cudaThreadSynchronize(); \
- if( cudaSuccess != err) { \
- ASTRA_ERROR("Cuda error %s : %s", \
- errorMessage,cudaGetErrorString( err)); \
- exit(EXIT_FAILURE); \
- } } while (0)
-
-#define SAFE_CALL( call) do { \
- cudaError err = call; \
- if( cudaSuccess != err) { \
- ASTRA_ERROR("Cuda error: %s ", \
- cudaGetErrorString( err)); \
- exit(EXIT_FAILURE); \
- } \
- err = cudaThreadSynchronize(); \
- if( cudaSuccess != err) { \
- ASTRA_ERROR("Cuda error: %s : ", \
- cudaGetErrorString( err)); \
- exit(EXIT_FAILURE); \
- } } while (0)
-
-
namespace astraCUDA {
+bool checkCufft(cufftResult err, const char *msg)
+{
+ if (err != CUFFT_SUCCESS) {
+ ASTRA_ERROR("%s: CUFFT error %d.", msg, err);
+ return false;
+ } else {
+ return true;
+ }
+}
+
__global__ static void applyFilter_kernel(int _iProjectionCount,
int _iFreqBinCount,
cufftComplex * _pSinogram,
@@ -115,7 +100,8 @@ static void rescaleInverseFourier(int _iProjectionCount, int _iDetectorCount,
rescaleInverseFourier_kernel<<< iBlockCount, iBlockSize >>>(_iProjectionCount,
_iDetectorCount,
_pfInFourierOutput);
- CHECK_ERROR("rescaleInverseFourier_kernel failed");
+
+ checkCuda(cudaThreadSynchronize(), "rescaleInverseFourier");
}
void applyFilter(int _iProjectionCount, int _iFreqBinCount,
@@ -128,7 +114,8 @@ void applyFilter(int _iProjectionCount, int _iFreqBinCount,
applyFilter_kernel<<< iBlockCount, iBlockSize >>>(_iProjectionCount,
_iFreqBinCount,
_pSinogram, _pFilter);
- CHECK_ERROR("applyFilter_kernel failed");
+
+ checkCuda(cudaThreadSynchronize(), "applyFilter");
}
static bool invokeCudaFFT(int _iProjectionCount, int _iDetectorCount,
@@ -136,24 +123,22 @@ static bool invokeCudaFFT(int _iProjectionCount, int _iDetectorCount,
cufftComplex * _pDevTargetComplex)
{
cufftHandle plan;
- cufftResult result;
- result = cufftPlan1d(&plan, _iDetectorCount, CUFFT_R2C, _iProjectionCount);
- if(result != CUFFT_SUCCESS)
- {
- ASTRA_ERROR("Failed to plan 1d r2c fft");
+ if (!checkCufft(cufftPlan1d(&plan, _iDetectorCount, CUFFT_R2C, _iProjectionCount), "invokeCudaFFT plan")) {
return false;
}
- result = cufftExecR2C(plan, (cufftReal *)_pfDevSource, _pDevTargetComplex);
- cufftDestroy(plan);
+ if (!checkCufft(cufftExecR2C(plan, (cufftReal *)_pfDevSource, _pDevTargetComplex), "invokeCudaFFT exec")) {
+ cufftDestroy(plan);
+ return false;
+ }
- if(result != CUFFT_SUCCESS)
- {
- ASTRA_ERROR("Failed to exec 1d r2c fft");
+ if (!checkCuda(cudaDeviceSynchronize(), "invokeCudaFFT sync")) {
+ cufftDestroy(plan);
return false;
}
+ cufftDestroy(plan);
return true;
}
@@ -162,26 +147,25 @@ static bool invokeCudaIFFT(int _iProjectionCount, int _iDetectorCount,
float * _pfDevTarget)
{
cufftHandle plan;
- cufftResult result;
- result = cufftPlan1d(&plan, _iDetectorCount, CUFFT_C2R, _iProjectionCount);
- if(result != CUFFT_SUCCESS)
- {
- ASTRA_ERROR("Failed to plan 1d c2r fft");
+ if (!checkCufft(cufftPlan1d(&plan, _iDetectorCount, CUFFT_C2R, _iProjectionCount), "invokeCudaIFFT plan")) {
return false;
}
- // todo: why do we have to get rid of the const qualifier?
- result = cufftExecC2R(plan, (cufftComplex *)_pDevSourceComplex,
- (cufftReal *)_pfDevTarget);
- cufftDestroy(plan);
-
- if(result != CUFFT_SUCCESS)
+ // Getting rid of the const qualifier is due to cufft API issue?
+ if (!checkCufft(cufftExecC2R(plan, (cufftComplex *)_pDevSourceComplex,
+ (cufftReal *)_pfDevTarget), "invokeCudaIFFT exec"))
{
- ASTRA_ERROR("Failed to exec 1d c2r fft");
+ cufftDestroy(plan);
return false;
}
+ if (!checkCuda(cudaDeviceSynchronize(), "invokeCudaIFFT sync")) {
+ cufftDestroy(plan);
+ return false;
+ }
+
+ cufftDestroy(plan);
return true;
}
@@ -189,14 +173,12 @@ bool allocateComplexOnDevice(int _iProjectionCount, int _iDetectorCount,
cufftComplex ** _ppDevComplex)
{
size_t bufferSize = sizeof(cufftComplex) * _iProjectionCount * _iDetectorCount;
- SAFE_CALL(cudaMalloc((void **)_ppDevComplex, bufferSize));
- return true;
+ return checkCuda(cudaMalloc((void **)_ppDevComplex, bufferSize), "fft allocateComplexOnDevice");
}
bool freeComplexOnDevice(cufftComplex * _pDevComplex)
{
- SAFE_CALL(cudaFree(_pDevComplex));
- return true;
+ return checkCuda(cudaFree(_pDevComplex), "fft freeComplexOnDevice");
}
bool uploadComplexArrayToDevice(int _iProjectionCount, int _iDetectorCount,
@@ -204,9 +186,7 @@ bool uploadComplexArrayToDevice(int _iProjectionCount, int _iDetectorCount,
cufftComplex * _pDevComplexTarget)
{
size_t memSize = sizeof(cufftComplex) * _iProjectionCount * _iDetectorCount;
- SAFE_CALL(cudaMemcpy(_pDevComplexTarget, _pHostComplexSource, memSize, cudaMemcpyHostToDevice));
-
- return true;
+ return checkCuda(cudaMemcpy(_pDevComplexTarget, _pHostComplexSource, memSize, cudaMemcpyHostToDevice), "fft uploadComplexArrayToDevice");
}
bool runCudaFFT(int _iProjectionCount, const float * _pfDevRealSource,
@@ -217,25 +197,30 @@ bool runCudaFFT(int _iProjectionCount, const float * _pfDevRealSource,
float * pfDevRealFFTSource = NULL;
size_t bufferMemSize = sizeof(float) * _iProjectionCount * _iFFTRealDetectorCount;
- SAFE_CALL(cudaMalloc((void **)&pfDevRealFFTSource, bufferMemSize));
- SAFE_CALL(cudaMemset(pfDevRealFFTSource, 0, bufferMemSize));
+ if (!checkCuda(cudaMalloc((void **)&pfDevRealFFTSource, bufferMemSize), "runCudaFFT malloc"))
+ return false;
+ if (!checkCuda(cudaMemset(pfDevRealFFTSource, 0, bufferMemSize), "runCudaFFT memset")) {
+ cudaFree(pfDevRealFFTSource);
+ return false;
+ }
for(int iProjectionIndex = 0; iProjectionIndex < _iProjectionCount; iProjectionIndex++)
{
const float * pfSourceLocation = _pfDevRealSource + iProjectionIndex * _iSourcePitch;
float * pfTargetLocation = pfDevRealFFTSource + iProjectionIndex * _iFFTRealDetectorCount;
- SAFE_CALL(cudaMemcpy(pfTargetLocation, pfSourceLocation, sizeof(float) * _iProjDets, cudaMemcpyDeviceToDevice));
+ if (!checkCuda(cudaMemcpy(pfTargetLocation, pfSourceLocation, sizeof(float) * _iProjDets, cudaMemcpyDeviceToDevice), "runCudaFFT memcpy")) {
+ cudaFree(pfDevRealFFTSource);
+ return false;
+ }
}
bool bResult = invokeCudaFFT(_iProjectionCount, _iFFTRealDetectorCount,
pfDevRealFFTSource, _pDevTargetComplex);
if(!bResult)
- {
return false;
- }
- SAFE_CALL(cudaFree(pfDevRealFFTSource));
+ cudaFree(pfDevRealFFTSource);
return true;
}
@@ -248,7 +233,8 @@ bool runCudaIFFT(int _iProjectionCount, const cufftComplex* _pDevSourceComplex,
float * pfDevRealFFTTarget = NULL;
size_t bufferMemSize = sizeof(float) * _iProjectionCount * _iFFTRealDetectorCount;
- SAFE_CALL(cudaMalloc((void **)&pfDevRealFFTTarget, bufferMemSize));
+ if (!checkCuda(cudaMalloc((void **)&pfDevRealFFTTarget, bufferMemSize), "runCudaIFFT malloc"))
+ return false;
bool bResult = invokeCudaIFFT(_iProjectionCount, _iFFTRealDetectorCount,
_pDevSourceComplex, pfDevRealFFTTarget);
@@ -260,17 +246,23 @@ bool runCudaIFFT(int _iProjectionCount, const cufftComplex* _pDevSourceComplex,
rescaleInverseFourier(_iProjectionCount, _iFFTRealDetectorCount,
pfDevRealFFTTarget);
- SAFE_CALL(cudaMemset(_pfRealTarget, 0, sizeof(float) * _iProjectionCount * _iTargetPitch));
+ if (!checkCuda(cudaMemset(_pfRealTarget, 0, sizeof(float) * _iProjectionCount * _iTargetPitch), "runCudaIFFT memset")) {
+ cudaFree(pfDevRealFFTTarget);
+ return false;
+ }
for(int iProjectionIndex = 0; iProjectionIndex < _iProjectionCount; iProjectionIndex++)
{
const float * pfSourceLocation = pfDevRealFFTTarget + iProjectionIndex * _iFFTRealDetectorCount;
float* pfTargetLocation = _pfRealTarget + iProjectionIndex * _iTargetPitch;
- SAFE_CALL(cudaMemcpy(pfTargetLocation, pfSourceLocation, sizeof(float) * _iProjDets, cudaMemcpyDeviceToDevice));
+ if (!checkCuda(cudaMemcpy(pfTargetLocation, pfSourceLocation, sizeof(float) * _iProjDets, cudaMemcpyDeviceToDevice), "runCudaIFFT memcpy")) {
+ cudaFree(pfDevRealFFTTarget);
+ return false;
+ }
}
- SAFE_CALL(cudaFree(pfDevRealFFTTarget));
+ cudaFree(pfDevRealFFTTarget);
return true;
}
diff --git a/cuda/2d/par_bp.cu b/cuda/2d/par_bp.cu
index f080abb..d7c3ab0 100644
--- a/cuda/2d/par_bp.cu
+++ b/cuda/2d/par_bp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -231,13 +231,12 @@ bool BP_internal(float* D_volumeData, unsigned int volumePitch,
else
devBP<<<dimGrid, dimBlock, 0, stream>>>(D_volumeData, volumePitch, i, dims, fOutputScale);
}
- cudaThreadSynchronize();
- cudaTextForceKernelsCompletion();
+ bool ok = checkCuda(cudaStreamSynchronize(stream), "par_bp");
cudaStreamDestroy(stream);
- return true;
+ return ok;
}
bool BP(float* D_volumeData, unsigned int volumePitch,
@@ -284,11 +283,8 @@ bool BP_SART(float* D_volumeData, unsigned int volumePitch,
(dims.iVolHeight+g_blockSliceSize-1)/g_blockSliceSize);
devBP_SART<<<dimGrid, dimBlock>>>(D_volumeData, volumePitch, angle_offset, angle_scaled_sin, angle_scaled_cos, dims, fOutputScale);
- cudaThreadSynchronize();
-
- cudaTextForceKernelsCompletion();
- return true;
+ return checkCuda(cudaThreadSynchronize(), "BP_SART");
}
diff --git a/cuda/2d/par_fp.cu b/cuda/2d/par_fp.cu
index aac6cc3..e947428 100644
--- a/cuda/2d/par_fp.cu
+++ b/cuda/2d/par_fp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -305,8 +305,8 @@ bool FP_simple_internal(float* D_volumeData, unsigned int volumePitch,
dim3 dimGrid((blockEnd-blockStart+g_anglesPerBlock-1)/g_anglesPerBlock,
(dims.iProjDets+g_detBlockSize-1)/g_detBlockSize); // angle blocks, detector blocks
- // TODO: check if we can't immediately
- // destroy the stream after use
+ // TODO: consider limiting number of handle (chaotic) geoms
+ // with many alternating directions
cudaStream_t stream;
cudaStreamCreate(&stream);
streams.push_back(stream);
@@ -323,19 +323,16 @@ bool FP_simple_internal(float* D_volumeData, unsigned int volumePitch,
}
}
- for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter)
- cudaStreamDestroy(*iter);
-
- streams.clear();
-
- cudaThreadSynchronize();
+ bool ok = true;
- cudaTextForceKernelsCompletion();
+ for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter) {
+ ok &= checkCuda(cudaStreamSynchronize(*iter), "par_fp");
+ cudaStreamDestroy(*iter);
+ }
cudaFreeArray(D_dataArray);
-
- return true;
+ return ok;
}
bool FP_simple(float* D_volumeData, unsigned int volumePitch,
diff --git a/cuda/2d/sart.cu b/cuda/2d/sart.cu
index 12ad6df..89d58c2 100644
--- a/cuda/2d/sart.cu
+++ b/cuda/2d/sart.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -54,7 +54,7 @@ void MUL_SART(float* pfOut, const float* pfIn, unsigned int pitch, unsigned int
devMUL_SART<<<gridSize, blockSize>>>(pfOut, pfIn, pitch, width);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), "MUL_SART");
}
diff --git a/cuda/2d/sirt.cu b/cuda/2d/sirt.cu
index 2c5fdc9..b251734 100644
--- a/cuda/2d/sirt.cu
+++ b/cuda/2d/sirt.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/2d/util.cu b/cuda/2d/util.cu
index 533b86c..ac360f0 100644
--- a/cuda/2d/util.cu
+++ b/cuda/2d/util.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -40,12 +40,8 @@ bool copyVolumeToDevice(const float* in_data, unsigned int in_pitch,
{
size_t width = dims.iVolWidth;
size_t height = dims.iVolHeight;
- // TODO: memory order
- cudaError_t err;
- err = cudaMemcpy2D(outD_data, sizeof(float)*out_pitch, in_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyHostToDevice);
- ASTRA_CUDA_ASSERT(err);
- assert(err == cudaSuccess);
- return true;
+
+ return checkCuda(cudaMemcpy2D(outD_data, sizeof(float)*out_pitch, in_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyHostToDevice), "copyVolumeToDevice");
}
bool copyVolumeFromDevice(float* out_data, unsigned int out_pitch,
@@ -54,10 +50,8 @@ bool copyVolumeFromDevice(float* out_data, unsigned int out_pitch,
{
size_t width = dims.iVolWidth;
size_t height = dims.iVolHeight;
- // TODO: memory order
- cudaError_t err = cudaMemcpy2D(out_data, sizeof(float)*out_pitch, inD_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyDeviceToHost);
- ASTRA_CUDA_ASSERT(err);
- return true;
+
+ return checkCuda(cudaMemcpy2D(out_data, sizeof(float)*out_pitch, inD_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyDeviceToHost), "copyVolumeFromDevice");
}
@@ -67,10 +61,8 @@ bool copySinogramFromDevice(float* out_data, unsigned int out_pitch,
{
size_t width = dims.iProjDets;
size_t height = dims.iProjAngles;
- // TODO: memory order
- cudaError_t err = cudaMemcpy2D(out_data, sizeof(float)*out_pitch, inD_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyDeviceToHost);
- ASTRA_CUDA_ASSERT(err);
- return true;
+
+ return checkCuda(cudaMemcpy2D(out_data, sizeof(float)*out_pitch, inD_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyDeviceToHost), "copySinogramFromDevice");
}
bool copySinogramToDevice(const float* in_data, unsigned int in_pitch,
@@ -79,20 +71,15 @@ bool copySinogramToDevice(const float* in_data, unsigned int in_pitch,
{
size_t width = dims.iProjDets;
size_t height = dims.iProjAngles;
- // TODO: memory order
- cudaError_t err;
- err = cudaMemcpy2D(outD_data, sizeof(float)*out_pitch, in_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyHostToDevice);
- ASTRA_CUDA_ASSERT(err);
- return true;
+
+ return checkCuda(cudaMemcpy2D(outD_data, sizeof(float)*out_pitch, in_data, sizeof(float)*in_pitch, sizeof(float)*width, height, cudaMemcpyHostToDevice), "copySinogramToDevice");
}
bool allocateVolume(float*& ptr, unsigned int width, unsigned int height, unsigned int& pitch)
{
size_t p;
- cudaError_t ret = cudaMallocPitch((void**)&ptr, &p, sizeof(float)*width, height);
- if (ret != cudaSuccess) {
- reportCudaError(ret);
+ if (!checkCuda(cudaMallocPitch((void**)&ptr, &p, sizeof(float)*width, height), "allocateVolume")) {
ASTRA_ERROR("Failed to allocate %dx%d GPU buffer", width, height);
return false;
}
@@ -104,11 +91,9 @@ bool allocateVolume(float*& ptr, unsigned int width, unsigned int height, unsign
return true;
}
-void zeroVolume(float* data, unsigned int pitch, unsigned int width, unsigned int height)
+bool zeroVolume(float* data, unsigned int pitch, unsigned int width, unsigned int height)
{
- cudaError_t err;
- err = cudaMemset2D(data, sizeof(float)*pitch, 0, sizeof(float)*width, height);
- ASTRA_CUDA_ASSERT(err);
+ return checkCuda(cudaMemset2D(data, sizeof(float)*pitch, 0, sizeof(float)*width, height), "zeroVolume");
}
bool allocateVolumeData(float*& D_ptr, unsigned int& pitch, const SDimensions& dims)
@@ -121,14 +106,14 @@ bool allocateProjectionData(float*& D_ptr, unsigned int& pitch, const SDimension
return allocateVolume(D_ptr, dims.iProjDets, dims.iProjAngles, pitch);
}
-void zeroVolumeData(float* D_ptr, unsigned int pitch, const SDimensions& dims)
+bool zeroVolumeData(float* D_ptr, unsigned int pitch, const SDimensions& dims)
{
- zeroVolume(D_ptr, pitch, dims.iVolWidth, dims.iVolHeight);
+ return zeroVolume(D_ptr, pitch, dims.iVolWidth, dims.iVolHeight);
}
-void zeroProjectionData(float* D_ptr, unsigned int pitch, const SDimensions& dims)
+bool zeroProjectionData(float* D_ptr, unsigned int pitch, const SDimensions& dims)
{
- zeroVolume(D_ptr, pitch, dims.iProjDets, dims.iProjAngles);
+ return zeroVolume(D_ptr, pitch, dims.iProjDets, dims.iProjAngles);
}
void duplicateVolumeData(float* D_dst, float* D_src, unsigned int pitch, const SDimensions& dims)
@@ -231,7 +216,7 @@ float dotProduct2D(float* D_data, unsigned int pitch,
// Step 1: reduce 2D from image to a single vector, taking sum of squares
reduce2D<<< dimGrid2, dimBlock2, shared_mem2>>>(D_data, D_buf, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), "dotProduct2D reduce2D");
// Step 2: reduce 1D: add up elements in vector
if (bx * by > 512)
@@ -248,31 +233,21 @@ float dotProduct2D(float* D_data, unsigned int pitch,
float x;
cudaMemcpy(&x, D_res, 4, cudaMemcpyDeviceToHost);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), "dotProduct2D");
cudaFree(D_buf);
return x;
}
-
-bool cudaTextForceKernelsCompletion()
+bool checkCuda(cudaError_t err, const char *msg)
{
- cudaError_t returnedCudaError = cudaThreadSynchronize();
-
- if(returnedCudaError != cudaSuccess) {
- ASTRA_ERROR("Failed to force completion of cuda kernels: %d: %s.", returnedCudaError, cudaGetErrorString(returnedCudaError));
+ if (err != cudaSuccess) {
+ ASTRA_ERROR("%s: CUDA error %d: %s.", msg, err, cudaGetErrorString(err));
return false;
+ } else {
+ return true;
}
-
- return true;
}
-void reportCudaError(cudaError_t err)
-{
- if(err != cudaSuccess)
- ASTRA_ERROR("CUDA error %d: %s.", err, cudaGetErrorString(err));
-}
-
-
}
diff --git a/cuda/3d/algo3d.cu b/cuda/3d/algo3d.cu
index 3a83194..4ef2052 100644
--- a/cuda/3d/algo3d.cu
+++ b/cuda/3d/algo3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/3d/arith3d.cu b/cuda/3d/arith3d.cu
index 2f4054e..b495f22 100644
--- a/cuda/3d/arith3d.cu
+++ b/cuda/3d/arith3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -225,7 +225,7 @@ void processVol(CUdeviceptr* out, unsigned int pitch, unsigned int width, unsign
devtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -238,7 +238,7 @@ void processVol(CUdeviceptr* out, float fParam, unsigned int pitch, unsigned int
devFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -252,7 +252,7 @@ void processVol(CUdeviceptr* out, const CUdeviceptr* in, unsigned int pitch, uns
devDtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -266,7 +266,7 @@ void processVol(CUdeviceptr* out, const CUdeviceptr* in, float fParam, unsigned
devDFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -281,7 +281,7 @@ void processVol(CUdeviceptr* out, const CUdeviceptr* in1, const CUdeviceptr* in2
devDDFtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn1, pfIn2, fParam, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -296,7 +296,7 @@ void processVol(CUdeviceptr* out, const CUdeviceptr* in1, const CUdeviceptr* in2
devDDtoD<op, 32><<<gridSize, blockSize>>>(pfOut, pfIn1, pfIn2, pitch, width, height);
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
@@ -328,7 +328,7 @@ void processVol3D(cudaPitchedPtr& out, const SDimensions3D& dims)
pfOut += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -344,7 +344,7 @@ void processVol3D(cudaPitchedPtr& out, float fParam, const SDimensions3D& dims)
pfOut += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -362,7 +362,7 @@ void processVol3D(cudaPitchedPtr& out, const cudaPitchedPtr& in, const SDimensio
pfIn += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -380,7 +380,7 @@ void processVol3D(cudaPitchedPtr& out, const cudaPitchedPtr& in, float fParam, c
pfIn += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -400,7 +400,7 @@ void processVol3D(cudaPitchedPtr& out, const cudaPitchedPtr& in1, const cudaPitc
pfIn2 += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -420,7 +420,7 @@ void processVol3D(cudaPitchedPtr& out, const cudaPitchedPtr& in1, const cudaPitc
pfIn2 += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
@@ -448,7 +448,7 @@ void processSino3D(cudaPitchedPtr& out, const SDimensions3D& dims)
pfOut += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -464,7 +464,7 @@ void processSino3D(cudaPitchedPtr& out, float fParam, const SDimensions3D& dims)
pfOut += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -482,7 +482,7 @@ void processSino3D(cudaPitchedPtr& out, const cudaPitchedPtr& in, const SDimensi
pfIn += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -500,7 +500,7 @@ void processSino3D(cudaPitchedPtr& out, const cudaPitchedPtr& in, float fParam,
pfIn += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -520,7 +520,7 @@ void processSino3D(cudaPitchedPtr& out, const cudaPitchedPtr& in1, const cudaPit
pfIn2 += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
template<typename op>
@@ -540,7 +540,7 @@ void processSino3D(cudaPitchedPtr& out, const cudaPitchedPtr& in1, const cudaPit
pfIn2 += step;
}
- cudaTextForceKernelsCompletion();
+ checkCuda(cudaThreadSynchronize(), __FUNCTION__);
}
diff --git a/cuda/3d/astra3d.cu b/cuda/3d/astra3d.cu
index 51e76cd..3df52c8 100644
--- a/cuda/3d/astra3d.cu
+++ b/cuda/3d/astra3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/3d/cgls3d.cu b/cuda/3d/cgls3d.cu
index 4829574..cbfb422 100644
--- a/cuda/3d/cgls3d.cu
+++ b/cuda/3d/cgls3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/3d/cone_bp.cu b/cuda/3d/cone_bp.cu
index 3525eb4..e265304 100644
--- a/cuda/3d/cone_bp.cu
+++ b/cuda/3d/cone_bp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -41,8 +41,7 @@ static texture3D gT_coneProjTexture;
namespace astraCUDA3d {
-#define ZSIZE 6
-static const unsigned int g_volBlockZ = ZSIZE;
+static const unsigned int g_volBlockZ = 6;
static const unsigned int g_anglesPerBlock = 32;
static const unsigned int g_volBlockX = 16;
@@ -77,7 +76,7 @@ bool bindProjDataTexture(const cudaArray* array)
//__launch_bounds__(32*16, 4)
-template<bool FDKWEIGHT>
+template<bool FDKWEIGHT, unsigned int ZSIZE>
__global__ void dev_cone_BP(void* D_volData, unsigned int volPitch, int startAngle,
int angleOffset, const astraCUDA3d::SDimensions3D dims,
float fOutputScale)
@@ -342,15 +341,25 @@ bool ConeBP_Array(cudaPitchedPtr D_volumeData,
for (unsigned int i = 0; i < angleCount; i += g_anglesPerBlock) {
// printf("Calling BP: %d, %dx%d, %dx%d to %p\n", i, dimBlock.x, dimBlock.y, dimGrid.x, dimGrid.y, (void*)D_volumeData.ptr);
- if (params.bFDKWeighting)
- dev_cone_BP<true><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
- else if (params.iRaysPerVoxelDim == 1)
- dev_cone_BP<false><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
- else
+ if (params.bFDKWeighting) {
+ if (dims.iVolZ == 1) {
+ dev_cone_BP<true, 1><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ } else {
+ dev_cone_BP<true, g_volBlockZ><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ }
+ } else if (params.iRaysPerVoxelDim == 1) {
+ if (dims.iVolZ == 1) {
+ dev_cone_BP<false, 1><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ } else {
+ dev_cone_BP<false, g_volBlockZ><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ }
+ } else
dev_cone_BP_SS<<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, params.iRaysPerVoxelDim, fOutputScale);
}
- cudaTextForceKernelsCompletion();
+ // TODO: Consider not synchronizing here, if possible.
+ if (!checkCuda(cudaThreadSynchronize(), "cone_bp"))
+ return false;
angles = angles + angleCount;
// printf("%f\n", toc(t));
diff --git a/cuda/3d/cone_fp.cu b/cuda/3d/cone_fp.cu
index bd607fa..2c3d1f6 100644
--- a/cuda/3d/cone_fp.cu
+++ b/cuda/3d/cone_fp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -169,6 +169,8 @@ __global__ void cone_FP_t(float* D_projData, unsigned int projPitch,
const float fDetSZ = gC_DetSZ[angle] + 0.5f * fDetUZ + 0.5f * fDetVZ;
const int detectorU = (blockIdx.x%((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockU + threadIdx.x;
+ if (detectorU >= dims.iProjU)
+ return;
const int startDetectorV = (blockIdx.x/((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockV;
int endDetectorV = startDetectorV + g_detBlockV;
if (endDetectorV > dims.iProjV)
@@ -245,6 +247,8 @@ __global__ void cone_FP_SS_t(float* D_projData, unsigned int projPitch,
const float fDetSZ = gC_DetSZ[angle] + 0.5f * fDetUZ + 0.5f * fDetVZ;
const int detectorU = (blockIdx.x%((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockU + threadIdx.x;
+ if (detectorU >= dims.iProjU)
+ return;
const int startDetectorV = (blockIdx.x/((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockV;
int endDetectorV = startDetectorV + g_detBlockV;
if (endDetectorV > dims.iProjV)
@@ -402,8 +406,9 @@ bool ConeFP_Array_internal(cudaPitchedPtr D_projData,
dim3 dimGrid(
((dims.iProjU+g_detBlockU-1)/g_detBlockU)*((dims.iProjV+g_detBlockV-1)/g_detBlockV),
(blockEnd-blockStart+g_anglesPerBlock-1)/g_anglesPerBlock);
- // TODO: check if we can't immediately
- // destroy the stream after use
+
+ // TODO: consider limiting number of handle (chaotic) geoms
+ // with many alternating directions
cudaStream_t stream;
cudaStreamCreate(&stream);
streams.push_back(stream);
@@ -446,16 +451,16 @@ bool ConeFP_Array_internal(cudaPitchedPtr D_projData,
}
}
- for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter)
- cudaStreamDestroy(*iter);
-
- streams.clear();
+ bool ok = true;
- cudaTextForceKernelsCompletion();
+ for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter) {
+ ok &= checkCuda(cudaStreamSynchronize(*iter), "cone_fp");
+ cudaStreamDestroy(*iter);
+ }
// printf("%f\n", toc(t));
- return true;
+ return ok;
}
diff --git a/cuda/3d/darthelper3d.cu b/cuda/3d/darthelper3d.cu
index d8ccfa6..c3b93c6 100644
--- a/cuda/3d/darthelper3d.cu
+++ b/cuda/3d/darthelper3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/3d/fdk.cu b/cuda/3d/fdk.cu
index 456694f..0b8d2ab 100644
--- a/cuda/3d/fdk.cu
+++ b/cuda/3d/fdk.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -176,7 +176,8 @@ bool FDK_PreWeight(cudaPitchedPtr D_projData,
devFDK_preweight<<<dimGrid, dimBlock>>>(D_projData.ptr, projPitch, 0, dims.iProjAngles, fSrcOrigin, fDetOrigin, fZShift, fDetUSize, fDetVSize, dims);
- cudaTextForceKernelsCompletion();
+ if (!checkCuda(cudaThreadSynchronize(), "FDK_PreWeight"))
+ return false;
if (bShortScan && dims.iProjAngles > 1) {
ASTRA_DEBUG("Doing Parker weighting");
@@ -225,9 +226,10 @@ bool FDK_PreWeight(cudaPitchedPtr D_projData,
devFDK_ParkerWeight<<<dimGrid, dimBlock>>>(D_projData.ptr, projPitch, 0, dims.iProjAngles, fSrcOrigin, fDetOrigin, fDetUSize, fCentralFanAngle, dims);
+ if (!checkCuda(cudaThreadSynchronize(), "FDK_PreWeight ParkerWeight"))
+ return false;
}
- cudaTextForceKernelsCompletion();
return true;
}
diff --git a/cuda/3d/mem3d.cu b/cuda/3d/mem3d.cu
index 50cfe75..ad2a0f3 100644
--- a/cuda/3d/mem3d.cu
+++ b/cuda/3d/mem3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -58,15 +58,13 @@ struct SMemHandle3D_internal
int maxBlockDimension()
{
int dev;
- cudaError_t err = cudaGetDevice(&dev);
- if (err != cudaSuccess) {
+ if (!checkCuda(cudaGetDevice(&dev), "maxBlockDimension getDevice")) {
ASTRA_WARN("Error querying device");
return 0;
}
cudaDeviceProp props;
- err = cudaGetDeviceProperties(&props, dev);
- if (err != cudaSuccess) {
+ if (!checkCuda(cudaGetDeviceProperties(&props, dev), "maxBlockDimension getDviceProps")) {
ASTRA_WARN("Error querying device %d properties", dev);
return 0;
}
@@ -84,10 +82,7 @@ MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Me
size_t free = astraCUDA::availableGPUMemory();
- cudaError_t err;
- err = cudaMalloc3D(&hnd.ptr, make_cudaExtent(sizeof(float)*x, y, z));
-
- if (err != cudaSuccess) {
+ if (!checkCuda(cudaMalloc3D(&hnd.ptr, make_cudaExtent(sizeof(float)*x, y, z)), "allocateGPUMemory malloc3d")) {
return MemHandle3D();
}
@@ -98,8 +93,7 @@ MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Me
if (zero == INIT_ZERO) {
- err = cudaMemset3D(hnd.ptr, 0, make_cudaExtent(sizeof(float)*x, y, z));
- if (err != cudaSuccess) {
+ if (!checkCuda(cudaMemset3D(hnd.ptr, 0, make_cudaExtent(sizeof(float)*x, y, z)), "allocateGPUMemory memset3d")) {
cudaFree(hnd.ptr.ptr);
return MemHandle3D();
}
@@ -116,23 +110,22 @@ bool zeroGPUMemory(MemHandle3D handle, unsigned int x, unsigned int y, unsigned
{
SMemHandle3D_internal& hnd = *handle.d.get();
assert(!hnd.arr);
- cudaError_t err = cudaMemset3D(hnd.ptr, 0, make_cudaExtent(sizeof(float)*x, y, z));
- return err == cudaSuccess;
+ return checkCuda(cudaMemset3D(hnd.ptr, 0, make_cudaExtent(sizeof(float)*x, y, z)), "zeroGPUMemory");
}
bool freeGPUMemory(MemHandle3D handle)
{
size_t free = astraCUDA::availableGPUMemory();
- cudaError_t err;
+ bool ok;
if (handle.d->arr)
- err = cudaFreeArray(handle.d->arr);
+ ok = checkCuda(cudaFreeArray(handle.d->arr), "freeGPUMemory array");
else
- err = cudaFree(handle.d->ptr.ptr);
+ ok = checkCuda(cudaFree(handle.d->ptr.ptr), "freeGPUMemory");
size_t free2 = astraCUDA::availableGPUMemory();
ASTRA_DEBUG("Freeing memory. (Pre: %lu, post: %lu)", free, free2);
- return err == cudaSuccess;
+ return ok;
}
bool copyToGPUMemory(const float *src, MemHandle3D dst, const SSubDimensions3D &pos)
@@ -160,9 +153,7 @@ bool copyToGPUMemory(const float *src, MemHandle3D dst, const SSubDimensions3D &
p.kind = cudaMemcpyHostToDevice;
- cudaError_t err = cudaMemcpy3D(&p);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyToGPUMemory");
}
@@ -197,10 +188,7 @@ bool copyFromGPUMemory(float *dst, MemHandle3D src, const SSubDimensions3D &pos)
p.kind = cudaMemcpyDeviceToHost;
- cudaError_t err = cudaMemcpy3D(&p);
-
- return err == cudaSuccess;
-
+ return checkCuda(cudaMemcpy3D(&p), "copyFromGPUMemory");
}
@@ -409,9 +397,7 @@ bool copyIntoArray(MemHandle3D handle, MemHandle3D subdata, const SSubDimensions
p.kind = cudaMemcpyHostToDevice;
- cudaError_t err = cudaMemcpy3D(&p);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyIntoArray");
}
diff --git a/cuda/3d/par3d_bp.cu b/cuda/3d/par3d_bp.cu
index 857a314..1dc75ce 100644
--- a/cuda/3d/par3d_bp.cu
+++ b/cuda/3d/par3d_bp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -41,8 +41,7 @@ static texture3D gT_par3DProjTexture;
namespace astraCUDA3d {
-#define ZSIZE 6
-static const unsigned int g_volBlockZ = ZSIZE;
+static const unsigned int g_volBlockZ = 6;
static const unsigned int g_anglesPerBlock = 32;
static const unsigned int g_volBlockX = 16;
@@ -77,6 +76,7 @@ static bool bindProjDataTexture(const cudaArray* array)
}
+template<unsigned int ZSIZE>
__global__ void dev_par3D_BP(void* D_volData, unsigned int volPitch, int startAngle, int angleOffset, const SDimensions3D dims, float fOutputScale)
{
float* volData = (float*)D_volData;
@@ -281,13 +281,19 @@ bool Par3DBP_Array(cudaPitchedPtr D_volumeData,
for (unsigned int i = 0; i < angleCount; i += g_anglesPerBlock) {
// printf("Calling BP: %d, %dx%d, %dx%d to %p\n", i, dimBlock.x, dimBlock.y, dimGrid.x, dimGrid.y, (void*)D_volumeData.ptr);
- if (params.iRaysPerVoxelDim == 1)
- dev_par3D_BP<<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
- else
+ if (params.iRaysPerVoxelDim == 1) {
+ if (dims.iVolZ == 1) {
+ dev_par3D_BP<1><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ } else {
+ dev_par3D_BP<g_volBlockZ><<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, fOutputScale);
+ }
+ } else
dev_par3D_BP_SS<<<dimGrid, dimBlock>>>(D_volumeData.ptr, D_volumeData.pitch/sizeof(float), i, th, dims, params.iRaysPerVoxelDim, fOutputScale);
}
- cudaTextForceKernelsCompletion();
+ // TODO: Consider not synchronizing here, if possible.
+ if (!checkCuda(cudaThreadSynchronize(), "cone_bp"))
+ return false;
angles = angles + angleCount;
// printf("%f\n", toc(t));
diff --git a/cuda/3d/par3d_fp.cu b/cuda/3d/par3d_fp.cu
index 0a4a5cc..5daddc1 100644
--- a/cuda/3d/par3d_fp.cu
+++ b/cuda/3d/par3d_fp.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -175,6 +175,8 @@ __global__ void par3D_FP_t(float* D_projData, unsigned int projPitch,
const int detectorU = (blockIdx.x%((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockU + threadIdx.x;
+ if (detectorU >= dims.iProjU)
+ return;
const int startDetectorV = (blockIdx.x/((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockV;
int endDetectorV = startDetectorV + g_detBlockV;
if (endDetectorV > dims.iProjV)
@@ -251,7 +253,10 @@ __global__ void par3D_FP_SS_t(float* D_projData, unsigned int projPitch,
const float a2 = c.c2(fRayX,fRayY,fRayZ) / c.c0(fRayX,fRayY,fRayZ);
const float fDistCorr = sc.scale(a1, a2);
+
const int detectorU = (blockIdx.x%((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockU + threadIdx.x;
+ if (detectorU >= dims.iProjU)
+ return;
const int startDetectorV = (blockIdx.x/((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockV;
int endDetectorV = startDetectorV + g_detBlockV;
if (endDetectorV > dims.iProjV)
@@ -359,6 +364,8 @@ __global__ void par3D_FP_SumSqW_t(float* D_projData, unsigned int projPitch,
const int detectorU = (blockIdx.x%((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockU + threadIdx.x;
+ if (detectorU >= dims.iProjU)
+ return;
const int startDetectorV = (blockIdx.x/((dims.iProjU+g_detBlockU-1)/g_detBlockU)) * g_detBlockV;
int endDetectorV = startDetectorV + g_detBlockV;
if (endDetectorV > dims.iProjV)
@@ -501,8 +508,8 @@ bool Par3DFP_Array_internal(cudaPitchedPtr D_projData,
dim3 dimGrid(
((dims.iProjU+g_detBlockU-1)/g_detBlockU)*((dims.iProjV+g_detBlockV-1)/g_detBlockV),
(blockEnd-blockStart+g_anglesPerBlock-1)/g_anglesPerBlock);
- // TODO: check if we can't immediately
- // destroy the stream after use
+ // TODO: consider limiting number of handle (chaotic) geoms
+ // with many alternating directions
cudaStream_t stream;
cudaStreamCreate(&stream);
streams.push_back(stream);
@@ -545,17 +552,16 @@ bool Par3DFP_Array_internal(cudaPitchedPtr D_projData,
}
}
- for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter)
- cudaStreamDestroy(*iter);
-
- streams.clear();
-
- cudaTextForceKernelsCompletion();
+ bool ok = true;
+ for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter) {
+ ok &= checkCuda(cudaStreamSynchronize(*iter), "par3d_fp");
+ cudaStreamDestroy(*iter);
+ }
// printf("%f\n", toc(t));
- return true;
+ return ok;
}
bool Par3DFP(cudaPitchedPtr D_volumeData,
@@ -726,17 +732,16 @@ bool Par3DFP_SumSqW(cudaPitchedPtr D_volumeData,
}
}
- for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter)
- cudaStreamDestroy(*iter);
-
- streams.clear();
-
- cudaTextForceKernelsCompletion();
+ bool ok = true;
+ for (std::list<cudaStream_t>::iterator iter = streams.begin(); iter != streams.end(); ++iter) {
+ ok &= checkCuda(cudaStreamSynchronize(*iter), "Par3DFP_SumSqW");
+ cudaStreamDestroy(*iter);
+ }
// printf("%f\n", toc(t));
- return true;
+ return ok;
}
diff --git a/cuda/3d/sirt3d.cu b/cuda/3d/sirt3d.cu
index e68bde8..746a96b 100644
--- a/cuda/3d/sirt3d.cu
+++ b/cuda/3d/sirt3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/cuda/3d/util3d.cu b/cuda/3d/util3d.cu
index 41eb9d2..71b5668 100644
--- a/cuda/3d/util3d.cu
+++ b/cuda/3d/util3d.cu
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -46,12 +46,9 @@ cudaPitchedPtr allocateVolumeData(const SDimensions3D& dims)
cudaPitchedPtr volData;
- cudaError err = cudaMalloc3D(&volData, extentV);
- if (err != cudaSuccess) {
- astraCUDA::reportCudaError(err);
+ if (!checkCuda(cudaMalloc3D(&volData, extentV), "allocateVolumeData 3D")) {
ASTRA_ERROR("Failed to allocate %dx%dx%d GPU buffer", dims.iVolX, dims.iVolY, dims.iVolZ);
volData.ptr = 0;
- // TODO: return 0 somehow?
}
return volData;
@@ -65,12 +62,9 @@ cudaPitchedPtr allocateProjectionData(const SDimensions3D& dims)
cudaPitchedPtr projData;
- cudaError err = cudaMalloc3D(&projData, extentP);
- if (err != cudaSuccess) {
- astraCUDA::reportCudaError(err);
+ if (!checkCuda(cudaMalloc3D(&projData, extentP), "allocateProjectionData 3D")) {
ASTRA_ERROR("Failed to allocate %dx%dx%d GPU buffer", dims.iProjU, dims.iProjAngles, dims.iProjV);
projData.ptr = 0;
- // TODO: return 0 somehow?
}
return projData;
@@ -78,11 +72,11 @@ cudaPitchedPtr allocateProjectionData(const SDimensions3D& dims)
bool zeroVolumeData(cudaPitchedPtr& D_data, const SDimensions3D& dims)
{
char* t = (char*)D_data.ptr;
- cudaError err;
for (unsigned int z = 0; z < dims.iVolZ; ++z) {
- err = cudaMemset2D(t, D_data.pitch, 0, dims.iVolX*sizeof(float), dims.iVolY);
- ASTRA_CUDA_ASSERT(err);
+ if (!checkCuda(cudaMemset2D(t, D_data.pitch, 0, dims.iVolX*sizeof(float), dims.iVolY), "zeroVolumeData 3D")) {
+ return false;
+ }
t += D_data.pitch * dims.iVolY;
}
return true;
@@ -90,11 +84,11 @@ bool zeroVolumeData(cudaPitchedPtr& D_data, const SDimensions3D& dims)
bool zeroProjectionData(cudaPitchedPtr& D_data, const SDimensions3D& dims)
{
char* t = (char*)D_data.ptr;
- cudaError err;
for (unsigned int z = 0; z < dims.iProjV; ++z) {
- err = cudaMemset2D(t, D_data.pitch, 0, dims.iProjU*sizeof(float), dims.iProjAngles);
- ASTRA_CUDA_ASSERT(err);
+ if (!checkCuda(cudaMemset2D(t, D_data.pitch, 0, dims.iProjU*sizeof(float), dims.iProjAngles), "zeroProjectionData 3D")) {
+ return false;
+ }
t += D_data.pitch * dims.iProjAngles;
}
@@ -128,11 +122,7 @@ bool copyVolumeToDevice(const float* data, cudaPitchedPtr& D_data, const SDimens
p.extent = extentV;
p.kind = cudaMemcpyHostToDevice;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyVolumeToDevice 3D");
}
bool copyProjectionsToDevice(const float* data, cudaPitchedPtr& D_data, const SDimensions3D& dims, unsigned int pitch)
@@ -163,11 +153,7 @@ bool copyProjectionsToDevice(const float* data, cudaPitchedPtr& D_data, const SD
p.extent = extentV;
p.kind = cudaMemcpyHostToDevice;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyProjectionsToDevice 3D");
}
bool copyVolumeFromDevice(float* data, const cudaPitchedPtr& D_data, const SDimensions3D& dims, unsigned int pitch)
@@ -198,12 +184,9 @@ bool copyVolumeFromDevice(float* data, const cudaPitchedPtr& D_data, const SDime
p.extent = extentV;
p.kind = cudaMemcpyDeviceToHost;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyVolumeFromDevice 3D");
}
+
bool copyProjectionsFromDevice(float* data, const cudaPitchedPtr& D_data, const SDimensions3D& dims, unsigned int pitch)
{
if (!pitch)
@@ -232,11 +215,7 @@ bool copyProjectionsFromDevice(float* data, const cudaPitchedPtr& D_data, const
p.extent = extentV;
p.kind = cudaMemcpyDeviceToHost;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "copyProjectionsFromDevice 3D");
}
bool duplicateVolumeData(cudaPitchedPtr& D_dst, const cudaPitchedPtr& D_src, const SDimensions3D& dims)
@@ -258,12 +237,9 @@ bool duplicateVolumeData(cudaPitchedPtr& D_dst, const cudaPitchedPtr& D_src, con
p.extent = extentV;
p.kind = cudaMemcpyDeviceToDevice;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "duplicateVolumeData 3D");
}
+
bool duplicateProjectionData(cudaPitchedPtr& D_dst, const cudaPitchedPtr& D_src, const SDimensions3D& dims)
{
cudaExtent extentV;
@@ -283,11 +259,7 @@ bool duplicateProjectionData(cudaPitchedPtr& D_dst, const cudaPitchedPtr& D_src,
p.extent = extentV;
p.kind = cudaMemcpyDeviceToDevice;
- cudaError err;
- err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- return err == cudaSuccess;
+ return checkCuda(cudaMemcpy3D(&p), "duplicateProjectionData 3D");
}
@@ -303,9 +275,8 @@ cudaArray* allocateVolumeArray(const SDimensions3D& dims)
extentA.width = dims.iVolX;
extentA.height = dims.iVolY;
extentA.depth = dims.iVolZ;
- cudaError err = cudaMalloc3DArray(&cuArray, &channelDesc, extentA);
- if (err != cudaSuccess) {
- astraCUDA::reportCudaError(err);
+
+ if (!checkCuda(cudaMalloc3DArray(&cuArray, &channelDesc, extentA), "allocateVolumeArray 3D")) {
ASTRA_ERROR("Failed to allocate %dx%dx%d GPU array", dims.iVolX, dims.iVolY, dims.iVolZ);
return 0;
}
@@ -320,10 +291,8 @@ cudaArray* allocateProjectionArray(const SDimensions3D& dims)
extentA.width = dims.iProjU;
extentA.height = dims.iProjAngles;
extentA.depth = dims.iProjV;
- cudaError err = cudaMalloc3DArray(&cuArray, &channelDesc, extentA);
- if (err != cudaSuccess) {
- astraCUDA::reportCudaError(err);
+ if (!checkCuda(cudaMalloc3DArray(&cuArray, &channelDesc, extentA), "allocateProjectionArray 3D")) {
ASTRA_ERROR("Failed to allocate %dx%dx%d GPU array", dims.iProjU, dims.iProjAngles, dims.iProjV);
return 0;
}
@@ -352,12 +321,9 @@ bool transferVolumeToArray(cudaPitchedPtr D_volumeData, cudaArray* array, const
p.extent = extentA;
p.kind = cudaMemcpyDeviceToDevice;
- cudaError err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
- // TODO: check errors
-
- return true;
+ return checkCuda(cudaMemcpy3D(&p), "transferVolumeToArray 3D");
}
+
bool transferProjectionsToArray(cudaPitchedPtr D_projData, cudaArray* array, const SDimensions3D& dims)
{
cudaExtent extentA;
@@ -379,13 +345,9 @@ bool transferProjectionsToArray(cudaPitchedPtr D_projData, cudaArray* array, con
p.extent = extentA;
p.kind = cudaMemcpyDeviceToDevice;
- cudaError err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- // TODO: check errors
-
- return true;
+ return checkCuda(cudaMemcpy3D(&p), "transferProjectionsToArray 3D");
}
+
bool transferHostProjectionsToArray(const float *projData, cudaArray* array, const SDimensions3D& dims)
{
cudaExtent extentA;
@@ -413,12 +375,7 @@ bool transferHostProjectionsToArray(const float *projData, cudaArray* array, con
p.extent = extentA;
p.kind = cudaMemcpyHostToDevice;
- cudaError err = cudaMemcpy3D(&p);
- ASTRA_CUDA_ASSERT(err);
-
- // TODO: check errors
-
- return true;
+ return checkCuda(cudaMemcpy3D(&p), "transferHostProjectionsToArray 3D");
}
@@ -430,18 +387,6 @@ float dotProduct3D(cudaPitchedPtr data, unsigned int x, unsigned int y,
}
-bool cudaTextForceKernelsCompletion()
-{
- cudaError_t returnedCudaError = cudaThreadSynchronize();
-
- if(returnedCudaError != cudaSuccess) {
- ASTRA_ERROR("Failed to force completion of cuda kernels: %d: %s.", returnedCudaError, cudaGetErrorString(returnedCudaError));
- return false;
- }
-
- return true;
-}
-
int calcNextPowerOfTwo(int _iValue)
{
int iOutput = 1;
diff --git a/include/astra/Algorithm.h b/include/astra/Algorithm.h
index 393baf0..5cd0a14 100644
--- a/include/astra/Algorithm.h
+++ b/include/astra/Algorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/AlgorithmTypelist.h b/include/astra/AlgorithmTypelist.h
index 56c40b6..d86d18b 100644
--- a/include/astra/AlgorithmTypelist.h
+++ b/include/astra/AlgorithmTypelist.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ArtAlgorithm.h b/include/astra/ArtAlgorithm.h
index 85a12bf..f615206 100644
--- a/include/astra/ArtAlgorithm.h
+++ b/include/astra/ArtAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/AstraObjectFactory.h b/include/astra/AstraObjectFactory.h
index 8d31b53..2426da8 100644
--- a/include/astra/AstraObjectFactory.h
+++ b/include/astra/AstraObjectFactory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/AstraObjectManager.h b/include/astra/AstraObjectManager.h
index 81f5725..7a9cb91 100644
--- a/include/astra/AstraObjectManager.h
+++ b/include/astra/AstraObjectManager.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/AsyncAlgorithm.h b/include/astra/AsyncAlgorithm.h
index 6cb84bb..403a323 100644
--- a/include/astra/AsyncAlgorithm.h
+++ b/include/astra/AsyncAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/BackProjectionAlgorithm.h b/include/astra/BackProjectionAlgorithm.h
index 1b2807c..8df5e00 100644
--- a/include/astra/BackProjectionAlgorithm.h
+++ b/include/astra/BackProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CglsAlgorithm.h b/include/astra/CglsAlgorithm.h
index 79d8aa6..149a54e 100644
--- a/include/astra/CglsAlgorithm.h
+++ b/include/astra/CglsAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h
index c07c981..f7c5040 100644
--- a/include/astra/CompositeGeometryManager.h
+++ b/include/astra/CompositeGeometryManager.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ConeProjectionGeometry3D.h b/include/astra/ConeProjectionGeometry3D.h
index cbb7a2b..8e811ea 100644
--- a/include/astra/ConeProjectionGeometry3D.h
+++ b/include/astra/ConeProjectionGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -188,12 +188,6 @@ public:
virtual void projectPoint(double fX, double fY, double fZ,
int iAngleIndex,
double &fU, double &fV) const;
- virtual void backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const;
- virtual void backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const;
- virtual void backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const;
};
diff --git a/include/astra/ConeVecProjectionGeometry3D.h b/include/astra/ConeVecProjectionGeometry3D.h
index 252e32c..924b89b 100644
--- a/include/astra/ConeVecProjectionGeometry3D.h
+++ b/include/astra/ConeVecProjectionGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -150,12 +150,6 @@ public:
virtual void projectPoint(double fX, double fY, double fZ,
int iAngleIndex,
double &fU, double &fV) const;
- virtual void backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const;
- virtual void backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const;
- virtual void backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const;
protected:
virtual bool initializeAngles(const Config& _cfg);
diff --git a/include/astra/Config.h b/include/astra/Config.h
index c801ee9..625bd88 100644
--- a/include/astra/Config.h
+++ b/include/astra/Config.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaBackProjectionAlgorithm.h b/include/astra/CudaBackProjectionAlgorithm.h
index aa96008..5af47ad 100644
--- a/include/astra/CudaBackProjectionAlgorithm.h
+++ b/include/astra/CudaBackProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaBackProjectionAlgorithm3D.h b/include/astra/CudaBackProjectionAlgorithm3D.h
index 743d20a..cfb1804 100644
--- a/include/astra/CudaBackProjectionAlgorithm3D.h
+++ b/include/astra/CudaBackProjectionAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaCglsAlgorithm.h b/include/astra/CudaCglsAlgorithm.h
index 3570df2..dbdb17d 100644
--- a/include/astra/CudaCglsAlgorithm.h
+++ b/include/astra/CudaCglsAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaCglsAlgorithm3D.h b/include/astra/CudaCglsAlgorithm3D.h
index 63f028a..a843028 100644
--- a/include/astra/CudaCglsAlgorithm3D.h
+++ b/include/astra/CudaCglsAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaDartMaskAlgorithm.h b/include/astra/CudaDartMaskAlgorithm.h
index 8b69f08..bd2468e 100644
--- a/include/astra/CudaDartMaskAlgorithm.h
+++ b/include/astra/CudaDartMaskAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaDartMaskAlgorithm3D.h b/include/astra/CudaDartMaskAlgorithm3D.h
index 7b3889e..37f639e 100644
--- a/include/astra/CudaDartMaskAlgorithm3D.h
+++ b/include/astra/CudaDartMaskAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaDartSmoothingAlgorithm.h b/include/astra/CudaDartSmoothingAlgorithm.h
index c0e7aef..358d018 100644
--- a/include/astra/CudaDartSmoothingAlgorithm.h
+++ b/include/astra/CudaDartSmoothingAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaDartSmoothingAlgorithm3D.h b/include/astra/CudaDartSmoothingAlgorithm3D.h
index 793a0c1..68cc6a8 100644
--- a/include/astra/CudaDartSmoothingAlgorithm3D.h
+++ b/include/astra/CudaDartSmoothingAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaDataOperationAlgorithm.h b/include/astra/CudaDataOperationAlgorithm.h
index c7795bc..d434a60 100644
--- a/include/astra/CudaDataOperationAlgorithm.h
+++ b/include/astra/CudaDataOperationAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaEMAlgorithm.h b/include/astra/CudaEMAlgorithm.h
index 4a4ac4f..b7ea8f5 100644
--- a/include/astra/CudaEMAlgorithm.h
+++ b/include/astra/CudaEMAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaFDKAlgorithm3D.h b/include/astra/CudaFDKAlgorithm3D.h
index 788de69..f2ff5bb 100644
--- a/include/astra/CudaFDKAlgorithm3D.h
+++ b/include/astra/CudaFDKAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaFilteredBackProjectionAlgorithm.h b/include/astra/CudaFilteredBackProjectionAlgorithm.h
index 8ef5a57..a27d610 100644
--- a/include/astra/CudaFilteredBackProjectionAlgorithm.h
+++ b/include/astra/CudaFilteredBackProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaForwardProjectionAlgorithm.h b/include/astra/CudaForwardProjectionAlgorithm.h
index 005b856..62d8d2e 100644
--- a/include/astra/CudaForwardProjectionAlgorithm.h
+++ b/include/astra/CudaForwardProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaForwardProjectionAlgorithm3D.h b/include/astra/CudaForwardProjectionAlgorithm3D.h
index 4abc7ba..fcefad3 100644
--- a/include/astra/CudaForwardProjectionAlgorithm3D.h
+++ b/include/astra/CudaForwardProjectionAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaProjector2D.h b/include/astra/CudaProjector2D.h
index 8f61064..928c5d7 100644
--- a/include/astra/CudaProjector2D.h
+++ b/include/astra/CudaProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaProjector3D.h b/include/astra/CudaProjector3D.h
index 9b4ff1f..b4b6422 100644
--- a/include/astra/CudaProjector3D.h
+++ b/include/astra/CudaProjector3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaReconstructionAlgorithm2D.h b/include/astra/CudaReconstructionAlgorithm2D.h
index 56f3b25..35bcf98 100644
--- a/include/astra/CudaReconstructionAlgorithm2D.h
+++ b/include/astra/CudaReconstructionAlgorithm2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaRoiSelectAlgorithm.h b/include/astra/CudaRoiSelectAlgorithm.h
index 69a02c6..0eb938d 100644
--- a/include/astra/CudaRoiSelectAlgorithm.h
+++ b/include/astra/CudaRoiSelectAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaSartAlgorithm.h b/include/astra/CudaSartAlgorithm.h
index ef5a2c5..efd617e 100644
--- a/include/astra/CudaSartAlgorithm.h
+++ b/include/astra/CudaSartAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaSirtAlgorithm.h b/include/astra/CudaSirtAlgorithm.h
index 2098525..53f2bdc 100644
--- a/include/astra/CudaSirtAlgorithm.h
+++ b/include/astra/CudaSirtAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/CudaSirtAlgorithm3D.h b/include/astra/CudaSirtAlgorithm3D.h
index dd3f749..ec05d97 100644
--- a/include/astra/CudaSirtAlgorithm3D.h
+++ b/include/astra/CudaSirtAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/DataProjector.h b/include/astra/DataProjector.h
index 15a540f..463fc91 100644
--- a/include/astra/DataProjector.h
+++ b/include/astra/DataProjector.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/DataProjectorPolicies.h b/include/astra/DataProjectorPolicies.h
index 695862c..e0267b9 100644
--- a/include/astra/DataProjectorPolicies.h
+++ b/include/astra/DataProjectorPolicies.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/DataProjectorPolicies.inl b/include/astra/DataProjectorPolicies.inl
index ad7c035..872ac45 100644
--- a/include/astra/DataProjectorPolicies.inl
+++ b/include/astra/DataProjectorPolicies.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.h b/include/astra/FanFlatBeamLineKernelProjector2D.h
index 4492bdf..817be8e 100644
--- a/include/astra/FanFlatBeamLineKernelProjector2D.h
+++ b/include/astra/FanFlatBeamLineKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.inl b/include/astra/FanFlatBeamLineKernelProjector2D.inl
index 8f2e673..d9643d4 100644
--- a/include/astra/FanFlatBeamLineKernelProjector2D.inl
+++ b/include/astra/FanFlatBeamLineKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatBeamStripKernelProjector2D.h b/include/astra/FanFlatBeamStripKernelProjector2D.h
index 4942f6c..6bdf25f 100644
--- a/include/astra/FanFlatBeamStripKernelProjector2D.h
+++ b/include/astra/FanFlatBeamStripKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatBeamStripKernelProjector2D.inl b/include/astra/FanFlatBeamStripKernelProjector2D.inl
index f5a688c..67d7725 100644
--- a/include/astra/FanFlatBeamStripKernelProjector2D.inl
+++ b/include/astra/FanFlatBeamStripKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatProjectionGeometry2D.h b/include/astra/FanFlatProjectionGeometry2D.h
index 7a4e179..7825786 100644
--- a/include/astra/FanFlatProjectionGeometry2D.h
+++ b/include/astra/FanFlatProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/FanFlatVecProjectionGeometry2D.h b/include/astra/FanFlatVecProjectionGeometry2D.h
index fe4253f..d3c6075 100644
--- a/include/astra/FanFlatVecProjectionGeometry2D.h
+++ b/include/astra/FanFlatVecProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Features.h b/include/astra/Features.h
index c7ef98c..aca51c4 100644
--- a/include/astra/Features.h
+++ b/include/astra/Features.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -55,6 +55,10 @@ fan_cone_BP_density_weighting_by_default
weighting by default to more closely approximate the true mathematical adjoint.
The DensityWeighting cuda3d projector option is removed.
+unpadded_GPULink
+ This is set since FP3D no longer silently fails with GPULink memory
+ that is not padded to a multiple of 32 pixels
+
For future backward-incompatible changes, extra features will be added here
diff --git a/include/astra/FilteredBackProjectionAlgorithm.h b/include/astra/FilteredBackProjectionAlgorithm.h
index a234845..f4b52f7 100644
--- a/include/astra/FilteredBackProjectionAlgorithm.h
+++ b/include/astra/FilteredBackProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Filters.h b/include/astra/Filters.h
index 2e229b9..b9af9c0 100644
--- a/include/astra/Filters.h
+++ b/include/astra/Filters.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32Data.h b/include/astra/Float32Data.h
index 811518b..b8487c3 100644
--- a/include/astra/Float32Data.h
+++ b/include/astra/Float32Data.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32Data2D.h b/include/astra/Float32Data2D.h
index bcc03e4..889c916 100644
--- a/include/astra/Float32Data2D.h
+++ b/include/astra/Float32Data2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32Data3D.h b/include/astra/Float32Data3D.h
index 1bdddc6..3331021 100644
--- a/include/astra/Float32Data3D.h
+++ b/include/astra/Float32Data3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32Data3DGPU.h b/include/astra/Float32Data3DGPU.h
index b2cdcda..e21f93b 100644
--- a/include/astra/Float32Data3DGPU.h
+++ b/include/astra/Float32Data3DGPU.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32Data3DMemory.h b/include/astra/Float32Data3DMemory.h
index f9456d0..ef0b69a 100644
--- a/include/astra/Float32Data3DMemory.h
+++ b/include/astra/Float32Data3DMemory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32ProjectionData2D.h b/include/astra/Float32ProjectionData2D.h
index ee4aebe..f001089 100644
--- a/include/astra/Float32ProjectionData2D.h
+++ b/include/astra/Float32ProjectionData2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32ProjectionData3D.h b/include/astra/Float32ProjectionData3D.h
index 1040f89..a82c346 100644
--- a/include/astra/Float32ProjectionData3D.h
+++ b/include/astra/Float32ProjectionData3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32ProjectionData3DGPU.h b/include/astra/Float32ProjectionData3DGPU.h
index 3b40935..f6193cc 100644
--- a/include/astra/Float32ProjectionData3DGPU.h
+++ b/include/astra/Float32ProjectionData3DGPU.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32ProjectionData3DMemory.h b/include/astra/Float32ProjectionData3DMemory.h
index c94ebf3..254e699 100644
--- a/include/astra/Float32ProjectionData3DMemory.h
+++ b/include/astra/Float32ProjectionData3DMemory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32VolumeData2D.h b/include/astra/Float32VolumeData2D.h
index abd29df..61bc7bf 100644
--- a/include/astra/Float32VolumeData2D.h
+++ b/include/astra/Float32VolumeData2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32VolumeData3D.h b/include/astra/Float32VolumeData3D.h
index a1cbb1c..3a23147 100644
--- a/include/astra/Float32VolumeData3D.h
+++ b/include/astra/Float32VolumeData3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32VolumeData3DGPU.h b/include/astra/Float32VolumeData3DGPU.h
index db203ee..5dc9d4e 100644
--- a/include/astra/Float32VolumeData3DGPU.h
+++ b/include/astra/Float32VolumeData3DGPU.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Float32VolumeData3DMemory.h b/include/astra/Float32VolumeData3DMemory.h
index b1e6ff2..92d03a5 100644
--- a/include/astra/Float32VolumeData3DMemory.h
+++ b/include/astra/Float32VolumeData3DMemory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ForwardProjectionAlgorithm.h b/include/astra/ForwardProjectionAlgorithm.h
index af02440..f33693b 100644
--- a/include/astra/ForwardProjectionAlgorithm.h
+++ b/include/astra/ForwardProjectionAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Fourier.h b/include/astra/Fourier.h
index 2b6f41a..c33ed73 100644
--- a/include/astra/Fourier.h
+++ b/include/astra/Fourier.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/GeometryUtil2D.h b/include/astra/GeometryUtil2D.h
index c3ce508..3d3af94 100644
--- a/include/astra/GeometryUtil2D.h
+++ b/include/astra/GeometryUtil2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/GeometryUtil3D.h b/include/astra/GeometryUtil3D.h
index e025d89..8c2b9d6 100644
--- a/include/astra/GeometryUtil3D.h
+++ b/include/astra/GeometryUtil3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Globals.h b/include/astra/Globals.h
index 3eed113..cdd7cbd 100644
--- a/include/astra/Globals.h
+++ b/include/astra/Globals.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -57,10 +57,10 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
//----------------------------------------------------------------------------------------
// macro's
-#define ASTRA_TOOLBOXVERSION_MAJOR 1
-#define ASTRA_TOOLBOXVERSION_MINOR 9
+#define ASTRA_TOOLBOXVERSION_MAJOR 2
+#define ASTRA_TOOLBOXVERSION_MINOR 0
#define ASTRA_TOOLBOXVERSION ((ASTRA_TOOLBOXVERSION_MAJOR)*100 + (ASTRA_TOOLBOXVERSION_MINOR))
-#define ASTRA_TOOLBOXVERSION_STRING "1.9.9dev"
+#define ASTRA_TOOLBOXVERSION_STRING "2.0.0"
#define ASTRA_ASSERT(a) assert(a)
@@ -159,11 +159,11 @@ namespace astra {
* abort signal has arrived, or NULL to disable. Intended to be used by the
* matlab/python interfaces to check if Ctrl-C has been pressed.
*/
-void setShouldAbortHook(bool (*pShouldAbortHook)(void));
+_AstraExport void setShouldAbortHook(bool (*pShouldAbortHook)(void));
/** Check if we should abort execution (due to an external signal).
*/
-bool shouldAbort();
+_AstraExport bool shouldAbort();
}
//----------------------------------------------------------------------------------------
diff --git a/include/astra/Logging.h b/include/astra/Logging.h
index 0150e26..4970a37 100644
--- a/include/astra/Logging.h
+++ b/include/astra/Logging.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamBlobKernelProjector2D.h b/include/astra/ParallelBeamBlobKernelProjector2D.h
index ffae707..68c697d 100644
--- a/include/astra/ParallelBeamBlobKernelProjector2D.h
+++ b/include/astra/ParallelBeamBlobKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamBlobKernelProjector2D.inl b/include/astra/ParallelBeamBlobKernelProjector2D.inl
index 8c127ff..d858c43 100644
--- a/include/astra/ParallelBeamBlobKernelProjector2D.inl
+++ b/include/astra/ParallelBeamBlobKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamDistanceDrivenProjector2D.h b/include/astra/ParallelBeamDistanceDrivenProjector2D.h
index 6d1d633..6192e4d 100644
--- a/include/astra/ParallelBeamDistanceDrivenProjector2D.h
+++ b/include/astra/ParallelBeamDistanceDrivenProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamDistanceDrivenProjector2D.inl b/include/astra/ParallelBeamDistanceDrivenProjector2D.inl
index 3a18c6f..2d474dd 100644
--- a/include/astra/ParallelBeamDistanceDrivenProjector2D.inl
+++ b/include/astra/ParallelBeamDistanceDrivenProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamLineKernelProjector2D.h b/include/astra/ParallelBeamLineKernelProjector2D.h
index 4238919..d4408da 100644
--- a/include/astra/ParallelBeamLineKernelProjector2D.h
+++ b/include/astra/ParallelBeamLineKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamLineKernelProjector2D.inl b/include/astra/ParallelBeamLineKernelProjector2D.inl
index 903ebb6..dbf22c1 100644
--- a/include/astra/ParallelBeamLineKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLineKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.h b/include/astra/ParallelBeamLinearKernelProjector2D.h
index 67d940e..3486c22 100644
--- a/include/astra/ParallelBeamLinearKernelProjector2D.h
+++ b/include/astra/ParallelBeamLinearKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.inl b/include/astra/ParallelBeamLinearKernelProjector2D.inl
index 53451e5..c874948 100644
--- a/include/astra/ParallelBeamLinearKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLinearKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamStripKernelProjector2D.h b/include/astra/ParallelBeamStripKernelProjector2D.h
index 597f8dc..b50a13f 100644
--- a/include/astra/ParallelBeamStripKernelProjector2D.h
+++ b/include/astra/ParallelBeamStripKernelProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelBeamStripKernelProjector2D.inl b/include/astra/ParallelBeamStripKernelProjector2D.inl
index 2031560..21a76f8 100644
--- a/include/astra/ParallelBeamStripKernelProjector2D.inl
+++ b/include/astra/ParallelBeamStripKernelProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelProjectionGeometry2D.h b/include/astra/ParallelProjectionGeometry2D.h
index e45aaae..d26c658 100644
--- a/include/astra/ParallelProjectionGeometry2D.h
+++ b/include/astra/ParallelProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelProjectionGeometry3D.h b/include/astra/ParallelProjectionGeometry3D.h
index aaa6038..998decc 100644
--- a/include/astra/ParallelProjectionGeometry3D.h
+++ b/include/astra/ParallelProjectionGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -149,13 +149,6 @@ public:
virtual void projectPoint(double fX, double fY, double fZ,
int iAngleIndex,
double &fU, double &fV) const;
- virtual void backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const;
- virtual void backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const;
- virtual void backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const;
-
/**
* Creates (= allocates) a 2D projection geometry used when projecting one slice using a 2D projector
diff --git a/include/astra/ParallelVecProjectionGeometry2D.h b/include/astra/ParallelVecProjectionGeometry2D.h
index e99fb35..70e1846 100644
--- a/include/astra/ParallelVecProjectionGeometry2D.h
+++ b/include/astra/ParallelVecProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ParallelVecProjectionGeometry3D.h b/include/astra/ParallelVecProjectionGeometry3D.h
index 04418a0..a937c17 100644
--- a/include/astra/ParallelVecProjectionGeometry3D.h
+++ b/include/astra/ParallelVecProjectionGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -151,12 +151,6 @@ public:
virtual void projectPoint(double fX, double fY, double fZ,
int iAngleIndex,
double &fU, double &fV) const;
- virtual void backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const;
- virtual void backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const;
- virtual void backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const;
protected:
virtual bool initializeAngles(const Config& _cfg);
diff --git a/include/astra/PlatformDepSystemCode.h b/include/astra/PlatformDepSystemCode.h
index 1fc04c0..fff7262 100644
--- a/include/astra/PlatformDepSystemCode.h
+++ b/include/astra/PlatformDepSystemCode.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/PluginAlgorithmFactory.h b/include/astra/PluginAlgorithmFactory.h
index afaaf05..e16bdc8 100644
--- a/include/astra/PluginAlgorithmFactory.h
+++ b/include/astra/PluginAlgorithmFactory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ProjectionGeometry2D.h b/include/astra/ProjectionGeometry2D.h
index 66cc8ad..8a5af0e 100644
--- a/include/astra/ProjectionGeometry2D.h
+++ b/include/astra/ProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ProjectionGeometry3D.h b/include/astra/ProjectionGeometry3D.h
index 11545ea..2cff9f1 100644
--- a/include/astra/ProjectionGeometry3D.h
+++ b/include/astra/ProjectionGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -320,21 +320,6 @@ public:
int iAngleIndex,
double &fU, double &fV) const = 0;
- /* Backproject a point onto a plane parallel to a coordinate plane.
- * The 2D point coordinates are the (unrounded) indices of the detector
- * column and row. The output is in 3D coordinates in units.
- * are in units. The output fU,fV are the (unrounded) indices of the
- * detector column and row.
- * This may fall outside of the actual detector.
- */
- virtual void backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const = 0;
- virtual void backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const = 0;
- virtual void backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const = 0;
-
-
/** Returns true if the type of geometry defined in this class is the one specified in _sType.
*
* @param _sType geometry type to compare to.
diff --git a/include/astra/Projector2D.h b/include/astra/Projector2D.h
index 9d9130f..128b682 100644
--- a/include/astra/Projector2D.h
+++ b/include/astra/Projector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Projector2DImpl.inl b/include/astra/Projector2DImpl.inl
index 1308141..d65dc07 100644
--- a/include/astra/Projector2DImpl.inl
+++ b/include/astra/Projector2DImpl.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Projector3D.h b/include/astra/Projector3D.h
index e10a42f..6fe9736 100644
--- a/include/astra/Projector3D.h
+++ b/include/astra/Projector3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ProjectorTypelist.h b/include/astra/ProjectorTypelist.h
index 063693d..7df0c21 100644
--- a/include/astra/ProjectorTypelist.h
+++ b/include/astra/ProjectorTypelist.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ReconstructionAlgorithm2D.h b/include/astra/ReconstructionAlgorithm2D.h
index 2204550..9b34e9a 100644
--- a/include/astra/ReconstructionAlgorithm2D.h
+++ b/include/astra/ReconstructionAlgorithm2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/ReconstructionAlgorithm3D.h b/include/astra/ReconstructionAlgorithm3D.h
index 1c63c88..f093fc4 100644
--- a/include/astra/ReconstructionAlgorithm3D.h
+++ b/include/astra/ReconstructionAlgorithm3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SartAlgorithm.h b/include/astra/SartAlgorithm.h
index bb50fd8..37dbefc 100644
--- a/include/astra/SartAlgorithm.h
+++ b/include/astra/SartAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Singleton.h b/include/astra/Singleton.h
index eb5594c..0d7bad0 100644
--- a/include/astra/Singleton.h
+++ b/include/astra/Singleton.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SirtAlgorithm.h b/include/astra/SirtAlgorithm.h
index 8d547b3..45bffae 100644
--- a/include/astra/SirtAlgorithm.h
+++ b/include/astra/SirtAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SparseMatrix.h b/include/astra/SparseMatrix.h
index a26dc67..acad42e 100644
--- a/include/astra/SparseMatrix.h
+++ b/include/astra/SparseMatrix.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SparseMatrixProjectionGeometry2D.h b/include/astra/SparseMatrixProjectionGeometry2D.h
index be2af22..dcc7e1d 100644
--- a/include/astra/SparseMatrixProjectionGeometry2D.h
+++ b/include/astra/SparseMatrixProjectionGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SparseMatrixProjector2D.h b/include/astra/SparseMatrixProjector2D.h
index 1fc44c5..d93eafd 100644
--- a/include/astra/SparseMatrixProjector2D.h
+++ b/include/astra/SparseMatrixProjector2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/SparseMatrixProjector2D.inl b/include/astra/SparseMatrixProjector2D.inl
index e8ae981..9b88fa5 100644
--- a/include/astra/SparseMatrixProjector2D.inl
+++ b/include/astra/SparseMatrixProjector2D.inl
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/TypeList.h b/include/astra/TypeList.h
index 88fae7a..516b3d5 100644
--- a/include/astra/TypeList.h
+++ b/include/astra/TypeList.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Utilities.h b/include/astra/Utilities.h
index e830c5d..1653f69 100644
--- a/include/astra/Utilities.h
+++ b/include/astra/Utilities.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/Vector3D.h b/include/astra/Vector3D.h
index 3973265..90a6906 100644
--- a/include/astra/Vector3D.h
+++ b/include/astra/Vector3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/VolumeGeometry2D.h b/include/astra/VolumeGeometry2D.h
index 5a35dab..c20d924 100644
--- a/include/astra/VolumeGeometry2D.h
+++ b/include/astra/VolumeGeometry2D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/VolumeGeometry3D.h b/include/astra/VolumeGeometry3D.h
index 098baf4..e517489 100644
--- a/include/astra/VolumeGeometry3D.h
+++ b/include/astra/VolumeGeometry3D.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/XMLDocument.h b/include/astra/XMLDocument.h
index ca2c1a9..ff5a2a7 100644
--- a/include/astra/XMLDocument.h
+++ b/include/astra/XMLDocument.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/XMLNode.h b/include/astra/XMLNode.h
index 00c5c5d..b17b0a9 100644
--- a/include/astra/XMLNode.h
+++ b/include/astra/XMLNode.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/algo.h b/include/astra/cuda/2d/algo.h
index b670b8b..afc0517 100644
--- a/include/astra/cuda/2d/algo.h
+++ b/include/astra/cuda/2d/algo.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/arith.h b/include/astra/cuda/2d/arith.h
index e18bb1b..d780b98 100644
--- a/include/astra/cuda/2d/arith.h
+++ b/include/astra/cuda/2d/arith.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/astra.h b/include/astra/cuda/2d/astra.h
index a2f2219..c936b0b 100644
--- a/include/astra/cuda/2d/astra.h
+++ b/include/astra/cuda/2d/astra.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/cgls.h b/include/astra/cuda/2d/cgls.h
index a854a74..15592c8 100644
--- a/include/astra/cuda/2d/cgls.h
+++ b/include/astra/cuda/2d/cgls.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/darthelper.h b/include/astra/cuda/2d/darthelper.h
index 3c2f83c..31017fd 100644
--- a/include/astra/cuda/2d/darthelper.h
+++ b/include/astra/cuda/2d/darthelper.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -25,8 +25,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
*/
-#ifndef _CUDA_ARITH2_H
-#define _CUDA_ARITH2_H
+#ifndef _CUDA_DARTHELPER_H
+#define _CUDA_DARTHELPER_H
#include "astra/Globals.h"
diff --git a/include/astra/cuda/2d/dims.h b/include/astra/cuda/2d/dims.h
index 0bdefa9..9fab53b 100644
--- a/include/astra/cuda/2d/dims.h
+++ b/include/astra/cuda/2d/dims.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/em.h b/include/astra/cuda/2d/em.h
index 3ffe01b..6eb3525 100644
--- a/include/astra/cuda/2d/em.h
+++ b/include/astra/cuda/2d/em.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/fan_bp.h b/include/astra/cuda/2d/fan_bp.h
index 22349b0..5384d19 100644
--- a/include/astra/cuda/2d/fan_bp.h
+++ b/include/astra/cuda/2d/fan_bp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/fan_fp.h b/include/astra/cuda/2d/fan_fp.h
index 3e8f1e4..c9d5065 100644
--- a/include/astra/cuda/2d/fan_fp.h
+++ b/include/astra/cuda/2d/fan_fp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/fbp.h b/include/astra/cuda/2d/fbp.h
index 3aa4741..6f4f6dc 100644
--- a/include/astra/cuda/2d/fbp.h
+++ b/include/astra/cuda/2d/fbp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/fft.h b/include/astra/cuda/2d/fft.h
index f77cbde..1283618 100644
--- a/include/astra/cuda/2d/fft.h
+++ b/include/astra/cuda/2d/fft.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -25,8 +25,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
*/
-#ifndef FFT_H
-#define FFT_H
+#ifndef _CUDA_FFT_H
+#define _CUDA_FFT_H
#include <cufft.h>
#include <cuda.h>
diff --git a/include/astra/cuda/2d/par_bp.h b/include/astra/cuda/2d/par_bp.h
index c8dfab8..d3d7c20 100644
--- a/include/astra/cuda/2d/par_bp.h
+++ b/include/astra/cuda/2d/par_bp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/par_fp.h b/include/astra/cuda/2d/par_fp.h
index 62277a1..7e009bd 100644
--- a/include/astra/cuda/2d/par_fp.h
+++ b/include/astra/cuda/2d/par_fp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/sart.h b/include/astra/cuda/2d/sart.h
index 6c0e547..2031c3a 100644
--- a/include/astra/cuda/2d/sart.h
+++ b/include/astra/cuda/2d/sart.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/sirt.h b/include/astra/cuda/2d/sirt.h
index 434a07c..cc31c1e 100644
--- a/include/astra/cuda/2d/sirt.h
+++ b/include/astra/cuda/2d/sirt.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/2d/util.h b/include/astra/cuda/2d/util.h
index 70e7c86..0fab9b1 100644
--- a/include/astra/cuda/2d/util.h
+++ b/include/astra/cuda/2d/util.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -40,9 +40,6 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#define M_PI 3.14159265358979323846
#endif
-#define ASTRA_CUDA_ASSERT(err) do { if (err != cudaSuccess) { astraCUDA::reportCudaError(err); assert(err == cudaSuccess); } } while(0)
-
-
namespace astraCUDA {
bool copyVolumeToDevice(const float* in_data, unsigned int in_pitch,
@@ -59,22 +56,17 @@ bool copySinogramToDevice(const float* in_data, unsigned int in_pitch,
float* outD_data, unsigned int out_pitch);
bool allocateVolume(float*& D_ptr, unsigned int width, unsigned int height, unsigned int& pitch);
-void zeroVolume(float* D_data, unsigned int pitch, unsigned int width, unsigned int height);
+bool zeroVolume(float* D_data, unsigned int pitch, unsigned int width, unsigned int height);
bool allocateVolumeData(float*& D_ptr, unsigned int& pitch, const SDimensions& dims);
bool allocateProjectionData(float*& D_ptr, unsigned int& pitch, const SDimensions& dims);
-void zeroVolumeData(float* D_ptr, unsigned int pitch, const SDimensions& dims);
-void zeroProjectionData(float* D_ptr, unsigned int pitch, const SDimensions& dims);
+bool zeroVolumeData(float* D_ptr, unsigned int pitch, const SDimensions& dims);
+bool zeroProjectionData(float* D_ptr, unsigned int pitch, const SDimensions& dims);
void duplicateVolumeData(float* D_dst, float* D_src, unsigned int pitch, const SDimensions& dims);
void duplicateProjectionData(float* D_dst, float* D_src, unsigned int pitch, const SDimensions& dims);
-
-
-bool cudaTextForceKernelsCompletion();
-void reportCudaError(cudaError_t err);
-
-
+bool checkCuda(cudaError_t err, const char *msg);
float dotProduct2D(float* D_data, unsigned int pitch,
unsigned int width, unsigned int height);
diff --git a/include/astra/cuda/3d/algo3d.h b/include/astra/cuda/3d/algo3d.h
index b6b1db7..42ed782 100644
--- a/include/astra/cuda/3d/algo3d.h
+++ b/include/astra/cuda/3d/algo3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -25,8 +25,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
*/
-#ifndef _CUDA_ALGO_H
-#define _CUDA_ALGO_H
+#ifndef _CUDA_ALGO3D_H
+#define _CUDA_ALGO3D_H
#include "dims3d.h"
#include "util3d.h"
diff --git a/include/astra/cuda/3d/arith3d.h b/include/astra/cuda/3d/arith3d.h
index fa9f3a1..74c3c0e 100644
--- a/include/astra/cuda/3d/arith3d.h
+++ b/include/astra/cuda/3d/arith3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/astra3d.h b/include/astra/cuda/3d/astra3d.h
index a97efd6..bfbed71 100644
--- a/include/astra/cuda/3d/astra3d.h
+++ b/include/astra/cuda/3d/astra3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/cgls3d.h b/include/astra/cuda/3d/cgls3d.h
index b9b9e3a..a6a88ba 100644
--- a/include/astra/cuda/3d/cgls3d.h
+++ b/include/astra/cuda/3d/cgls3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/cone_bp.h b/include/astra/cuda/3d/cone_bp.h
index 6dcadb1..812ed15 100644
--- a/include/astra/cuda/3d/cone_bp.h
+++ b/include/astra/cuda/3d/cone_bp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/cone_fp.h b/include/astra/cuda/3d/cone_fp.h
index 4da72d4..43f9abe 100644
--- a/include/astra/cuda/3d/cone_fp.h
+++ b/include/astra/cuda/3d/cone_fp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/darthelper3d.h b/include/astra/cuda/3d/darthelper3d.h
index 385e48e..bf48a42 100644
--- a/include/astra/cuda/3d/darthelper3d.h
+++ b/include/astra/cuda/3d/darthelper3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/dims3d.h b/include/astra/cuda/3d/dims3d.h
index ef4ea78..a814345 100644
--- a/include/astra/cuda/3d/dims3d.h
+++ b/include/astra/cuda/3d/dims3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -25,8 +25,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
*/
-#ifndef _CUDA_CONE_DIMS_H
-#define _CUDA_CONE_DIMS_H
+#ifndef _CUDA_DIMS3D_H
+#define _CUDA_DIMS3D_H
#include "astra/GeometryUtil3D.h"
diff --git a/include/astra/cuda/3d/fdk.h b/include/astra/cuda/3d/fdk.h
index 6817154..e940420 100644
--- a/include/astra/cuda/3d/fdk.h
+++ b/include/astra/cuda/3d/fdk.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/mem3d.h b/include/astra/cuda/3d/mem3d.h
index fff1490..d998150 100644
--- a/include/astra/cuda/3d/mem3d.h
+++ b/include/astra/cuda/3d/mem3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/par3d_bp.h b/include/astra/cuda/3d/par3d_bp.h
index b4ec6a3..97c3cfb 100644
--- a/include/astra/cuda/3d/par3d_bp.h
+++ b/include/astra/cuda/3d/par3d_bp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/par3d_fp.h b/include/astra/cuda/3d/par3d_fp.h
index 18f5f2e..0746ec8 100644
--- a/include/astra/cuda/3d/par3d_fp.h
+++ b/include/astra/cuda/3d/par3d_fp.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/sirt3d.h b/include/astra/cuda/3d/sirt3d.h
index 7c9a7c0..d51db6f 100644
--- a/include/astra/cuda/3d/sirt3d.h
+++ b/include/astra/cuda/3d/sirt3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/include/astra/cuda/3d/util3d.h b/include/astra/cuda/3d/util3d.h
index 200abfc..9fa254d 100644
--- a/include/astra/cuda/3d/util3d.h
+++ b/include/astra/cuda/3d/util3d.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -38,6 +38,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
namespace astraCUDA3d {
+using astraCUDA::checkCuda;
+
cudaPitchedPtr allocateVolumeData(const SDimensions3D& dims);
cudaPitchedPtr allocateProjectionData(const SDimensions3D& dims);
bool zeroVolumeData(cudaPitchedPtr& D_data, const SDimensions3D& dims);
@@ -58,8 +60,6 @@ bool zeroVolumeArray(cudaArray* array, const SDimensions3D& dims);
cudaArray* allocateProjectionArray(const SDimensions3D& dims);
cudaArray* allocateVolumeArray(const SDimensions3D& dims);
-bool cudaTextForceKernelsCompletion();
-
float dotProduct3D(cudaPitchedPtr data, unsigned int x, unsigned int y, unsigned int z);
int calcNextPowerOfTwo(int _iValue);
@@ -78,6 +78,9 @@ struct Vec3 {
Vec3 operator-() const {
return Vec3(-x, -y, -z);
}
+ Vec3 operator*(double s) {
+ return Vec3(s*x, s*y, s*z);
+ }
double norm() const {
return sqrt(x*x + y*y + z*z);
}
diff --git a/matlab/algorithms/DART/DARTalgorithm.m b/matlab/algorithms/DART/DARTalgorithm.m
index ef5d880..f203bbe 100644
--- a/matlab/algorithms/DART/DARTalgorithm.m
+++ b/matlab/algorithms/DART/DARTalgorithm.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 3b93b27..b91d8e8 100644
--- a/matlab/algorithms/DART/IterativeTomography.m
+++ b/matlab/algorithms/DART/IterativeTomography.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/algorithms/DART/IterativeTomography3D.m b/matlab/algorithms/DART/IterativeTomography3D.m
index b2bf57d..f9934bf 100644
--- a/matlab/algorithms/DART/IterativeTomography3D.m
+++ b/matlab/algorithms/DART/IterativeTomography3D.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 0db08a0..9af4fb5 100644
--- a/matlab/algorithms/DART/Kernels.m
+++ b/matlab/algorithms/DART/Kernels.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 73e0f51..a61233f 100644
--- a/matlab/algorithms/DART/MaskingDefault.m
+++ b/matlab/algorithms/DART/MaskingDefault.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 b344dfd..749791c 100644
--- a/matlab/algorithms/DART/MaskingGPU.m
+++ b/matlab/algorithms/DART/MaskingGPU.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 2e337f8..46a48cd 100644
--- a/matlab/algorithms/DART/OutputDefault.m
+++ b/matlab/algorithms/DART/OutputDefault.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 21c2c7b..d352971 100644
--- a/matlab/algorithms/DART/SegmentationDefault.m
+++ b/matlab/algorithms/DART/SegmentationDefault.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 a66ab51..7bc60bb 100644
--- a/matlab/algorithms/DART/SmoothingDefault.m
+++ b/matlab/algorithms/DART/SmoothingDefault.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 80df9cc..08906ce 100644
--- a/matlab/algorithms/DART/SmoothingGPU.m
+++ b/matlab/algorithms/DART/SmoothingGPU.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 3a6a8e7..0da6359 100644
--- a/matlab/algorithms/DART/StatisticsDefault.m
+++ b/matlab/algorithms/DART/StatisticsDefault.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 1b4023e..01aa17b 100644
--- a/matlab/algorithms/DART/examples/example1.m
+++ b/matlab/algorithms/DART/examples/example1.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/algorithms/DART/examples/example2.m b/matlab/algorithms/DART/examples/example2.m
index 612830b..203a233 100644
--- a/matlab/algorithms/DART/examples/example2.m
+++ b/matlab/algorithms/DART/examples/example2.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 d38ca02..5685ba7 100644
--- a/matlab/algorithms/DART/examples/example3.m
+++ b/matlab/algorithms/DART/examples/example3.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 7d228a0..7524662 100644
--- a/matlab/algorithms/DART/tools/DARToptimizer.m
+++ b/matlab/algorithms/DART/tools/DARToptimizer.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 7b14c9a..cfd4feb 100644
--- a/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m
+++ b/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 a526782..3738ba8 100644
--- a/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m
+++ b/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 26628af..e2c7700 100644
--- a/matlab/algorithms/DART/tools/dart_create_base_phantom.m
+++ b/matlab/algorithms/DART/tools/dart_create_base_phantom.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 73db405..ae89e64 100644
--- a/matlab/algorithms/DART/tools/dart_scheduler.m
+++ b/matlab/algorithms/DART/tools/dart_scheduler.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 6fdbd05..c6c370f 100644
--- a/matlab/algorithms/DART/tools/rNMPOptimFunc.m
+++ b/matlab/algorithms/DART/tools/rNMPOptimFunc.m
@@ -1,8 +1,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 69ebd45..e2924b4 100644
--- a/matlab/mex/astra_mex_algorithm_c.cpp
+++ b/matlab/mex/astra_mex_algorithm_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_c.cpp b/matlab/mex/astra_mex_c.cpp
index 43c438e..66959de 100644
--- a/matlab/mex/astra_mex_c.cpp
+++ b/matlab/mex/astra_mex_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_data2d_c.cpp b/matlab/mex/astra_mex_data2d_c.cpp
index 1a6cff0..77a3b0e 100644
--- a/matlab/mex/astra_mex_data2d_c.cpp
+++ b/matlab/mex/astra_mex_data2d_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_data3d_c.cpp b/matlab/mex/astra_mex_data3d_c.cpp
index 4642693..3e1bfc7 100644
--- a/matlab/mex/astra_mex_data3d_c.cpp
+++ b/matlab/mex/astra_mex_data3d_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_direct_c.cpp b/matlab/mex/astra_mex_direct_c.cpp
index 0090d13..262908d 100644
--- a/matlab/mex/astra_mex_direct_c.cpp
+++ b/matlab/mex/astra_mex_direct_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_log_c.cpp b/matlab/mex/astra_mex_log_c.cpp
index 2c0e986..cdcfb8f 100644
--- a/matlab/mex/astra_mex_log_c.cpp
+++ b/matlab/mex/astra_mex_log_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_matrix_c.cpp b/matlab/mex/astra_mex_matrix_c.cpp
index 4a5ec18..0aeba1c 100644
--- a/matlab/mex/astra_mex_matrix_c.cpp
+++ b/matlab/mex/astra_mex_matrix_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_plugin_c.cpp b/matlab/mex/astra_mex_plugin_c.cpp
index f39e87e..5ca531c 100644
--- a/matlab/mex/astra_mex_plugin_c.cpp
+++ b/matlab/mex/astra_mex_plugin_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_projector3d_c.cpp b/matlab/mex/astra_mex_projector3d_c.cpp
index e760e3d..0b9af1b 100644
--- a/matlab/mex/astra_mex_projector3d_c.cpp
+++ b/matlab/mex/astra_mex_projector3d_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/astra_mex_projector_c.cpp b/matlab/mex/astra_mex_projector_c.cpp
index 16da126..781409c 100644
--- a/matlab/mex/astra_mex_projector_c.cpp
+++ b/matlab/mex/astra_mex_projector_c.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexCopyDataHelpFunctions.cpp b/matlab/mex/mexCopyDataHelpFunctions.cpp
index 92435a6..3863b21 100644
--- a/matlab/mex/mexCopyDataHelpFunctions.cpp
+++ b/matlab/mex/mexCopyDataHelpFunctions.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexCopyDataHelpFunctions.h b/matlab/mex/mexCopyDataHelpFunctions.h
index 259467a..cb2d05e 100644
--- a/matlab/mex/mexCopyDataHelpFunctions.h
+++ b/matlab/mex/mexCopyDataHelpFunctions.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexDataManagerHelpFunctions.cpp b/matlab/mex/mexDataManagerHelpFunctions.cpp
index 70d534c..eaf5223 100644
--- a/matlab/mex/mexDataManagerHelpFunctions.cpp
+++ b/matlab/mex/mexDataManagerHelpFunctions.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexDataManagerHelpFunctions.h b/matlab/mex/mexDataManagerHelpFunctions.h
index 868f67e..9c5bc4b 100644
--- a/matlab/mex/mexDataManagerHelpFunctions.h
+++ b/matlab/mex/mexDataManagerHelpFunctions.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexHelpFunctions.cpp b/matlab/mex/mexHelpFunctions.cpp
index 319f338..384ca27 100644
--- a/matlab/mex/mexHelpFunctions.cpp
+++ b/matlab/mex/mexHelpFunctions.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/mexHelpFunctions.h b/matlab/mex/mexHelpFunctions.h
index 56994dc..71c0f6e 100644
--- a/matlab/mex/mexHelpFunctions.h
+++ b/matlab/mex/mexHelpFunctions.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/mex/octave_support.cpp b/matlab/mex/octave_support.cpp
index 8df6d4b..1bc4b1b 100644
--- a/matlab/mex/octave_support.cpp
+++ b/matlab/mex/octave_support.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_add_noise_to_sino.m b/matlab/tools/astra_add_noise_to_sino.m
index 957b5d0..33e164e 100644
--- a/matlab/tools/astra_add_noise_to_sino.m
+++ b/matlab/tools/astra_add_noise_to_sino.m
@@ -15,8 +15,8 @@ function sinogram_out = astra_add_noise_to_sino(sinogram_in,I0)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 7c8d1a4..76da616 100644
--- a/matlab/tools/astra_clear.m
+++ b/matlab/tools/astra_clear.m
@@ -5,8 +5,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 eadc37e..507f84f 100644
--- a/matlab/tools/astra_create_backprojection.m
+++ b/matlab/tools/astra_create_backprojection.m
@@ -13,8 +13,8 @@ function [vol_id, vol] = astra_create_backprojection(data, proj_id)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 e1c5655..2e73c3f 100644
--- a/matlab/tools/astra_create_backprojection3d_cuda.m
+++ b/matlab/tools/astra_create_backprojection3d_cuda.m
@@ -15,8 +15,8 @@ function [vol_id, vol] = astra_create_backprojection3d_cuda(data, proj_geom, vol
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 f29d87c..08ef8a5 100644
--- a/matlab/tools/astra_create_backprojection_cuda.m
+++ b/matlab/tools/astra_create_backprojection_cuda.m
@@ -14,8 +14,8 @@ function backProj = astra_create_backprojection_cuda(sinogramData, proj_geom, vo
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
- % Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- % 2014-2018, CWI, Amsterdam
+ % Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ % 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 861fbe7..28eb498 100644
--- a/matlab/tools/astra_create_proj_geom.m
+++ b/matlab/tools/astra_create_proj_geom.m
@@ -87,8 +87,8 @@ function proj_geom = astra_create_proj_geom(type, varargin)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
@@ -97,7 +97,7 @@ function proj_geom = astra_create_proj_geom(type, varargin)
if strcmp(type,'parallel')
if numel(varargin) < 3
- error('not enough variables: astra_create_proj_geom(parallel, detector_spacing, det_count, angles)');
+ error('not enough input arguments: astra_create_proj_geom(parallel, detector_spacing, det_count, angles)');
end
proj_geom = struct( ...
'type', 'parallel', ...
@@ -108,7 +108,7 @@ if strcmp(type,'parallel')
elseif strcmp(type,'parallel_vec')
if numel(varargin) < 2
- error('not enough variables: astra_create_proj_geom(parallel_vec, det_count, V')
+ error('not enough input arguments: 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')
@@ -121,7 +121,7 @@ elseif strcmp(type,'parallel_vec')
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)');
+ error('not enough input arguments: astra_create_proj_geom(fanflat, det_width, det_count, angles, source_origin, source_det)');
end
proj_geom = struct( ...
'type', 'fanflat', ...
@@ -134,7 +134,7 @@ elseif strcmp(type,'fanflat')
elseif strcmp(type,'fanflat_vec')
if numel(varargin) < 2
- error('not enough variables: astra_create_proj_geom(fanflat_vec, det_count, V')
+ error('not enough input arguments: astra_create_proj_geom(fanflat_vec, det_count, V')
end
if size(varargin{2}, 2) ~= 6
error('V should be a Nx6 matrix, with N the number of projections')
@@ -147,7 +147,7 @@ elseif strcmp(type,'fanflat_vec')
elseif strcmp(type,'parallel3d')
if numel(varargin) < 5
- error('not enough variables: astra_create_proj_geom(parallel3d, detector_spacing_x, detector_spacing_y, det_row_count, det_col_count, angles)');
+ error('not enough input arguments: astra_create_proj_geom(parallel3d, detector_spacing_x, detector_spacing_y, det_row_count, det_col_count, angles)');
end
proj_geom = struct( ...
'type', 'parallel3d', ...
@@ -159,7 +159,7 @@ elseif strcmp(type,'parallel3d')
);
elseif strcmp(type,'cone')
if numel(varargin) < 7
- error('not enough variables: astra_create_proj_geom(cone, detector_spacing_x, detector_spacing_y, det_row_count, det_col_count, angles, source_origin, source_det)');
+ error('not enough input arguments: astra_create_proj_geom(cone, detector_spacing_x, detector_spacing_y, det_row_count, det_col_count, angles, source_origin, source_det)');
end
proj_geom = struct( ...
'type', 'cone', ...
@@ -173,7 +173,7 @@ elseif strcmp(type,'cone')
);
elseif strcmp(type,'cone_vec')
if numel(varargin) < 3
- error('not enough variables: astra_create_proj_geom(cone_vec, det_row_count, det_col_count, V')
+ error('not enough input arguments: astra_create_proj_geom(cone_vec, det_row_count, det_col_count, V')
end
if size(varargin{3}, 2) ~= 12
error('V should be a Nx12 matrix, with N the number of projections')
@@ -186,7 +186,7 @@ elseif strcmp(type,'cone_vec')
);
elseif strcmp(type,'parallel3d_vec')
if numel(varargin) < 3
- error('not enough variables: astra_create_proj_geom(parallel3d_vec, det_row_count, det_col_count, V')
+ error('not enough input arguments: astra_create_proj_geom(parallel3d_vec, det_row_count, det_col_count, V')
end
if size(varargin{3}, 2) ~= 12
error('V should be a Nx12 matrix, with N the number of projections')
@@ -199,7 +199,7 @@ elseif strcmp(type,'parallel3d_vec')
);
elseif strcmp(type,'sparse_matrix')
if numel(varargin) < 3
- error('not enough variables: astra_create_proj_geom(sparse_matrix, det_width, det_count, angles, matrix_id)')
+ error('not enough input arguments: astra_create_proj_geom(sparse_matrix, det_width, det_count, angles, matrix_id)')
end
proj_geom = struct( ...
'type', 'sparse_matrix', ...
diff --git a/matlab/tools/astra_create_projector.m b/matlab/tools/astra_create_projector.m
index 1c87cc4..ac96f7b 100644
--- a/matlab/tools/astra_create_projector.m
+++ b/matlab/tools/astra_create_projector.m
@@ -15,8 +15,8 @@ function proj_id = astra_create_projector(type, proj_geom, vol_geom, options)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 ddcf5a2..f1787eb 100644
--- a/matlab/tools/astra_create_reconstruction.m
+++ b/matlab/tools/astra_create_reconstruction.m
@@ -21,8 +21,8 @@ function [recon_id, recon] = astra_create_reconstruction(rec_type, proj_id, sino
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 71c0938..e8f53db 100644
--- a/matlab/tools/astra_create_reconstruction_cuda.m
+++ b/matlab/tools/astra_create_reconstruction_cuda.m
@@ -22,8 +22,8 @@ function [recon_id, recon] = astra_create_reconstruction_cuda(rec_type, proj_geo
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 06e91d2..2cb277c 100644
--- a/matlab/tools/astra_create_sino.m
+++ b/matlab/tools/astra_create_sino.m
@@ -13,8 +13,8 @@ function [sino_id, sino] = astra_create_sino(data, proj_id)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 3b67ae1..4e73470 100644
--- a/matlab/tools/astra_create_sino3d_cuda.m
+++ b/matlab/tools/astra_create_sino3d_cuda.m
@@ -15,8 +15,8 @@ function [sino_id, sino] = astra_create_sino3d_cuda(data, proj_geom, vol_geom)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 0ea3120..e0a3e59 100644
--- a/matlab/tools/astra_create_sino_cuda.m
+++ b/matlab/tools/astra_create_sino_cuda.m
@@ -16,8 +16,8 @@ function [sino_id, sino] = astra_create_sino_cuda(data, proj_geom, vol_geom, gpu
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 9bfd9b8..60ee1ee 100644
--- a/matlab/tools/astra_create_sino_gpu.m
+++ b/matlab/tools/astra_create_sino_gpu.m
@@ -16,8 +16,8 @@ function [sino_id, sino] = astra_create_sino_gpu(data, proj_geom, vol_geom, gpu_
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 f1b8ccd..00933f0 100644
--- a/matlab/tools/astra_create_sino_sampling.m
+++ b/matlab/tools/astra_create_sino_sampling.m
@@ -16,8 +16,8 @@ function [sino_id, sino] = astra_create_sino_sampling(data, proj_geom, vol_geom,
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 4273dc4..866520e 100644
--- a/matlab/tools/astra_create_vol_geom.m
+++ b/matlab/tools/astra_create_vol_geom.m
@@ -26,8 +26,8 @@ function vol_geom = astra_create_vol_geom(varargin)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 34f320e..198289e 100644
--- a/matlab/tools/astra_downsample_sinogram.m
+++ b/matlab/tools/astra_downsample_sinogram.m
@@ -15,8 +15,8 @@ function [sinogram_new, proj_geom_new] = astra_downsample_sinogram(sinogram, pro
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 4cfcce1..4849b09 100644
--- a/matlab/tools/astra_geom_2vec.m
+++ b/matlab/tools/astra_geom_2vec.m
@@ -10,8 +10,8 @@ function proj_geom_vec = astra_geom_2vec(proj_geom)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_geom_postalignment.m b/matlab/tools/astra_geom_postalignment.m
index 5f1e7f8..5d8d0ab 100644
--- a/matlab/tools/astra_geom_postalignment.m
+++ b/matlab/tools/astra_geom_postalignment.m
@@ -18,8 +18,8 @@ function proj_geom = astra_geom_postalignment(proj_geom, factor)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_geom_size.m b/matlab/tools/astra_geom_size.m
index 1acf59a..63b3d41 100644
--- a/matlab/tools/astra_geom_size.m
+++ b/matlab/tools/astra_geom_size.m
@@ -10,8 +10,8 @@ function s = astra_geom_size(geom, dim)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_get_gpu_info.m b/matlab/tools/astra_get_gpu_info.m
index 1bc2b7b..52a5bb1 100644
--- a/matlab/tools/astra_get_gpu_info.m
+++ b/matlab/tools/astra_get_gpu_info.m
@@ -6,8 +6,8 @@ function astra_set_gpu_index(index)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 5210f38..2eeb43d 100644
--- a/matlab/tools/astra_mex.m
+++ b/matlab/tools/astra_mex.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_algorithm.m b/matlab/tools/astra_mex_algorithm.m
index abb99e7..45f9cc5 100644
--- a/matlab/tools/astra_mex_algorithm.m
+++ b/matlab/tools/astra_mex_algorithm.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_algorithm(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_data2d.m b/matlab/tools/astra_mex_data2d.m
index 49f0e10..b90e170 100644
--- a/matlab/tools/astra_mex_data2d.m
+++ b/matlab/tools/astra_mex_data2d.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_data2d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_data3d.m b/matlab/tools/astra_mex_data3d.m
index ba965a0..f00fad4 100644
--- a/matlab/tools/astra_mex_data3d.m
+++ b/matlab/tools/astra_mex_data3d.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_data3d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_direct.m b/matlab/tools/astra_mex_direct.m
index 5fe03be..db3b997 100644
--- a/matlab/tools/astra_mex_direct.m
+++ b/matlab/tools/astra_mex_direct.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_direct(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_log.m b/matlab/tools/astra_mex_log.m
index d795d24..cfe392e 100644
--- a/matlab/tools/astra_mex_log.m
+++ b/matlab/tools/astra_mex_log.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_log(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_matrix.m b/matlab/tools/astra_mex_matrix.m
index 5750487..0568c07 100644
--- a/matlab/tools/astra_mex_matrix.m
+++ b/matlab/tools/astra_mex_matrix.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_matrix(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_plugin.m b/matlab/tools/astra_mex_plugin.m
index b6f8c33..d2aa69a 100644
--- a/matlab/tools/astra_mex_plugin.m
+++ b/matlab/tools/astra_mex_plugin.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_plugin(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_projector.m b/matlab/tools/astra_mex_projector.m
index 6b77508..2d539e3 100644
--- a/matlab/tools/astra_mex_projector.m
+++ b/matlab/tools/astra_mex_projector.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_projector(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_mex_projector3d.m b/matlab/tools/astra_mex_projector3d.m
index 3d75158..25a092e 100644
--- a/matlab/tools/astra_mex_projector3d.m
+++ b/matlab/tools/astra_mex_projector3d.m
@@ -6,8 +6,8 @@ function [varargout] = astra_mex_projector3d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_plot_geom.m b/matlab/tools/astra_plot_geom.m
index 62eed79..291842d 100644
--- a/matlab/tools/astra_plot_geom.m
+++ b/matlab/tools/astra_plot_geom.m
@@ -58,8 +58,8 @@ function [] = astra_plot_geom(geometry, varargin)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_projector_handle.m b/matlab/tools/astra_projector_handle.m
index 874e449..6613958 100644
--- a/matlab/tools/astra_projector_handle.m
+++ b/matlab/tools/astra_projector_handle.m
@@ -5,8 +5,8 @@ classdef astra_projector_handle < handle
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
- % Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- % 2014-2018, CWI, Amsterdam
+ % Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ % 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 00e765e..06b8aed 100644
--- a/matlab/tools/astra_set_directory.m
+++ b/matlab/tools/astra_set_directory.m
@@ -11,8 +11,8 @@ function in = astra_set_directory(in)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 b90d2b8..102c9f4 100644
--- a/matlab/tools/astra_set_gpu_index.m
+++ b/matlab/tools/astra_set_gpu_index.m
@@ -6,8 +6,8 @@ function astra_set_gpu_index(index)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 0241028..0b98225 100644
--- a/matlab/tools/astra_struct.m
+++ b/matlab/tools/astra_struct.m
@@ -11,8 +11,8 @@ function res = astra_struct(type)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/astra_test.m b/matlab/tools/astra_test.m
index 3ea154e..52d7b01 100644
--- a/matlab/tools/astra_test.m
+++ b/matlab/tools/astra_test.m
@@ -4,13 +4,14 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
+astra_mex('version');
if astra_mex('use_cuda')
astra_test_CUDA;
else
diff --git a/matlab/tools/astra_test_CUDA.m b/matlab/tools/astra_test_CUDA.m
index c034a08..36dacbc 100644
--- a/matlab/tools/astra_test_CUDA.m
+++ b/matlab/tools/astra_test_CUDA.m
@@ -4,8 +4,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 733db3c..c18a3a7 100644
--- a/matlab/tools/astra_test_noCUDA.m
+++ b/matlab/tools/astra_test_noCUDA.m
@@ -4,8 +4,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/createOrderART.m b/matlab/tools/createOrderART.m
index cd49651..5a206e6 100644
--- a/matlab/tools/createOrderART.m
+++ b/matlab/tools/createOrderART.m
@@ -16,8 +16,8 @@ function rayOrder = createOrderART(proj_geom, mode)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/imreadgs.m b/matlab/tools/imreadgs.m
index a820734..06887d6 100644
--- a/matlab/tools/imreadgs.m
+++ b/matlab/tools/imreadgs.m
@@ -12,8 +12,8 @@ function Im = imreadgs(filename)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/imresize3D.m b/matlab/tools/imresize3D.m
index 84e2020..26f56de 100644
--- a/matlab/tools/imresize3D.m
+++ b/matlab/tools/imresize3D.m
@@ -12,8 +12,8 @@ function out = imresize3D(in, s_out, method)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/imscale.m b/matlab/tools/imscale.m
index 363392b..87efb71 100644
--- a/matlab/tools/imscale.m
+++ b/matlab/tools/imscale.m
@@ -11,8 +11,8 @@ function out = imscale(in)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/imwritesc.m b/matlab/tools/imwritesc.m
index 0ef2b37..6fdc0d7 100644
--- a/matlab/tools/imwritesc.m
+++ b/matlab/tools/imwritesc.m
@@ -11,8 +11,8 @@ function imwritesc(in, filename)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/kaiserBessel.m b/matlab/tools/kaiserBessel.m
index d0a650d..efe095c 100644
--- a/matlab/tools/kaiserBessel.m
+++ b/matlab/tools/kaiserBessel.m
@@ -14,8 +14,8 @@ function res = kaiserBessel(m,alpha,a,r)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/linspace2.m b/matlab/tools/linspace2.m
index 12bc6ca..deb1a77 100644
--- a/matlab/tools/linspace2.m
+++ b/matlab/tools/linspace2.m
@@ -13,8 +13,8 @@ function out = linspace2(a,b,c)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/opTomo.m b/matlab/tools/opTomo.m
index b9e972c..768d44a 100644
--- a/matlab/tools/opTomo.m
+++ b/matlab/tools/opTomo.m
@@ -23,8 +23,8 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/overlayImage.m b/matlab/tools/overlayImage.m
index 568ed22..1795365 100644
--- a/matlab/tools/overlayImage.m
+++ b/matlab/tools/overlayImage.m
@@ -11,8 +11,8 @@ function im = overlayImage(reconstruction, ground_truth)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% 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 44e5e07..c582815 100644
--- a/matlab/tools/rebin_fan2par.m
+++ b/matlab/tools/rebin_fan2par.m
@@ -19,8 +19,8 @@ function F = rebin_fan2par(RadonData, BetaDeg, D, thetaDeg)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/matlab/tools/sliceExtractor.m b/matlab/tools/sliceExtractor.m
index e428450..27d65dc 100644
--- a/matlab/tools/sliceExtractor.m
+++ b/matlab/tools/sliceExtractor.m
@@ -13,8 +13,8 @@ function slice = sliceExtractor(data, dir, slicenr)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyAlgorithmFactory.pxd b/python/astra/PyAlgorithmFactory.pxd
index 5913697..2503f6e 100644
--- a/python/astra/PyAlgorithmFactory.pxd
+++ b/python/astra/PyAlgorithmFactory.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyAlgorithmManager.pxd b/python/astra/PyAlgorithmManager.pxd
index 7f2cbb8..6ed9d45 100644
--- a/python/astra/PyAlgorithmManager.pxd
+++ b/python/astra/PyAlgorithmManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyData2DManager.pxd b/python/astra/PyData2DManager.pxd
index 167f840..2b31c4b 100644
--- a/python/astra/PyData2DManager.pxd
+++ b/python/astra/PyData2DManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyData3DManager.pxd b/python/astra/PyData3DManager.pxd
index cc9afad..7e0a75b 100644
--- a/python/astra/PyData3DManager.pxd
+++ b/python/astra/PyData3DManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyIncludes.pxd b/python/astra/PyIncludes.pxd
index f964118..cca99f8 100644
--- a/python/astra/PyIncludes.pxd
+++ b/python/astra/PyIncludes.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyIndexManager.pxd b/python/astra/PyIndexManager.pxd
index 9d4dff7..f3c3424 100644
--- a/python/astra/PyIndexManager.pxd
+++ b/python/astra/PyIndexManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyMatrixManager.pxd b/python/astra/PyMatrixManager.pxd
index 5f6fb58..90c94d3 100644
--- a/python/astra/PyMatrixManager.pxd
+++ b/python/astra/PyMatrixManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyProjector2DFactory.pxd b/python/astra/PyProjector2DFactory.pxd
index e21c73d..393ea09 100644
--- a/python/astra/PyProjector2DFactory.pxd
+++ b/python/astra/PyProjector2DFactory.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyProjector2DManager.pxd b/python/astra/PyProjector2DManager.pxd
index cfadb2d..4aa19ca 100644
--- a/python/astra/PyProjector2DManager.pxd
+++ b/python/astra/PyProjector2DManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyProjector3DFactory.pxd b/python/astra/PyProjector3DFactory.pxd
index 191c965..691841e 100644
--- a/python/astra/PyProjector3DFactory.pxd
+++ b/python/astra/PyProjector3DFactory.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyProjector3DManager.pxd b/python/astra/PyProjector3DManager.pxd
index 56b714c..42213ff 100644
--- a/python/astra/PyProjector3DManager.pxd
+++ b/python/astra/PyProjector3DManager.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/PyXMLDocument.pxd b/python/astra/PyXMLDocument.pxd
index e1d606b..8011b89 100644
--- a/python/astra/PyXMLDocument.pxd
+++ b/python/astra/PyXMLDocument.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/__init__.py b/python/astra/__init__.py
index d44e5a2..84451f9 100644
--- a/python/astra/__init__.py
+++ b/python/astra/__init__.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
@@ -41,7 +41,7 @@ from . import log
from .optomo import OpTomo
from .tests import test, test_noCUDA, test_CUDA
-__version__ = '1.9.9.dev'
+__version__ = '2.0.0'
import os
diff --git a/python/astra/algorithm.py b/python/astra/algorithm.py
index 8862af3..6b9454e 100644
--- a/python/astra/algorithm.py
+++ b/python/astra/algorithm.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/algorithm_c.pyx b/python/astra/algorithm_c.pyx
index 50f6052..ff35f1d 100644
--- a/python/astra/algorithm_c.pyx
+++ b/python/astra/algorithm_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/astra.py b/python/astra/astra.py
index e74d29a..1ec39fe 100644
--- a/python/astra/astra.py
+++ b/python/astra/astra.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/astra_c.pyx b/python/astra/astra_c.pyx
index 6289f3e..482a314 100644
--- a/python/astra/astra_c.pyx
+++ b/python/astra/astra_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/creators.py b/python/astra/creators.py
index ca4916d..0d5d236 100644
--- a/python/astra/creators.py
+++ b/python/astra/creators.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/data2d.py b/python/astra/data2d.py
index cf65ae2..e3b26ae 100644
--- a/python/astra/data2d.py
+++ b/python/astra/data2d.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/data2d_c.pyx b/python/astra/data2d_c.pyx
index d33581a..606381f 100644
--- a/python/astra/data2d_c.pyx
+++ b/python/astra/data2d_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/data3d.py b/python/astra/data3d.py
index 3eea0e3..a4ae738 100644
--- a/python/astra/data3d.py
+++ b/python/astra/data3d.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/data3d_c.pyx b/python/astra/data3d_c.pyx
index a1b9138..f2128af 100644
--- a/python/astra/data3d_c.pyx
+++ b/python/astra/data3d_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/experimental.pyx b/python/astra/experimental.pyx
index 08d907d..dd745d9 100644
--- a/python/astra/experimental.pyx
+++ b/python/astra/experimental.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/extrautils.pyx b/python/astra/extrautils.pyx
index 2508865..bb78a66 100644
--- a/python/astra/extrautils.pyx
+++ b/python/astra/extrautils.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/functions.py b/python/astra/functions.py
index 853c0b9..1279808 100644
--- a/python/astra/functions.py
+++ b/python/astra/functions.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/log.py b/python/astra/log.py
index 28e9bad..d023afb 100644
--- a/python/astra/log.py
+++ b/python/astra/log.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/log_c.pyx b/python/astra/log_c.pyx
index 7701667..000c116 100644
--- a/python/astra/log_c.pyx
+++ b/python/astra/log_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/matlab.py b/python/astra/matlab.py
index df1135c..af82b9f 100644
--- a/python/astra/matlab.py
+++ b/python/astra/matlab.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/matrix.py b/python/astra/matrix.py
index a097142..f4ecd7b 100644
--- a/python/astra/matrix.py
+++ b/python/astra/matrix.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/matrix_c.pyx b/python/astra/matrix_c.pyx
index 5c56233..57e116b 100644
--- a/python/astra/matrix_c.pyx
+++ b/python/astra/matrix_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/optomo.py b/python/astra/optomo.py
index 5ecff8f..4efc3da 100644
--- a/python/astra/optomo.py
+++ b/python/astra/optomo.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/plugin.py b/python/astra/plugin.py
index 0ef701e..853db2f 100644
--- a/python/astra/plugin.py
+++ b/python/astra/plugin.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/plugin_c.pyx b/python/astra/plugin_c.pyx
index 2fd9a8f..768ea2e 100644
--- a/python/astra/plugin_c.pyx
+++ b/python/astra/plugin_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/plugins/__init__.py b/python/astra/plugins/__init__.py
index 0f66907..740838c 100644
--- a/python/astra/plugins/__init__.py
+++ b/python/astra/plugins/__init__.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/plugins/cgls.py b/python/astra/plugins/cgls.py
index 30fe8e6..dfa6b51 100644
--- a/python/astra/plugins/cgls.py
+++ b/python/astra/plugins/cgls.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/plugins/sirt.py b/python/astra/plugins/sirt.py
index c5a8d90..cbdf38c 100644
--- a/python/astra/plugins/sirt.py
+++ b/python/astra/plugins/sirt.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/projector.py b/python/astra/projector.py
index 2fcb889..2535bf3 100644
--- a/python/astra/projector.py
+++ b/python/astra/projector.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/projector3d.py b/python/astra/projector3d.py
index 4d474c3..b92f89e 100644
--- a/python/astra/projector3d.py
+++ b/python/astra/projector3d.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/projector3d_c.pyx b/python/astra/projector3d_c.pyx
index 53d7113..bf1f8b8 100644
--- a/python/astra/projector3d_c.pyx
+++ b/python/astra/projector3d_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/projector_c.pyx b/python/astra/projector_c.pyx
index 62225dc..80f4412 100644
--- a/python/astra/projector_c.pyx
+++ b/python/astra/projector_c.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/pythonutils.py b/python/astra/pythonutils.py
index ef49f97..ef860bd 100644
--- a/python/astra/pythonutils.py
+++ b/python/astra/pythonutils.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/src/PythonPluginAlgorithm.cpp b/python/astra/src/PythonPluginAlgorithm.cpp
index b7ecdb5..e6ad584 100644
--- a/python/astra/src/PythonPluginAlgorithm.cpp
+++ b/python/astra/src/PythonPluginAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2016, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/python/astra/src/PythonPluginAlgorithm.h b/python/astra/src/PythonPluginAlgorithm.h
index 791e9ba..b0a4bfd 100644
--- a/python/astra/src/PythonPluginAlgorithm.h
+++ b/python/astra/src/PythonPluginAlgorithm.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/python/astra/src/PythonPluginAlgorithmFactory.cpp b/python/astra/src/PythonPluginAlgorithmFactory.cpp
index 8fee6fb..631dd46 100644
--- a/python/astra/src/PythonPluginAlgorithmFactory.cpp
+++ b/python/astra/src/PythonPluginAlgorithmFactory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
Copyright: 2010-2016, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/python/astra/src/PythonPluginAlgorithmFactory.h b/python/astra/src/PythonPluginAlgorithmFactory.h
index 9cb567e..7f4d45a 100644
--- a/python/astra/src/PythonPluginAlgorithmFactory.h
+++ b/python/astra/src/PythonPluginAlgorithmFactory.h
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/python/astra/tests.py b/python/astra/tests.py
index 0d67521..19b42d0 100644
--- a/python/astra/tests.py
+++ b/python/astra/tests.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
@@ -79,15 +79,18 @@ def _basic_par3d_cuda():
def test_noCUDA():
"""Perform a very basic functionality test, without CUDA"""
-
+
+ import astra
+ print("ASTRA Toolbox v%s" % (astra.__version__,))
ok = _basic_par2d()
if not ok:
raise RuntimeError("Test failed")
def test_CUDA():
"""Perform a very basic functionality test, including CUDA"""
-
+
import astra
+ print("ASTRA Toolbox v%s" % (astra.__version__,))
print("Getting GPU info... ", end="")
print(astra.get_gpu_info())
ok1 = _basic_par2d()
diff --git a/python/astra/utils.pxd b/python/astra/utils.pxd
index 69f4e96..27c7c83 100644
--- a/python/astra/utils.pxd
+++ b/python/astra/utils.pxd
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/astra/utils.pyx b/python/astra/utils.pyx
index 12fc38c..1bc9c0b 100644
--- a/python/astra/utils.pyx
+++ b/python/astra/utils.pyx
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/python/builder.py b/python/builder.py
index 7b00022..9e35b75 100644
--- a/python/builder.py
+++ b/python/builder.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
@@ -74,7 +74,7 @@ for m in ext_modules:
'PythonPluginAlgorithmFactory.cpp'))
setup(name='astra-toolbox',
- version='1.9.9.dev',
+ version='2.0.0',
description='Python interface to the ASTRA Toolbox',
author='D.M. Pelt',
author_email='D.M.Pelt@cwi.nl',
diff --git a/python/conda/README.txt b/python/conda/README.txt
new file mode 100644
index 0000000..cd0bf5a
--- /dev/null
+++ b/python/conda/README.txt
@@ -0,0 +1,14 @@
+Building conda packages:
+
+Linux:
+
+start docker
+linux_release/release.sh
+
+Windows:
+
+Open anaconda command prompt
+call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64 8.1 -vcvars_ver=14.0
+Change to astra-toolbox\python\conda directory
+conda build -m libastra\win64_build_config.yaml libastra
+conda build -m astra-toolbox\win64_build_config.yaml astra-toolbox
diff --git a/python/conda/astra-toolbox/linux_deb11_build_config.yaml b/python/conda/astra-toolbox/linux_deb11_build_config.yaml
new file mode 100644
index 0000000..ba3c945
--- /dev/null
+++ b/python/conda/astra-toolbox/linux_deb11_build_config.yaml
@@ -0,0 +1,12 @@
+python:
+ - 3.10
+numpy:
+ - 1.16
+zip_keys:
+ - python
+ - numpy
+
+c_compiler_version:
+ - 9.3
+cxx_compiler_version:
+ - 9.3
diff --git a/python/conda/astra-toolbox/linux_build_config.yaml b/python/conda/astra-toolbox/linux_deb9_build_config.yaml
index 91cc0e4..bcde2ce 100644
--- a/python/conda/astra-toolbox/linux_build_config.yaml
+++ b/python/conda/astra-toolbox/linux_deb9_build_config.yaml
@@ -1,10 +1,16 @@
python:
- 2.7
- - 3.6
- 3.7
- 3.8
+ - 3.9
numpy:
- 1.11
+ - 1.11
+ - 1.11
+ - 1.16
+zip_keys:
+ - python
+ - numpy
c_compiler_version:
- 7.3
diff --git a/python/conda/astra-toolbox/meta.yaml b/python/conda/astra-toolbox/meta.yaml
index 0526778..641bb97 100644
--- a/python/conda/astra-toolbox/meta.yaml
+++ b/python/conda/astra-toolbox/meta.yaml
@@ -1,6 +1,6 @@
package:
name: astra-toolbox
- version: '1.9.9.dev0'
+ version: '2.0.0'
source:
git_url: https://github.com/astra-toolbox/astra-toolbox.git
@@ -32,13 +32,13 @@ requirements:
- numpy {{ numpy }}
- scipy
- six
- - libastra ==1.9.9.dev0
+ - libastra ==2.0.0
run:
- python
- {{ pin_compatible('numpy', min_pin='x.x', max_pin='x') }}
- scipy
- six
- - libastra ==1.9.9.dev0
+ - libastra ==2.0.0
about:
diff --git a/python/conda/astra-toolbox/win64_build_config.yaml b/python/conda/astra-toolbox/win64_build_config.yaml
new file mode 100644
index 0000000..36ca0ce
--- /dev/null
+++ b/python/conda/astra-toolbox/win64_build_config.yaml
@@ -0,0 +1,11 @@
+python:
+ - 3.7
+ - 3.8
+ - 3.9
+numpy:
+ - 1.11
+ - 1.11
+ - 1.16
+zip_keys:
+ - python
+ - numpy \ No newline at end of file
diff --git a/python/conda/libastra/linux_deb11_build_config.yaml b/python/conda/libastra/linux_deb11_build_config.yaml
new file mode 100644
index 0000000..1ab563e
--- /dev/null
+++ b/python/conda/libastra/linux_deb11_build_config.yaml
@@ -0,0 +1,8 @@
+cudatoolkit:
+ - 11.2
+ - 11.3
+ - 11.4
+c_compiler_version: # [linux or win]
+ - 9.3 # [linux or win]
+cxx_compiler_version: # [linux or win]
+ - 9.3 # [linux or win]
diff --git a/python/conda/libastra/linux_archive_build_config.yaml b/python/conda/libastra/linux_deb8_build_config.yaml
index b415b4a..347557b 100644
--- a/python/conda/libastra/linux_archive_build_config.yaml
+++ b/python/conda/libastra/linux_deb8_build_config.yaml
@@ -4,6 +4,7 @@ cudatoolkit:
- 9.2
- 10.0
- 10.1
+ - 10.2
c_compiler_version: # [linux or win]
- 5.4 # [linux or win]
cxx_compiler_version: # [linux or win]
diff --git a/python/conda/libastra/linux_build_config.yaml b/python/conda/libastra/linux_deb9_build_config.yaml
index 936879c..61303a3 100644
--- a/python/conda/libastra/linux_build_config.yaml
+++ b/python/conda/libastra/linux_deb9_build_config.yaml
@@ -1,7 +1,7 @@
cudatoolkit:
- - 10.2
- 11.0
+ - 11.1
c_compiler_version: # [linux or win]
- - 5.4 # [linux or win]
+ - 7.3 # [linux or win]
cxx_compiler_version: # [linux or win]
- - 5.4 # [linux or win]
+ - 7.3 # [linux or win]
diff --git a/python/conda/libastra/meta.yaml b/python/conda/libastra/meta.yaml
index 16ddf0e..c427b46 100644
--- a/python/conda/libastra/meta.yaml
+++ b/python/conda/libastra/meta.yaml
@@ -1,6 +1,6 @@
package:
name: libastra
- version: '1.9.9.dev0'
+ version: '2.0.0'
source:
git_url: https://github.com/astra-toolbox/astra-toolbox.git
@@ -21,6 +21,11 @@ requirements:
host:
- boost # [osx or linux]
- cudatoolkit {{ cudatoolkit }} # [linux]
+ # libstdcxx-ng 9.3 introduces extra host system requirements on glibc
+ # For the older systems (debian8, debian9) we use g++ 5.4 and 7.3, resp.
+ {% if linux and cxx_compiler_version in ['5.4', '7.3'] -%}
+ - libstdcxx-ng <9.3 # [linux]
+ {% endif %}
run:
# See: https://github.com/conda-forge/conda-forge.github.io/issues/687#issuecomment-460095230
- {{ pin_compatible('cudatoolkit', max_pin='x.x') }} # [linux]
diff --git a/python/conda/libastra/win64_build_config.yaml b/python/conda/libastra/win64_build_config.yaml
new file mode 100644
index 0000000..cb6373a
--- /dev/null
+++ b/python/conda/libastra/win64_build_config.yaml
@@ -0,0 +1,2 @@
+python:
+ - 3.9
diff --git a/python/conda/linux_release/buildenv/build.sh b/python/conda/linux_release/build.sh
index 1b183b5..0187c5c 100755
--- a/python/conda/linux_release/buildenv/build.sh
+++ b/python/conda/linux_release/build.sh
@@ -16,14 +16,10 @@ git clone --depth 1 --branch ${BRANCH} ${URL}
[ $# -eq 0 ] || perl -pi -e "s/^(\s*string:.+_)[0-9]+/\${1}$2/" astra-toolbox/python/conda/libastra/meta.yaml
[ $# -eq 0 ] || perl -pi -e "s/^(\s*-\s*libastra\s*==\s*)[0-9a-z+\.]+$/\${1}$1/" astra-toolbox/python/conda/astra-toolbox/meta.yaml
-if [ x$3 = xarchive ]; then
- CONF=linux_archive_build_config.yaml
-else
- CONF=linux_build_config.yaml
-fi
+CONF=linux_$3_build_config.yaml
-conda-build -m astra-toolbox/python/conda/libastra/${CONF} astra-toolbox/python/conda/libastra
+conda-build -c nvidia -m astra-toolbox/python/conda/libastra/${CONF} astra-toolbox/python/conda/libastra
-[ x$3 = xarchive ] || conda-build -m astra-toolbox/python/conda/astra-toolbox/linux_build_config.yaml astra-toolbox/python/conda/astra-toolbox
+[ x$4 = xfull ] && conda-build -c nvidia -m astra-toolbox/python/conda/astra-toolbox/${CONF} astra-toolbox/python/conda/astra-toolbox
cp /root/miniconda3/conda-bld/linux-64/*astra* /out
diff --git a/python/conda/linux_release/buildenv.deb11/Dockerfile b/python/conda/linux_release/buildenv.deb11/Dockerfile
new file mode 100644
index 0000000..9c892f5
--- /dev/null
+++ b/python/conda/linux_release/buildenv.deb11/Dockerfile
@@ -0,0 +1,50 @@
+FROM debian:11 AS BUILDBASE
+ENV DEBIAN_FRONTEND noninteractive
+#RUN echo 'deb http://archive.debian.org/debian/ wheezy main' > /etc/apt/sources.list && echo 'deb http://archive.debian.org/debian-security/ wheezy/updates main' >> /etc/apt/sources.list && apt-get -o Acquire::Check-Valid-Until=false update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/*
+RUN apt-get update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/*
+
+ENV PATH /root/miniconda3/bin:$PATH
+COPY Miniconda3-py39_4.10.3-Linux-x86_64.sh /root/
+RUN /bin/bash /root/Miniconda3-py39_4.10.3-Linux-x86_64.sh -b && \
+ rm -f /root/Miniconda3*
+
+RUN conda install -y conda-build conda-verify
+
+FROM BUILDBASE AS CUDA115
+RUN touch /root/cuda115
+COPY cuda_11.5.0_495.29.05_linux.run /root
+RUN /bin/bash /root/cuda_11.5.0_495.29.05_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.5 && \
+ rm -f /root/cuda_11.5.0_495.29.05_linux.run
+
+
+FROM BUILDBASE AS CUDA114
+RUN touch /root/cuda114
+COPY cuda_11.4.1_470.57.02_linux.run /root
+RUN /bin/bash /root/cuda_11.4.1_470.57.02_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.4 && \
+ rm -f /root/cuda_11.4.1_470.57.02_linux.run
+
+
+FROM BUILDBASE AS CUDA113
+RUN touch /root/cuda113
+COPY cuda_11.3.1_465.19.01_linux.run /root
+RUN /bin/bash /root/cuda_11.3.1_465.19.01_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.3 && \
+ rm -f /root/cuda_11.3.1_465.19.01_linux.run
+
+FROM BUILDBASE AS CUDA112
+RUN touch /root/cuda112
+COPY cuda_11.2.2_460.32.03_linux.run /root
+RUN /bin/bash /root/cuda_11.2.2_460.32.03_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.2 && \
+ rm -f /root/cuda_11.2.2_460.32.03_linux.run
+
+FROM BUILDBASE
+RUN touch /root/cuda
+COPY --from=CUDA115 /usr/local/cuda-11.5 /usr/local/cuda-11.5
+COPY --from=CUDA114 /usr/local/cuda-11.4 /usr/local/cuda-11.4
+COPY --from=CUDA113 /usr/local/cuda-11.3 /usr/local/cuda-11.3
+COPY --from=CUDA112 /usr/local/cuda-11.2 /usr/local/cuda-11.2
+
+RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=11.4 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=11.3 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=11.2
+# 11.5 still has unresolved dependencies in default channels
+# conda create -y -n prep -c nvidia --download-only cudatoolkit=11.5
diff --git a/python/conda/linux_release/buildenv/archive.Dockerfile b/python/conda/linux_release/buildenv.deb8/Dockerfile
index b3de3ec..be38743 100644
--- a/python/conda/linux_release/buildenv/archive.Dockerfile
+++ b/python/conda/linux_release/buildenv.deb8/Dockerfile
@@ -4,8 +4,8 @@ ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/*
ENV PATH /root/miniconda3/bin:$PATH
-COPY Miniconda3-py38_4.8.3-Linux-x86_64.sh /root/
-RUN /bin/bash /root/Miniconda3-py38_4.8.3-Linux-x86_64.sh -b && \
+COPY Miniconda3-py39_4.10.3-Linux-x86_64.sh /root/
+RUN /bin/bash /root/Miniconda3-py39_4.10.3-Linux-x86_64.sh -b && \
rm -f /root/Miniconda3*
RUN conda install -y conda-build conda-verify
@@ -16,6 +16,13 @@ RUN conda install -y conda-build conda-verify
# TODO: Remove when support for cudatoolkit 8.0 is dropped.
RUN conda config --set restore_free_channel true
+FROM BUILDBASE AS CUDA102
+RUN touch /root/cuda102
+COPY cuda_10.2.89_440.33.01_linux.run /root
+RUN /bin/bash /root/cuda_10.2.89_440.33.01_linux.run --toolkit --silent --installpath=/usr/local/cuda-10.2 && \
+ rm -f /root/cuda_10.2.89_440.33.01_linux.run
+
+
FROM BUILDBASE AS CUDA101
RUN touch /root/cuda101
COPY cuda_10.1.243_418.87.00_linux.run /root
@@ -51,10 +58,16 @@ RUN /bin/bash /root/cuda_8.0.61.2_linux-run --silent --accept-eula && \
FROM BUILDBASE
RUN touch /root/cuda
+COPY --from=CUDA102 /usr/local/cuda-10.2 /usr/local/cuda-10.2
COPY --from=CUDA101 /usr/local/cuda-10.1 /usr/local/cuda-10.1
COPY --from=CUDA100 /usr/local/cuda-10.0 /usr/local/cuda-10.0
COPY --from=CUDA92 /usr/local/cuda-9.2 /usr/local/cuda-9.2
COPY --from=CUDA90 /usr/local/cuda-9.0 /usr/local/cuda-9.0
COPY --from=CUDA80 /usr/local/cuda-8.0 /usr/local/cuda-8.0
-
+RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=10.2 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=10.1 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=10.0 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=9.2 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=9.0 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=8.0
diff --git a/python/conda/linux_release/buildenv/Dockerfile b/python/conda/linux_release/buildenv.deb9/Dockerfile
index 5c891ce..5bb25f9 100644
--- a/python/conda/linux_release/buildenv/Dockerfile
+++ b/python/conda/linux_release/buildenv.deb9/Dockerfile
@@ -1,15 +1,21 @@
-FROM debian:8 AS BUILDBASE
+FROM debian:9 AS BUILDBASE
ENV DEBIAN_FRONTEND noninteractive
#RUN echo 'deb http://archive.debian.org/debian/ wheezy main' > /etc/apt/sources.list && echo 'deb http://archive.debian.org/debian-security/ wheezy/updates main' >> /etc/apt/sources.list && apt-get -o Acquire::Check-Valid-Until=false update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git libxml2 && rm -rf /var/lib/apt/lists/*
ENV PATH /root/miniconda3/bin:$PATH
-COPY Miniconda3-py38_4.8.3-Linux-x86_64.sh /root/
-RUN /bin/bash /root/Miniconda3-py38_4.8.3-Linux-x86_64.sh -b && \
+COPY Miniconda3-py39_4.10.3-Linux-x86_64.sh /root/
+RUN /bin/bash /root/Miniconda3-py39_4.10.3-Linux-x86_64.sh -b && \
rm -f /root/Miniconda3*
RUN conda install -y conda-build conda-verify
+FROM BUILDBASE AS CUDA111
+RUN touch /root/cuda111
+COPY cuda_11.1.1_455.32.00_linux.run /root
+RUN /bin/bash /root/cuda_11.1.1_455.32.00_linux.run --toolkit --silent --installpath=/usr/local/cuda-11.1 && \
+ rm -f /root/cuda_11.1.1_455.32.00_linux.run
+
FROM BUILDBASE AS CUDA110
RUN touch /root/cuda110
COPY cuda_11.0.3_450.51.06_linux.run /root
@@ -17,15 +23,10 @@ RUN /bin/bash /root/cuda_11.0.3_450.51.06_linux.run --toolkit --silent --install
rm -f /root/cuda_11.0.3_450.51.06_linux.run
-FROM BUILDBASE AS CUDA102
-RUN touch /root/cuda102
-COPY cuda_10.2.89_440.33.01_linux.run /root
-RUN /bin/bash /root/cuda_10.2.89_440.33.01_linux.run --toolkit --silent --installpath=/usr/local/cuda-10.2 && \
- rm -f /root/cuda_10.2.89_440.33.01_linux.run
-
FROM BUILDBASE
RUN touch /root/cuda
+COPY --from=CUDA111 /usr/local/cuda-11.1 /usr/local/cuda-11.1
COPY --from=CUDA110 /usr/local/cuda-11.0 /usr/local/cuda-11.0
-COPY --from=CUDA102 /usr/local/cuda-10.2 /usr/local/cuda-10.2
-
+RUN conda create -y -n prep -c nvidia --download-only cudatoolkit=11.1 && \
+ conda create -y -n prep -c nvidia --download-only cudatoolkit=11.0
diff --git a/python/conda/linux_release/release.sh b/python/conda/linux_release/release.sh
index c3b5431..75e64c8 100644
--- a/python/conda/linux_release/release.sh
+++ b/python/conda/linux_release/release.sh
@@ -4,25 +4,50 @@ set -e
D=`mktemp -d`
-for F in https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run ; do
- [ -f buildenv/`basename $F` ] || (cd buildenv; wget $F )
+for F in \
+ https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
+ https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run \
+ https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run \
+ https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run \
+ https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux \
+ https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux \
+ http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run \
+ http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run \
+; do
+ [ -f buildenv.deb8/`basename $F` ] || (cd buildenv.deb8; wget $F )
done
-
-for F in https://repo.anaconda.com/miniconda/Miniconda3-py38_4.8.3-Linux-x86_64.sh https://developer.nvidia.com/compute/cuda/8.0/Prod2/local_installers/cuda_8.0.61_375.26_linux-run https://developer.nvidia.com/compute/cuda/8.0/Prod2/patches/2/cuda_8.0.61.2_linux-run https://developer.nvidia.com/compute/cuda/9.0/Prod/local_installers/cuda_9.0.176_384.81_linux-run https://developer.nvidia.com/compute/cuda/9.2/Prod2/local_installers/cuda_9.2.148_396.37_linux https://developer.nvidia.com/compute/cuda/10.0/Prod/local_installers/cuda_10.0.130_410.48_linux http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run ; do
- [ -f buildenv/`basename $F` ] || (cd buildenv; wget $F )
+for F in \
+ https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
+ https://developer.download.nvidia.com/compute/cuda/11.0.3/local_installers/cuda_11.0.3_450.51.06_linux.run \
+ https://developer.download.nvidia.com/compute/cuda/11.1.1/local_installers/cuda_11.1.1_455.32.00_linux.run \
+; do
+ [ -f buildenv.deb9/`basename $F` ] || (cd buildenv.deb9; wget $F )
done
+for F in \
+ https://repo.anaconda.com/miniconda/Miniconda3-py39_4.10.3-Linux-x86_64.sh \
+ https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda_11.2.2_460.32.03_linux.run \
+ https://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.run \
+ https://developer.download.nvidia.com/compute/cuda/11.4.1/local_installers/cuda_11.4.1_470.57.02_linux.run \
+ https://developer.download.nvidia.com/compute/cuda/11.5.0/local_installers/cuda_11.5.0_495.29.05_linux.run \
+; do
+ [ -f buildenv.deb11/`basename $F` ] || (cd buildenv.deb11; wget $F )
+done
-docker build -t astra-build-env buildenv
-docker build -t astra-build-env-archive -f buildenv/archive.Dockerfile buildenv
+docker build -t astra-build-env-deb8 buildenv.deb8
+docker build -t astra-build-env-deb9 buildenv.deb9
+docker build -t astra-build-env-deb11 buildenv.deb11
-cp buildenv/build.sh $D
+cp build.sh $D
-V=1.9.9.dev6
+V=2.0.0
-docker run -v $D:/out:z astra-build-env-archive /bin/bash /out/build.sh $V 0 archive
-docker run -v $D:/out:z astra-build-env /bin/bash /out/build.sh $V 0
+docker run -v $D:/out:z astra-build-env-deb8 /bin/bash /out/build.sh $V 0 deb8
+docker run -v $D:/out:z astra-build-env-deb9 /bin/bash /out/build.sh $V 0 deb9 full
+#Disable this until cython is available for python 3.10 in conda
+#docker run -v $D:/out:z astra-build-env-deb11 /bin/bash /out/build.sh $V 0 deb11 full
+docker run -v $D:/out:z astra-build-env-deb11 /bin/bash /out/build.sh $V 0 deb11
rm -f $D/build.sh
diff --git a/samples/matlab/s001_sinogram_par2d.m b/samples/matlab/s001_sinogram_par2d.m
index 5c49758..75be614 100644
--- a/samples/matlab/s001_sinogram_par2d.m
+++ b/samples/matlab/s001_sinogram_par2d.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s002_data2d.m b/samples/matlab/s002_data2d.m
index f075291..709ba67 100644
--- a/samples/matlab/s002_data2d.m
+++ b/samples/matlab/s002_data2d.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s003_gpu_reconstruction.m b/samples/matlab/s003_gpu_reconstruction.m
index 4a2cec7..e6d707a 100644
--- a/samples/matlab/s003_gpu_reconstruction.m
+++ b/samples/matlab/s003_gpu_reconstruction.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s004_cpu_reconstruction.m b/samples/matlab/s004_cpu_reconstruction.m
index c3b7a95..43d558c 100644
--- a/samples/matlab/s004_cpu_reconstruction.m
+++ b/samples/matlab/s004_cpu_reconstruction.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s005_3d_geometry.m b/samples/matlab/s005_3d_geometry.m
index df3ffad..4913aff 100644
--- a/samples/matlab/s005_3d_geometry.m
+++ b/samples/matlab/s005_3d_geometry.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s006_3d_data.m b/samples/matlab/s006_3d_data.m
index 9fac2f8..be95b76 100644
--- a/samples/matlab/s006_3d_data.m
+++ b/samples/matlab/s006_3d_data.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s007_3d_reconstruction.m b/samples/matlab/s007_3d_reconstruction.m
index 6e47490..7a567a1 100644
--- a/samples/matlab/s007_3d_reconstruction.m
+++ b/samples/matlab/s007_3d_reconstruction.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s008_gpu_selection.m b/samples/matlab/s008_gpu_selection.m
index 4cf7392..1397f19 100644
--- a/samples/matlab/s008_gpu_selection.m
+++ b/samples/matlab/s008_gpu_selection.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s009_projection_matrix.m b/samples/matlab/s009_projection_matrix.m
index b272be9..76eae3c 100644
--- a/samples/matlab/s009_projection_matrix.m
+++ b/samples/matlab/s009_projection_matrix.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s010_supersampling.m b/samples/matlab/s010_supersampling.m
index ca9bb21..e8b6bbb 100644
--- a/samples/matlab/s010_supersampling.m
+++ b/samples/matlab/s010_supersampling.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s011_object_info.m b/samples/matlab/s011_object_info.m
index 96aff2a..46213ca 100644
--- a/samples/matlab/s011_object_info.m
+++ b/samples/matlab/s011_object_info.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s012_masks.m b/samples/matlab/s012_masks.m
index 9914f4b..3fe4626 100644
--- a/samples/matlab/s012_masks.m
+++ b/samples/matlab/s012_masks.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s013_constraints.m b/samples/matlab/s013_constraints.m
index aaaf4d1..4beffce 100644
--- a/samples/matlab/s013_constraints.m
+++ b/samples/matlab/s013_constraints.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s014_FBP.m b/samples/matlab/s014_FBP.m
index 038aa90..ba30e0e 100644
--- a/samples/matlab/s014_FBP.m
+++ b/samples/matlab/s014_FBP.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s015_fp_bp.m b/samples/matlab/s015_fp_bp.m
index 34235d4..3b64f10 100644
--- a/samples/matlab/s015_fp_bp.m
+++ b/samples/matlab/s015_fp_bp.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s016_plots.m b/samples/matlab/s016_plots.m
index ac7c169..16ec575 100644
--- a/samples/matlab/s016_plots.m
+++ b/samples/matlab/s016_plots.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s017_opTomo.m b/samples/matlab/s017_opTomo.m
index 175287a..795a642 100644
--- a/samples/matlab/s017_opTomo.m
+++ b/samples/matlab/s017_opTomo.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s020_3d_multiGPU.m b/samples/matlab/s020_3d_multiGPU.m
index e793848..7ed4ee0 100644
--- a/samples/matlab/s020_3d_multiGPU.m
+++ b/samples/matlab/s020_3d_multiGPU.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s022_fbp_cor.m b/samples/matlab/s022_fbp_cor.m
index 2820541..aac7a19 100644
--- a/samples/matlab/s022_fbp_cor.m
+++ b/samples/matlab/s022_fbp_cor.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s023_FBP_filters.m b/samples/matlab/s023_FBP_filters.m
index d01b0d0..f138ba1 100644
--- a/samples/matlab/s023_FBP_filters.m
+++ b/samples/matlab/s023_FBP_filters.m
@@ -1,8 +1,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/matlab/s024_plot_geometry.m b/samples/matlab/s024_plot_geometry.m
index 6c4c3f0..9623ac4 100644
--- a/samples/matlab/s024_plot_geometry.m
+++ b/samples/matlab/s024_plot_geometry.m
@@ -4,8 +4,8 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-% 2014-2018, CWI, Amsterdam
+% Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+% 2014-2021, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@astra-toolbox.com
% Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s001_sinogram_par2d.py b/samples/python/s001_sinogram_par2d.py
index cad3312..2f9cadb 100644
--- a/samples/python/s001_sinogram_par2d.py
+++ b/samples/python/s001_sinogram_par2d.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s002_data2d.py b/samples/python/s002_data2d.py
index 764d328..72aeaf6 100644
--- a/samples/python/s002_data2d.py
+++ b/samples/python/s002_data2d.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s003_gpu_reconstruction.py b/samples/python/s003_gpu_reconstruction.py
index 598d965..fd55af8 100644
--- a/samples/python/s003_gpu_reconstruction.py
+++ b/samples/python/s003_gpu_reconstruction.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s004_cpu_reconstruction.py b/samples/python/s004_cpu_reconstruction.py
index 8b632fc..bd49d9b 100644
--- a/samples/python/s004_cpu_reconstruction.py
+++ b/samples/python/s004_cpu_reconstruction.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s005_3d_geometry.py b/samples/python/s005_3d_geometry.py
index 24f1a3e..1226a78 100644
--- a/samples/python/s005_3d_geometry.py
+++ b/samples/python/s005_3d_geometry.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s006_3d_data.py b/samples/python/s006_3d_data.py
index 7f2f955..bd06d93 100644
--- a/samples/python/s006_3d_data.py
+++ b/samples/python/s006_3d_data.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s007_3d_reconstruction.py b/samples/python/s007_3d_reconstruction.py
index c7283a1..425ee06 100644
--- a/samples/python/s007_3d_reconstruction.py
+++ b/samples/python/s007_3d_reconstruction.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s008_gpu_selection.py b/samples/python/s008_gpu_selection.py
index 21ce762..1258ce3 100644
--- a/samples/python/s008_gpu_selection.py
+++ b/samples/python/s008_gpu_selection.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s009_projection_matrix.py b/samples/python/s009_projection_matrix.py
index cd4cf63..840dc27 100644
--- a/samples/python/s009_projection_matrix.py
+++ b/samples/python/s009_projection_matrix.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s010_supersampling.py b/samples/python/s010_supersampling.py
index fb6cf59..2241ad3 100644
--- a/samples/python/s010_supersampling.py
+++ b/samples/python/s010_supersampling.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s011_object_info.py b/samples/python/s011_object_info.py
index 84da6f8..7f6eb62 100644
--- a/samples/python/s011_object_info.py
+++ b/samples/python/s011_object_info.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s012_masks.py b/samples/python/s012_masks.py
index d7f5352..951be44 100644
--- a/samples/python/s012_masks.py
+++ b/samples/python/s012_masks.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s013_constraints.py b/samples/python/s013_constraints.py
index b9bf6e4..0c7b4c6 100644
--- a/samples/python/s013_constraints.py
+++ b/samples/python/s013_constraints.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s014_FBP.py b/samples/python/s014_FBP.py
index 1c3a341..69aaa69 100644
--- a/samples/python/s014_FBP.py
+++ b/samples/python/s014_FBP.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s015_fp_bp.py b/samples/python/s015_fp_bp.py
index 10a4585..fa705ef 100644
--- a/samples/python/s015_fp_bp.py
+++ b/samples/python/s015_fp_bp.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s016_plots.py b/samples/python/s016_plots.py
index 0cacc94..12cccac 100644
--- a/samples/python/s016_plots.py
+++ b/samples/python/s016_plots.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s017_OpTomo.py b/samples/python/s017_OpTomo.py
index f26d91d..7c3a456 100644
--- a/samples/python/s017_OpTomo.py
+++ b/samples/python/s017_OpTomo.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s018_plugin.py b/samples/python/s018_plugin.py
index e2ff6f5..efc81ac 100644
--- a/samples/python/s018_plugin.py
+++ b/samples/python/s018_plugin.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s019_experimental_multires.py b/samples/python/s019_experimental_multires.py
index 9b26eca..89b9ff7 100644
--- a/samples/python/s019_experimental_multires.py
+++ b/samples/python/s019_experimental_multires.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s020_3d_multiGPU.py b/samples/python/s020_3d_multiGPU.py
index 5e65d87..e38d0e7 100644
--- a/samples/python/s020_3d_multiGPU.py
+++ b/samples/python/s020_3d_multiGPU.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s021_pygpu.py b/samples/python/s021_pygpu.py
index d89771c..180b4f6 100644
--- a/samples/python/s021_pygpu.py
+++ b/samples/python/s021_pygpu.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s022_fbp_cor.py b/samples/python/s022_fbp_cor.py
index a3b0542..a855a2b 100644
--- a/samples/python/s022_fbp_cor.py
+++ b/samples/python/s022_fbp_cor.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/samples/python/s023_FBP_filters.py b/samples/python/s023_FBP_filters.py
index a67c338..fcdcbf4 100644
--- a/samples/python/s023_FBP_filters.py
+++ b/samples/python/s023_FBP_filters.py
@@ -1,6 +1,6 @@
# -----------------------------------------------------------------------
-# Copyright: 2010-2018, imec Vision Lab, University of Antwerp
-# 2013-2018, CWI, Amsterdam
+# Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+# 2013-2021, CWI, Amsterdam
#
# Contact: astra@astra-toolbox.com
# Website: http://www.astra-toolbox.com/
diff --git a/src/Algorithm.cpp b/src/Algorithm.cpp
index 41da987..09ffd55 100644
--- a/src/Algorithm.cpp
+++ b/src/Algorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ArtAlgorithm.cpp b/src/ArtAlgorithm.cpp
index 570897f..5445034 100644
--- a/src/ArtAlgorithm.cpp
+++ b/src/ArtAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/AstraObjectFactory.cpp b/src/AstraObjectFactory.cpp
index a103bc6..58513a1 100644
--- a/src/AstraObjectFactory.cpp
+++ b/src/AstraObjectFactory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/AstraObjectManager.cpp b/src/AstraObjectManager.cpp
index 92d2da4..9ba204b 100644
--- a/src/AstraObjectManager.cpp
+++ b/src/AstraObjectManager.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/AsyncAlgorithm.cpp b/src/AsyncAlgorithm.cpp
index 7b82376..f963b19 100644
--- a/src/AsyncAlgorithm.cpp
+++ b/src/AsyncAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/BackProjectionAlgorithm.cpp b/src/BackProjectionAlgorithm.cpp
index 97bdb33..fb31407 100644
--- a/src/BackProjectionAlgorithm.cpp
+++ b/src/BackProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CglsAlgorithm.cpp b/src/CglsAlgorithm.cpp
index 7658182..0921b24 100644
--- a/src/CglsAlgorithm.cpp
+++ b/src/CglsAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CompositeGeometryManager.cpp b/src/CompositeGeometryManager.cpp
index 822f746..bbca805 100644
--- a/src/CompositeGeometryManager.cpp
+++ b/src/CompositeGeometryManager.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ConeProjectionGeometry3D.cpp b/src/ConeProjectionGeometry3D.cpp
index 1223564..abd9124 100644
--- a/src/ConeProjectionGeometry3D.cpp
+++ b/src/ConeProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -266,84 +266,5 @@ void CConeProjectionGeometry3D::projectPoint(double fX, double fY, double fZ,
fU = detectorOffsetXToColIndexFloat( (fS * (m_fOriginSourceDistance + m_fOriginDetectorDistance)) / fD );
}
-void CConeProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - proj.fSrcX) / (px - proj.fSrcX);
-
- fY = proj.fSrcY + a * (py - proj.fSrcY);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-
- delete[] projs;
-}
-
-void CConeProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - proj.fSrcY) / (py - proj.fSrcY);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-
- delete[] projs;
-}
-
-void CConeProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - proj.fSrcZ) / (pz - proj.fSrcZ);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fY = proj.fSrcY + a * (py - proj.fSrcY);
-
- delete[] projs;
-}
-
-
} // end namespace astra
diff --git a/src/ConeVecProjectionGeometry3D.cpp b/src/ConeVecProjectionGeometry3D.cpp
index b6a55c5..eb605d8 100644
--- a/src/ConeVecProjectionGeometry3D.cpp
+++ b/src/ConeVecProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -258,60 +258,6 @@ void CConeVecProjectionGeometry3D::projectPoint(double fX, double fY, double fZ,
}
-void CConeVecProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - proj.fSrcX) / (px - proj.fSrcX);
-
- fY = proj.fSrcY + a * (py - proj.fSrcY);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-}
-
-void CConeVecProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - proj.fSrcY) / (py - proj.fSrcY);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-}
-
-void CConeVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - proj.fSrcZ) / (pz - proj.fSrcZ);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fY = proj.fSrcY + a * (py - proj.fSrcY);
-}
-
//----------------------------------------------------------------------------------------
bool CConeVecProjectionGeometry3D::_check()
diff --git a/src/Config.cpp b/src/Config.cpp
index 9420e1f..8712e3e 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaBackProjectionAlgorithm.cpp b/src/CudaBackProjectionAlgorithm.cpp
index c8d56f3..187b7d5 100644
--- a/src/CudaBackProjectionAlgorithm.cpp
+++ b/src/CudaBackProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaBackProjectionAlgorithm3D.cpp b/src/CudaBackProjectionAlgorithm3D.cpp
index d17c1cb..4c3e7ba 100644
--- a/src/CudaBackProjectionAlgorithm3D.cpp
+++ b/src/CudaBackProjectionAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaCglsAlgorithm.cpp b/src/CudaCglsAlgorithm.cpp
index bc60325..c964016 100644
--- a/src/CudaCglsAlgorithm.cpp
+++ b/src/CudaCglsAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaCglsAlgorithm3D.cpp b/src/CudaCglsAlgorithm3D.cpp
index 2977c80..4d8ddd6 100644
--- a/src/CudaCglsAlgorithm3D.cpp
+++ b/src/CudaCglsAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaDartMaskAlgorithm.cpp b/src/CudaDartMaskAlgorithm.cpp
index f6760bc..e9fcb87 100644
--- a/src/CudaDartMaskAlgorithm.cpp
+++ b/src/CudaDartMaskAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaDartMaskAlgorithm3D.cpp b/src/CudaDartMaskAlgorithm3D.cpp
index f2778cf..0c3d646 100644
--- a/src/CudaDartMaskAlgorithm3D.cpp
+++ b/src/CudaDartMaskAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaDartSmoothingAlgorithm.cpp b/src/CudaDartSmoothingAlgorithm.cpp
index 3f81b91..18c8fc3 100644
--- a/src/CudaDartSmoothingAlgorithm.cpp
+++ b/src/CudaDartSmoothingAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaDartSmoothingAlgorithm3D.cpp b/src/CudaDartSmoothingAlgorithm3D.cpp
index 0dc0631..f90f613 100644
--- a/src/CudaDartSmoothingAlgorithm3D.cpp
+++ b/src/CudaDartSmoothingAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaDataOperationAlgorithm.cpp b/src/CudaDataOperationAlgorithm.cpp
index c48eedb..31c4b15 100644
--- a/src/CudaDataOperationAlgorithm.cpp
+++ b/src/CudaDataOperationAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaEMAlgorithm.cpp b/src/CudaEMAlgorithm.cpp
index 94e05a0..4a4effb 100644
--- a/src/CudaEMAlgorithm.cpp
+++ b/src/CudaEMAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp
index 24ed04f..cc23df9 100644
--- a/src/CudaFDKAlgorithm3D.cpp
+++ b/src/CudaFDKAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaFilteredBackProjectionAlgorithm.cpp b/src/CudaFilteredBackProjectionAlgorithm.cpp
index c1d3dc8..0304ba0 100644
--- a/src/CudaFilteredBackProjectionAlgorithm.cpp
+++ b/src/CudaFilteredBackProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaForwardProjectionAlgorithm.cpp b/src/CudaForwardProjectionAlgorithm.cpp
index 24d9a46..bab8306 100644
--- a/src/CudaForwardProjectionAlgorithm.cpp
+++ b/src/CudaForwardProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaForwardProjectionAlgorithm3D.cpp b/src/CudaForwardProjectionAlgorithm3D.cpp
index 2ec1fe2..3eb377b 100644
--- a/src/CudaForwardProjectionAlgorithm3D.cpp
+++ b/src/CudaForwardProjectionAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaProjector2D.cpp b/src/CudaProjector2D.cpp
index 3ee5b8e..42b7937 100644
--- a/src/CudaProjector2D.cpp
+++ b/src/CudaProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaProjector3D.cpp b/src/CudaProjector3D.cpp
index e5c55cc..ba4fb1a 100644
--- a/src/CudaProjector3D.cpp
+++ b/src/CudaProjector3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaReconstructionAlgorithm2D.cpp b/src/CudaReconstructionAlgorithm2D.cpp
index 6730cea..3009c90 100644
--- a/src/CudaReconstructionAlgorithm2D.cpp
+++ b/src/CudaReconstructionAlgorithm2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaRoiSelectAlgorithm.cpp b/src/CudaRoiSelectAlgorithm.cpp
index efeb04c..67bab7f 100644
--- a/src/CudaRoiSelectAlgorithm.cpp
+++ b/src/CudaRoiSelectAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaSartAlgorithm.cpp b/src/CudaSartAlgorithm.cpp
index 7c7ecc0..ebae294 100644
--- a/src/CudaSartAlgorithm.cpp
+++ b/src/CudaSartAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaSirtAlgorithm.cpp b/src/CudaSirtAlgorithm.cpp
index ae1b13d..d550bb8 100644
--- a/src/CudaSirtAlgorithm.cpp
+++ b/src/CudaSirtAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/CudaSirtAlgorithm3D.cpp b/src/CudaSirtAlgorithm3D.cpp
index 17fea67..5519b7f 100644
--- a/src/CudaSirtAlgorithm3D.cpp
+++ b/src/CudaSirtAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/DataProjector.cpp b/src/DataProjector.cpp
index eaca6e0..e9380b2 100644
--- a/src/DataProjector.cpp
+++ b/src/DataProjector.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/DataProjectorPolicies.cpp b/src/DataProjectorPolicies.cpp
index 7a9da34..e150fc9 100644
--- a/src/DataProjectorPolicies.cpp
+++ b/src/DataProjectorPolicies.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/FanFlatBeamLineKernelProjector2D.cpp b/src/FanFlatBeamLineKernelProjector2D.cpp
index a092504..28821e4 100644
--- a/src/FanFlatBeamLineKernelProjector2D.cpp
+++ b/src/FanFlatBeamLineKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/FanFlatBeamStripKernelProjector2D.cpp b/src/FanFlatBeamStripKernelProjector2D.cpp
index c974b82..6534808 100644
--- a/src/FanFlatBeamStripKernelProjector2D.cpp
+++ b/src/FanFlatBeamStripKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/FanFlatProjectionGeometry2D.cpp b/src/FanFlatProjectionGeometry2D.cpp
index 734b4c5..c25dc98 100644
--- a/src/FanFlatProjectionGeometry2D.cpp
+++ b/src/FanFlatProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/FanFlatVecProjectionGeometry2D.cpp b/src/FanFlatVecProjectionGeometry2D.cpp
index ce4e220..e460d1d 100644
--- a/src/FanFlatVecProjectionGeometry2D.cpp
+++ b/src/FanFlatVecProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Features.cpp b/src/Features.cpp
index 09a3499..c758084 100644
--- a/src/Features.cpp
+++ b/src/Features.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -40,6 +40,9 @@ _AstraExport bool hasFeature(const std::string &flag) {
if (flag == "fan_cone_BP_density_weighting_by_default") {
return true;
}
+ if (flag == "unpadded_GPULink") {
+ return true;
+ }
return false;
}
diff --git a/src/FilteredBackProjectionAlgorithm.cpp b/src/FilteredBackProjectionAlgorithm.cpp
index 6b4093d..4400d45 100644
--- a/src/FilteredBackProjectionAlgorithm.cpp
+++ b/src/FilteredBackProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Filters.cpp b/src/Filters.cpp
index 234829c..4407056 100644
--- a/src/Filters.cpp
+++ b/src/Filters.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32Data.cpp b/src/Float32Data.cpp
index 48f0969..a503b62 100644
--- a/src/Float32Data.cpp
+++ b/src/Float32Data.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32Data2D.cpp b/src/Float32Data2D.cpp
index c952700..aba5428 100644
--- a/src/Float32Data2D.cpp
+++ b/src/Float32Data2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32Data3D.cpp b/src/Float32Data3D.cpp
index 078673d..27e6d21 100644
--- a/src/Float32Data3D.cpp
+++ b/src/Float32Data3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32Data3DGPU.cpp b/src/Float32Data3DGPU.cpp
index 2b1ddb2..efa332e 100644
--- a/src/Float32Data3DGPU.cpp
+++ b/src/Float32Data3DGPU.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32Data3DMemory.cpp b/src/Float32Data3DMemory.cpp
index d1cede0..d6de720 100644
--- a/src/Float32Data3DMemory.cpp
+++ b/src/Float32Data3DMemory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32ProjectionData2D.cpp b/src/Float32ProjectionData2D.cpp
index fe6ae49..8a9a222 100644
--- a/src/Float32ProjectionData2D.cpp
+++ b/src/Float32ProjectionData2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32ProjectionData3D.cpp b/src/Float32ProjectionData3D.cpp
index ef614b8..e6285b3 100644
--- a/src/Float32ProjectionData3D.cpp
+++ b/src/Float32ProjectionData3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32ProjectionData3DGPU.cpp b/src/Float32ProjectionData3DGPU.cpp
index e1ae896..ee0ebcd 100644
--- a/src/Float32ProjectionData3DGPU.cpp
+++ b/src/Float32ProjectionData3DGPU.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32ProjectionData3DMemory.cpp b/src/Float32ProjectionData3DMemory.cpp
index dfa1deb..3525c23 100644
--- a/src/Float32ProjectionData3DMemory.cpp
+++ b/src/Float32ProjectionData3DMemory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32VolumeData2D.cpp b/src/Float32VolumeData2D.cpp
index 6ef24fe..46b4abf 100644
--- a/src/Float32VolumeData2D.cpp
+++ b/src/Float32VolumeData2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32VolumeData3D.cpp b/src/Float32VolumeData3D.cpp
index 259f2db..1151a0f 100644
--- a/src/Float32VolumeData3D.cpp
+++ b/src/Float32VolumeData3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32VolumeData3DGPU.cpp b/src/Float32VolumeData3DGPU.cpp
index 00e030c..75510ce 100644
--- a/src/Float32VolumeData3DGPU.cpp
+++ b/src/Float32VolumeData3DGPU.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Float32VolumeData3DMemory.cpp b/src/Float32VolumeData3DMemory.cpp
index 8399fb4..db94692 100644
--- a/src/Float32VolumeData3DMemory.cpp
+++ b/src/Float32VolumeData3DMemory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ForwardProjectionAlgorithm.cpp b/src/ForwardProjectionAlgorithm.cpp
index 732f38c..7d71722 100644
--- a/src/ForwardProjectionAlgorithm.cpp
+++ b/src/ForwardProjectionAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Fourier.cpp b/src/Fourier.cpp
index 1f3f1cb..63176c0 100644
--- a/src/Fourier.cpp
+++ b/src/Fourier.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/GeometryUtil2D.cpp b/src/GeometryUtil2D.cpp
index 806572f..e7c1934 100644
--- a/src/GeometryUtil2D.cpp
+++ b/src/GeometryUtil2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/GeometryUtil3D.cpp b/src/GeometryUtil3D.cpp
index 5257998..28a7a9c 100644
--- a/src/GeometryUtil3D.cpp
+++ b/src/GeometryUtil3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -159,88 +159,4 @@ void computeBP_UV_Coeffs(const SConeProjection& proj, double &fUX, double &fUY,
}
-// TODO: Handle cases of rays parallel to coordinate planes
-
-void backprojectPointX(const SPar3DProjection& proj, double fU, double fV,
- double fX, double &fY, double &fZ)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - px) / proj.fRayX;
-
- fY = py + a * proj.fRayY;
- fZ = pz + a * proj.fRayZ;
-}
-
-void backprojectPointY(const SPar3DProjection& proj, double fU, double fV,
- double fY, double &fX, double &fZ)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - py) / proj.fRayY;
-
- fX = px + a * proj.fRayX;
- fZ = pz + a * proj.fRayZ;
-
-}
-
-void backprojectPointZ(const SPar3DProjection& proj, double fU, double fV,
- double fZ, double &fX, double &fY)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - pz) / proj.fRayZ;
-
- fX = px + a * proj.fRayX;
- fY = py + a * proj.fRayY;
-}
-
-
-
-void backprojectPointX(const SConeProjection& proj, double fU, double fV,
- double fX, double &fY, double &fZ)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - proj.fSrcX) / (px - proj.fSrcX);
-
- fY = proj.fSrcY + a * (py - proj.fSrcY);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-}
-
-void backprojectPointY(const SConeProjection& proj, double fU, double fV,
- double fY, double &fX, double &fZ)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - proj.fSrcY) / (py - proj.fSrcY);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-}
-
-void backprojectPointZ(const SConeProjection& proj, double fU, double fV,
- double fZ, double &fX, double &fY)
-{
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - proj.fSrcZ) / (pz - proj.fSrcZ);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fY = proj.fSrcY + a * (py - proj.fSrcY);
-}
-
-
}
diff --git a/src/Globals.cpp b/src/Globals.cpp
index 5f32482..a3c7a0a 100644
--- a/src/Globals.cpp
+++ b/src/Globals.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -43,11 +43,11 @@ _AstraExport bool cudaAvailable() {
static bool (*pShouldAbortHook)(void) = 0;
-void setShouldAbortHook(bool (*_pShouldAbortHook)(void)) {
+_AstraExport void setShouldAbortHook(bool (*_pShouldAbortHook)(void)) {
pShouldAbortHook = _pShouldAbortHook;
}
-bool shouldAbort() {
+_AstraExport bool shouldAbort() {
if (pShouldAbortHook && (*pShouldAbortHook)())
return true;
diff --git a/src/Logging.cpp b/src/Logging.cpp
index c9513fc..560d404 100644
--- a/src/Logging.cpp
+++ b/src/Logging.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelBeamBlobKernelProjector2D.cpp b/src/ParallelBeamBlobKernelProjector2D.cpp
index 0fb658f..eca72a2 100644
--- a/src/ParallelBeamBlobKernelProjector2D.cpp
+++ b/src/ParallelBeamBlobKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelBeamDistanceDrivenProjector2D.cpp b/src/ParallelBeamDistanceDrivenProjector2D.cpp
index 531bef9..97e2eac 100644
--- a/src/ParallelBeamDistanceDrivenProjector2D.cpp
+++ b/src/ParallelBeamDistanceDrivenProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelBeamLineKernelProjector2D.cpp b/src/ParallelBeamLineKernelProjector2D.cpp
index 1765df3..5961e28 100644
--- a/src/ParallelBeamLineKernelProjector2D.cpp
+++ b/src/ParallelBeamLineKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelBeamLinearKernelProjector2D.cpp b/src/ParallelBeamLinearKernelProjector2D.cpp
index 120b1a2..c1ce1fe 100644
--- a/src/ParallelBeamLinearKernelProjector2D.cpp
+++ b/src/ParallelBeamLinearKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelBeamStripKernelProjector2D.cpp b/src/ParallelBeamStripKernelProjector2D.cpp
index d2086da..ba70cd2 100644
--- a/src/ParallelBeamStripKernelProjector2D.cpp
+++ b/src/ParallelBeamStripKernelProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelProjectionGeometry2D.cpp b/src/ParallelProjectionGeometry2D.cpp
index 0622795..8c3b976 100644
--- a/src/ParallelProjectionGeometry2D.cpp
+++ b/src/ParallelProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelProjectionGeometry3D.cpp b/src/ParallelProjectionGeometry3D.cpp
index 8b0585c..1d29ad6 100644
--- a/src/ParallelProjectionGeometry3D.cpp
+++ b/src/ParallelProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -215,79 +215,6 @@ CParallelProjectionGeometry2D * CParallelProjectionGeometry3D::createProjectionG
return pOutput;
}
-void CParallelProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - px) / proj.fRayX;
-
- fY = py + a * proj.fRayY;
- fZ = pz + a * proj.fRayZ;
-
- delete[] projs;
-}
-
-void CParallelProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - py) / proj.fRayY;
-
- fX = px + a * proj.fRayX;
- fZ = pz + a * proj.fRayZ;
-
- delete[] projs;
-}
-
-void CParallelProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - pz) / proj.fRayZ;
-
- fX = px + a * proj.fRayX;
- fY = py + a * proj.fRayY;
-
- delete[] projs;
-}
-
-
//----------------------------------------------------------------------------------------
} // end namespace astra
diff --git a/src/ParallelVecProjectionGeometry2D.cpp b/src/ParallelVecProjectionGeometry2D.cpp
index 0994b55..4f3d8c4 100644
--- a/src/ParallelVecProjectionGeometry2D.cpp
+++ b/src/ParallelVecProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ParallelVecProjectionGeometry3D.cpp b/src/ParallelVecProjectionGeometry3D.cpp
index 5dc3df8..78e6d9d 100644
--- a/src/ParallelVecProjectionGeometry3D.cpp
+++ b/src/ParallelVecProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -256,61 +256,6 @@ void CParallelVecProjectionGeometry3D::projectPoint(double fX, double fY, double
}
-void CParallelVecProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - px) / proj.fRayX;
-
- fY = py + a * proj.fRayY;
- fZ = pz + a * proj.fRayZ;
-}
-
-void CParallelVecProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - py) / proj.fRayY;
-
- fX = px + a * proj.fRayX;
- fZ = pz + a * proj.fRayZ;
-}
-
-void CParallelVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - pz) / proj.fRayZ;
-
- fX = px + a * proj.fRayX;
- fY = py + a * proj.fRayY;
-}
-
-
//----------------------------------------------------------------------------------------
bool CParallelVecProjectionGeometry3D::_check()
diff --git a/src/PlatformDepSystemCode.cpp b/src/PlatformDepSystemCode.cpp
index d70cce7..d93d6f5 100644
--- a/src/PlatformDepSystemCode.cpp
+++ b/src/PlatformDepSystemCode.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/PluginAlgorithmFactory.cpp b/src/PluginAlgorithmFactory.cpp
index a6b445f..420e22c 100644
--- a/src/PluginAlgorithmFactory.cpp
+++ b/src/PluginAlgorithmFactory.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ProjectionGeometry2D.cpp b/src/ProjectionGeometry2D.cpp
index 93dd5c6..87dc816 100644
--- a/src/ProjectionGeometry2D.cpp
+++ b/src/ProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ProjectionGeometry3D.cpp b/src/ProjectionGeometry3D.cpp
index 8d2dc76..71c8df5 100644
--- a/src/ProjectionGeometry3D.cpp
+++ b/src/ProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Projector2D.cpp b/src/Projector2D.cpp
index aae3b13..bb73a88 100644
--- a/src/Projector2D.cpp
+++ b/src/Projector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Projector3D.cpp b/src/Projector3D.cpp
index 2623f7e..32fd6ff 100644
--- a/src/Projector3D.cpp
+++ b/src/Projector3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ReconstructionAlgorithm2D.cpp b/src/ReconstructionAlgorithm2D.cpp
index 781b391..a75b0c4 100644
--- a/src/ReconstructionAlgorithm2D.cpp
+++ b/src/ReconstructionAlgorithm2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/ReconstructionAlgorithm3D.cpp b/src/ReconstructionAlgorithm3D.cpp
index 86be290..14ff2e6 100644
--- a/src/ReconstructionAlgorithm3D.cpp
+++ b/src/ReconstructionAlgorithm3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/SartAlgorithm.cpp b/src/SartAlgorithm.cpp
index 7a3947d..05162cd 100644
--- a/src/SartAlgorithm.cpp
+++ b/src/SartAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/SirtAlgorithm.cpp b/src/SirtAlgorithm.cpp
index f08e8b2..3a67d41 100644
--- a/src/SirtAlgorithm.cpp
+++ b/src/SirtAlgorithm.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/SparseMatrix.cpp b/src/SparseMatrix.cpp
index 34f032c..893a4a0 100644
--- a/src/SparseMatrix.cpp
+++ b/src/SparseMatrix.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/SparseMatrixProjectionGeometry2D.cpp b/src/SparseMatrixProjectionGeometry2D.cpp
index e8165a3..dae26d4 100644
--- a/src/SparseMatrixProjectionGeometry2D.cpp
+++ b/src/SparseMatrixProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/SparseMatrixProjector2D.cpp b/src/SparseMatrixProjector2D.cpp
index 46302f3..ef6fe3c 100644
--- a/src/SparseMatrixProjector2D.cpp
+++ b/src/SparseMatrixProjector2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Utilities.cpp b/src/Utilities.cpp
index b14b444..d69b0b8 100644
--- a/src/Utilities.cpp
+++ b/src/Utilities.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/Vector3D.cpp b/src/Vector3D.cpp
index 40c40c5..d158138 100644
--- a/src/Vector3D.cpp
+++ b/src/Vector3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/VolumeGeometry2D.cpp b/src/VolumeGeometry2D.cpp
index b27caa8..d326995 100644
--- a/src/VolumeGeometry2D.cpp
+++ b/src/VolumeGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/VolumeGeometry3D.cpp b/src/VolumeGeometry3D.cpp
index eb8cc60..a9f8ae1 100644
--- a/src/VolumeGeometry3D.cpp
+++ b/src/VolumeGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/XMLDocument.cpp b/src/XMLDocument.cpp
index 65cb0b6..53823d0 100644
--- a/src/XMLDocument.cpp
+++ b/src/XMLDocument.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/src/XMLNode.cpp b/src/XMLNode.cpp
index 35774d8..78ed58b 100644
--- a/src/XMLNode.cpp
+++ b/src/XMLNode.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/main.cpp b/tests/main.cpp
index 3fd5cab..20506a4 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_AstraObjectManager.cpp b/tests/test_AstraObjectManager.cpp
index 78ebb17..1dcee34 100644
--- a/tests/test_AstraObjectManager.cpp
+++ b/tests/test_AstraObjectManager.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_FanFlatProjectionGeometry2D.cpp b/tests/test_FanFlatProjectionGeometry2D.cpp
index 29e8a99..a337bba 100644
--- a/tests/test_FanFlatProjectionGeometry2D.cpp
+++ b/tests/test_FanFlatProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_Float32Data2D.cpp b/tests/test_Float32Data2D.cpp
index 921cf9a..efc16ab 100644
--- a/tests/test_Float32Data2D.cpp
+++ b/tests/test_Float32Data2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_Float32ProjectionData2D.cpp b/tests/test_Float32ProjectionData2D.cpp
index 639d42d..3306a68 100644
--- a/tests/test_Float32ProjectionData2D.cpp
+++ b/tests/test_Float32ProjectionData2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_Float32VolumeData2D.cpp b/tests/test_Float32VolumeData2D.cpp
index 3252a65..1c4db2f 100644
--- a/tests/test_Float32VolumeData2D.cpp
+++ b/tests/test_Float32VolumeData2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_Fourier.cpp b/tests/test_Fourier.cpp
index 0f153eb..e7df2a1 100644
--- a/tests/test_Fourier.cpp
+++ b/tests/test_Fourier.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_ParallelProjectionGeometry2D.cpp b/tests/test_ParallelProjectionGeometry2D.cpp
index 50af3da..46788ac 100644
--- a/tests/test_ParallelProjectionGeometry2D.cpp
+++ b/tests/test_ParallelProjectionGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_VolumeGeometry2D.cpp b/tests/test_VolumeGeometry2D.cpp
index 40e1655..55583fc 100644
--- a/tests/test_VolumeGeometry2D.cpp
+++ b/tests/test_VolumeGeometry2D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
diff --git a/tests/test_XMLDocument.cpp b/tests/test_XMLDocument.cpp
index c808e8c..c4a545f 100644
--- a/tests/test_XMLDocument.cpp
+++ b/tests/test_XMLDocument.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/