diff options
460 files changed, 1397 insertions, 1769 deletions
@@ -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 @@ -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 @@ -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/ @@ -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/ |