summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2017-09-15 16:38:08 +0200
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2017-09-15 16:38:08 +0200
commitaa31a06235496c0d808e57c8ce914cb4b640bc6e (patch)
tree33385e828ddca0b2857bac9e3dac4dd3723a3eee
parentf6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02 (diff)
parent00a1c6118b2d64b867c8e640c295462bcccfc7c9 (diff)
downloadastra-aa31a06235496c0d808e57c8ce914cb4b640bc6e.tar.gz
astra-aa31a06235496c0d808e57c8ce914cb4b640bc6e.tar.bz2
astra-aa31a06235496c0d808e57c8ce914cb4b640bc6e.tar.xz
astra-aa31a06235496c0d808e57c8ce914cb4b640bc6e.zip
Merge branch 'master' into parallel_vec
-rw-r--r--.gitignore2
-rw-r--r--.travis.yml53
-rw-r--r--NEWS.txt18
-rw-r--r--README.md115
-rw-r--r--README.txt116
-rw-r--r--astra_vc09.sln243
-rw-r--r--astra_vc09.vcproj3300
-rw-r--r--astra_vc11.sln243
-rw-r--r--astra_vc14.sln245
-rw-r--r--astra_vc14.vcxproj (renamed from astra_vc11.vcxproj)46
-rw-r--r--astra_vc14.vcxproj.filters (renamed from astra_vc11.vcxproj.filters)18
-rw-r--r--build/Cuda.rules358
-rw-r--r--build/linux/Makefile.in239
-rwxr-xr-xbuild/linux/autogen.sh7
-rw-r--r--build/linux/configure.ac118
-rw-r--r--build/msvc/build_clean.bat12
-rw-r--r--build/msvc/build_env.bat16
-rw-r--r--build/msvc/build_matlab.bat14
-rw-r--r--build/msvc/build_python27.bat28
-rw-r--r--build/msvc/build_python35.bat27
-rw-r--r--build/msvc/build_release.bat141
-rw-r--r--build/msvc/build_setup.bat37
-rw-r--r--build/msvc/gen.py130
-rw-r--r--cuda/2d/algo.cu7
-rw-r--r--cuda/2d/algo.h7
-rw-r--r--cuda/2d/arith.cu7
-rw-r--r--cuda/2d/arith.h7
-rw-r--r--cuda/2d/astra.cu7
-rw-r--r--cuda/2d/astra.h7
-rw-r--r--cuda/2d/cgls.cu7
-rw-r--r--cuda/2d/cgls.h7
-rw-r--r--cuda/2d/darthelper.cu7
-rw-r--r--cuda/2d/darthelper.h7
-rw-r--r--cuda/2d/dims.h7
-rw-r--r--cuda/2d/em.cu7
-rw-r--r--cuda/2d/em.h7
-rw-r--r--cuda/2d/fan_bp.cu7
-rw-r--r--cuda/2d/fan_bp.h7
-rw-r--r--cuda/2d/fan_fp.cu7
-rw-r--r--cuda/2d/fan_fp.h7
-rw-r--r--cuda/2d/fbp_filters.h7
-rw-r--r--cuda/2d/fft.cu7
-rw-r--r--cuda/2d/fft.h7
-rw-r--r--cuda/2d/par_bp.cu7
-rw-r--r--cuda/2d/par_bp.h7
-rw-r--r--cuda/2d/par_fp.cu7
-rw-r--r--cuda/2d/par_fp.h7
-rw-r--r--cuda/2d/sart.cu7
-rw-r--r--cuda/2d/sart.h7
-rw-r--r--cuda/2d/sirt.cu7
-rw-r--r--cuda/2d/sirt.h7
-rw-r--r--cuda/2d/util.cu7
-rw-r--r--cuda/2d/util.h7
-rw-r--r--cuda/3d/algo3d.cu7
-rw-r--r--cuda/3d/algo3d.h7
-rw-r--r--cuda/3d/arith3d.cu7
-rw-r--r--cuda/3d/arith3d.h7
-rw-r--r--cuda/3d/astra3d.cu47
-rw-r--r--cuda/3d/astra3d.h7
-rw-r--r--cuda/3d/cgls3d.cu7
-rw-r--r--cuda/3d/cgls3d.h7
-rw-r--r--cuda/3d/cone_bp.cu7
-rw-r--r--cuda/3d/cone_bp.h7
-rw-r--r--cuda/3d/cone_fp.cu9
-rw-r--r--cuda/3d/cone_fp.h7
-rw-r--r--cuda/3d/darthelper3d.cu7
-rw-r--r--cuda/3d/darthelper3d.h7
-rw-r--r--cuda/3d/dims3d.h7
-rw-r--r--cuda/3d/fdk.cu71
-rw-r--r--cuda/3d/fdk.h10
-rw-r--r--cuda/3d/mem3d.cu53
-rw-r--r--cuda/3d/mem3d.h15
-rw-r--r--cuda/3d/par3d_bp.cu7
-rw-r--r--cuda/3d/par3d_bp.h7
-rw-r--r--cuda/3d/par3d_fp.cu7
-rw-r--r--cuda/3d/par3d_fp.h7
-rw-r--r--cuda/3d/sirt3d.cu7
-rw-r--r--cuda/3d/sirt3d.h7
-rw-r--r--cuda/3d/util3d.cu7
-rw-r--r--cuda/3d/util3d.h7
-rw-r--r--include/astra/Algorithm.h9
-rw-r--r--include/astra/AlgorithmTypelist.h15
-rw-r--r--include/astra/ArtAlgorithm.h9
-rw-r--r--include/astra/AstraObjectFactory.h11
-rw-r--r--include/astra/AstraObjectManager.h23
-rw-r--r--include/astra/AsyncAlgorithm.h7
-rw-r--r--include/astra/BackProjectionAlgorithm.h9
-rw-r--r--include/astra/CglsAlgorithm.h9
-rw-r--r--include/astra/CompositeGeometryManager.h53
-rw-r--r--include/astra/ConeProjectionGeometry3D.h7
-rw-r--r--include/astra/ConeVecProjectionGeometry3D.h7
-rw-r--r--include/astra/Config.h7
-rw-r--r--include/astra/CudaBackProjectionAlgorithm.h7
-rw-r--r--include/astra/CudaBackProjectionAlgorithm3D.h17
-rw-r--r--include/astra/CudaCglsAlgorithm.h7
-rw-r--r--include/astra/CudaCglsAlgorithm3D.h9
-rw-r--r--include/astra/CudaDartMaskAlgorithm.h9
-rw-r--r--include/astra/CudaDartMaskAlgorithm3D.h9
-rw-r--r--include/astra/CudaDartSmoothingAlgorithm.h9
-rw-r--r--include/astra/CudaDartSmoothingAlgorithm3D.h9
-rw-r--r--include/astra/CudaDataOperationAlgorithm.h15
-rw-r--r--include/astra/CudaEMAlgorithm.h7
-rw-r--r--include/astra/CudaFDKAlgorithm3D.h18
-rw-r--r--include/astra/CudaFilteredBackProjectionAlgorithm.h13
-rw-r--r--include/astra/CudaForwardProjectionAlgorithm.h9
-rw-r--r--include/astra/CudaForwardProjectionAlgorithm3D.h17
-rw-r--r--include/astra/CudaProjector2D.h11
-rw-r--r--include/astra/CudaProjector3D.h9
-rw-r--r--include/astra/CudaReconstructionAlgorithm2D.h9
-rw-r--r--include/astra/CudaRoiSelectAlgorithm.h9
-rw-r--r--include/astra/CudaSartAlgorithm.h7
-rw-r--r--include/astra/CudaSirtAlgorithm.h7
-rw-r--r--include/astra/CudaSirtAlgorithm3D.h9
-rw-r--r--include/astra/DataProjector.h7
-rw-r--r--include/astra/DataProjectorPolicies.h7
-rw-r--r--include/astra/DataProjectorPolicies.inl7
-rw-r--r--include/astra/FanFlatBeamLineKernelProjector2D.h7
-rw-r--r--include/astra/FanFlatBeamLineKernelProjector2D.inl8
-rw-r--r--include/astra/FanFlatBeamStripKernelProjector2D.h7
-rw-r--r--include/astra/FanFlatBeamStripKernelProjector2D.inl9
-rw-r--r--include/astra/FanFlatProjectionGeometry2D.h7
-rw-r--r--include/astra/FanFlatVecProjectionGeometry2D.h7
-rw-r--r--include/astra/FilteredBackProjectionAlgorithm.h9
-rw-r--r--include/astra/Float32Data.h7
-rw-r--r--include/astra/Float32Data2D.h9
-rw-r--r--include/astra/Float32Data3D.h27
-rw-r--r--include/astra/Float32Data3DGPU.h107
-rw-r--r--include/astra/Float32Data3DMemory.h73
-rw-r--r--include/astra/Float32ProjectionData2D.h7
-rw-r--r--include/astra/Float32ProjectionData3D.h56
-rw-r--r--include/astra/Float32ProjectionData3DGPU.h91
-rw-r--r--include/astra/Float32ProjectionData3DMemory.h56
-rw-r--r--include/astra/Float32VolumeData2D.h7
-rw-r--r--include/astra/Float32VolumeData3D.h73
-rw-r--r--include/astra/Float32VolumeData3DGPU.h91
-rw-r--r--include/astra/Float32VolumeData3DMemory.h60
-rw-r--r--include/astra/ForwardProjectionAlgorithm.h9
-rw-r--r--include/astra/Fourier.h7
-rw-r--r--include/astra/GeometryUtil2D.h7
-rw-r--r--include/astra/GeometryUtil3D.h7
-rw-r--r--include/astra/Globals.h27
-rw-r--r--include/astra/Logging.h7
-rw-r--r--include/astra/ParallelBeamBlobKernelProjector2D.h7
-rw-r--r--include/astra/ParallelBeamBlobKernelProjector2D.inl7
-rw-r--r--include/astra/ParallelBeamLineKernelProjector2D.h7
-rw-r--r--include/astra/ParallelBeamLineKernelProjector2D.inl7
-rw-r--r--include/astra/ParallelBeamLinearKernelProjector2D.h7
-rw-r--r--include/astra/ParallelBeamLinearKernelProjector2D.inl8
-rw-r--r--include/astra/ParallelBeamStripKernelProjector2D.h7
-rw-r--r--include/astra/ParallelBeamStripKernelProjector2D.inl7
-rw-r--r--include/astra/ParallelProjectionGeometry2D.h7
-rw-r--r--include/astra/ParallelProjectionGeometry3D.h7
-rw-r--r--include/astra/ParallelVecProjectionGeometry3D.h7
-rw-r--r--include/astra/PlatformDepSystemCode.h7
-rw-r--r--include/astra/PluginAlgorithm.h7
-rw-r--r--include/astra/ProjectionGeometry2D.h7
-rw-r--r--include/astra/ProjectionGeometry3D.h7
-rw-r--r--include/astra/Projector2D.h7
-rw-r--r--include/astra/Projector2DImpl.inl7
-rw-r--r--include/astra/Projector3D.h7
-rw-r--r--include/astra/ProjectorTypelist.h32
-rw-r--r--include/astra/ReconstructionAlgorithm2D.h9
-rw-r--r--include/astra/ReconstructionAlgorithm3D.h9
-rw-r--r--include/astra/SartAlgorithm.h9
-rw-r--r--include/astra/Singleton.h15
-rw-r--r--include/astra/SirtAlgorithm.h9
-rw-r--r--include/astra/SparseMatrix.h7
-rw-r--r--include/astra/SparseMatrixProjectionGeometry2D.h7
-rw-r--r--include/astra/SparseMatrixProjector2D.h7
-rw-r--r--include/astra/SparseMatrixProjector2D.inl7
-rw-r--r--include/astra/TypeList.h93
-rw-r--r--include/astra/Utilities.h7
-rw-r--r--include/astra/Vector3D.h7
-rw-r--r--include/astra/VolumeGeometry2D.h7
-rw-r--r--include/astra/VolumeGeometry3D.h7
-rw-r--r--include/astra/XMLDocument.h15
-rw-r--r--include/astra/XMLNode.h63
-rw-r--r--include/astra/swrap.h7
-rw-r--r--lib/include/rapidxml/rapidxml.hpp6
-rw-r--r--matlab/algorithms/DART/DARTalgorithm.m6
-rw-r--r--matlab/algorithms/DART/IterativeTomography.m10
-rw-r--r--matlab/algorithms/DART/IterativeTomography3D.m10
-rw-r--r--matlab/algorithms/DART/Kernels.m6
-rw-r--r--matlab/algorithms/DART/MaskingDefault.m6
-rw-r--r--matlab/algorithms/DART/MaskingGPU.m6
-rw-r--r--matlab/algorithms/DART/OutputDefault.m6
-rw-r--r--matlab/algorithms/DART/SegmentationDefault.m6
-rw-r--r--matlab/algorithms/DART/SmoothingDefault.m6
-rw-r--r--matlab/algorithms/DART/SmoothingGPU.m6
-rw-r--r--matlab/algorithms/DART/StatisticsDefault.m6
-rw-r--r--matlab/algorithms/DART/examples/example1.m6
-rw-r--r--matlab/algorithms/DART/examples/example2.m6
-rw-r--r--matlab/algorithms/DART/examples/example3.m6
-rw-r--r--matlab/algorithms/DART/tools/DARToptimizer.m6
-rw-r--r--matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m6
-rw-r--r--matlab/algorithms/DART/tools/ProjDiffOptimFunc.m6
-rw-r--r--matlab/algorithms/DART/tools/dart_create_base_phantom.m6
-rw-r--r--matlab/algorithms/DART/tools/dart_scheduler.m6
-rw-r--r--matlab/algorithms/DART/tools/rNMPOptimFunc.m6
-rw-r--r--matlab/mex/astra_mex_algorithm_c.cpp7
-rw-r--r--matlab/mex/astra_mex_algorithm_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_algorithm_vc14.vcxproj (renamed from matlab/mex/astra_mex_algorithm_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_c.cpp7
-rw-r--r--matlab/mex/astra_mex_data2d_c.cpp7
-rw-r--r--matlab/mex/astra_mex_data2d_vc09.vcproj628
-rw-r--r--matlab/mex/astra_mex_data2d_vc14.vcxproj (renamed from matlab/mex/astra_mex_data2d_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_data3d_c.cpp13
-rw-r--r--matlab/mex/astra_mex_data3d_vc09.vcproj628
-rw-r--r--matlab/mex/astra_mex_data3d_vc14.vcxproj (renamed from matlab/mex/astra_mex_data3d_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_direct_c.cpp7
-rw-r--r--matlab/mex/astra_mex_direct_vc09.vcproj628
-rw-r--r--matlab/mex/astra_mex_direct_vc14.vcxproj (renamed from matlab/mex/astra_mex_direct_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_file_vc11.vcxproj289
-rw-r--r--matlab/mex/astra_mex_log_c.cpp7
-rw-r--r--matlab/mex/astra_mex_log_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_log_vc14.vcxproj (renamed from matlab/mex/astra_mex_log_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_matrix_c.cpp7
-rw-r--r--matlab/mex/astra_mex_matrix_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_matrix_vc14.vcxproj (renamed from matlab/mex/astra_mex_matrix_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_plugin_c.cpp7
-rw-r--r--matlab/mex/astra_mex_projector3d_c.cpp7
-rw-r--r--matlab/mex/astra_mex_projector3d_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_projector3d_vc14.vcxproj (renamed from matlab/mex/astra_mex_projector3d_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_projector_c.cpp7
-rw-r--r--matlab/mex/astra_mex_projector_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_projector_vc14.vcxproj (renamed from matlab/mex/astra_mex_projector_vc11.vcxproj)18
-rw-r--r--matlab/mex/astra_mex_vc09.vcproj612
-rw-r--r--matlab/mex/astra_mex_vc14.vcxproj (renamed from matlab/mex/astra_mex_vc11.vcxproj)18
-rw-r--r--matlab/mex/mexCopyDataHelpFunctions.cpp13
-rw-r--r--matlab/mex/mexCopyDataHelpFunctions.h7
-rw-r--r--matlab/mex/mexDataManagerHelpFunctions.cpp30
-rw-r--r--matlab/mex/mexDataManagerHelpFunctions.h9
-rw-r--r--matlab/mex/mexHelpFunctions.cpp17
-rw-r--r--matlab/mex/mexHelpFunctions.h11
-rw-r--r--matlab/mex/mexInitFunctions.h2
-rw-r--r--matlab/mex/octave_support.cpp44
-rw-r--r--matlab/tools/ROIselectfull.m2
-rw-r--r--matlab/tools/astra_add_noise_to_sino.m7
-rw-r--r--matlab/tools/astra_clear.m7
-rw-r--r--matlab/tools/astra_create_backprojection.m7
-rw-r--r--matlab/tools/astra_create_backprojection3d_cuda.m7
-rw-r--r--matlab/tools/astra_create_backprojection_cuda.m7
-rw-r--r--matlab/tools/astra_create_proj_geom.m7
-rw-r--r--matlab/tools/astra_create_projector.m7
-rw-r--r--matlab/tools/astra_create_reconstruction.m7
-rw-r--r--matlab/tools/astra_create_reconstruction_cuda.m7
-rw-r--r--matlab/tools/astra_create_sino.m7
-rw-r--r--matlab/tools/astra_create_sino3d_cuda.m7
-rw-r--r--matlab/tools/astra_create_sino_cuda.m7
-rw-r--r--matlab/tools/astra_create_sino_gpu.m7
-rw-r--r--matlab/tools/astra_create_sino_sampling.m7
-rw-r--r--matlab/tools/astra_create_vol_geom.m7
-rw-r--r--matlab/tools/astra_data_op.m2
-rw-r--r--matlab/tools/astra_data_op_mask.m2
-rw-r--r--matlab/tools/astra_downsample_sinogram.m7
-rw-r--r--matlab/tools/astra_imshow.m2
-rw-r--r--matlab/tools/astra_mex.m7
-rw-r--r--matlab/tools/astra_mex_algorithm.m7
-rw-r--r--matlab/tools/astra_mex_data2d.m7
-rw-r--r--matlab/tools/astra_mex_data3d.m7
-rw-r--r--matlab/tools/astra_mex_direct.m7
-rw-r--r--matlab/tools/astra_mex_log.m9
-rw-r--r--matlab/tools/astra_mex_matrix.m7
-rw-r--r--matlab/tools/astra_mex_plugin.m9
-rw-r--r--matlab/tools/astra_mex_projector.m7
-rw-r--r--matlab/tools/astra_mex_projector3d.m7
-rw-r--r--matlab/tools/astra_projector_handle.m6
-rw-r--r--matlab/tools/astra_set_directory.m7
-rw-r--r--matlab/tools/astra_set_gpu_index.m7
-rw-r--r--matlab/tools/astra_struct.m7
-rw-r--r--matlab/tools/createOrderART.m7
-rw-r--r--matlab/tools/downsample_sinogram.m2
-rw-r--r--matlab/tools/imreadgs.m7
-rw-r--r--matlab/tools/imresize3D.m7
-rw-r--r--matlab/tools/imscale.m7
-rw-r--r--matlab/tools/imwritesc.m7
-rw-r--r--matlab/tools/kaiserBessel.m7
-rw-r--r--matlab/tools/linspace2.m7
-rw-r--r--matlab/tools/opTomo.m5
-rw-r--r--matlab/tools/overlayImage.m7
-rw-r--r--matlab/tools/rebin_fan2par.m7
-rw-r--r--matlab/tools/sliceExtractor.m7
-rw-r--r--python/astra/PyAlgorithmFactory.pxd36
-rw-r--r--python/astra/PyAlgorithmManager.pxd36
-rw-r--r--python/astra/PyData2DManager.pxd36
-rw-r--r--python/astra/PyData3DManager.pxd36
-rw-r--r--python/astra/PyIncludes.pxd398
-rw-r--r--python/astra/PyIndexManager.pxd2
-rw-r--r--python/astra/PyMatrixManager.pxd36
-rw-r--r--python/astra/PyProjector2DFactory.pxd36
-rw-r--r--python/astra/PyProjector2DManager.pxd36
-rw-r--r--python/astra/PyProjector3DFactory.pxd36
-rw-r--r--python/astra/PyProjector3DManager.pxd36
-rw-r--r--python/astra/PyXMLDocument.pxd35
-rw-r--r--python/astra/__init__.py39
-rw-r--r--python/astra/algorithm.py35
-rw-r--r--python/astra/algorithm_c.pyx4
-rw-r--r--python/astra/astra.py46
-rw-r--r--python/astra/astra_c.pyx11
-rw-r--r--python/astra/creators.py45
-rw-r--r--python/astra/data2d.py36
-rw-r--r--python/astra/data2d_c.pyx59
-rw-r--r--python/astra/data3d.py51
-rw-r--r--python/astra/data3d_c.pyx129
-rw-r--r--python/astra/experimental.pyx26
-rw-r--r--python/astra/extrautils.pyx34
-rw-r--r--python/astra/functions.py24
-rw-r--r--python/astra/log.py37
-rw-r--r--python/astra/log_c.pyx2
-rw-r--r--python/astra/matlab.py36
-rw-r--r--python/astra/matrix.py36
-rw-r--r--python/astra/matrix_c.pyx2
-rw-r--r--python/astra/optomo.py35
-rw-r--r--python/astra/plugin.py37
-rw-r--r--python/astra/plugin_c.pyx2
-rw-r--r--python/astra/plugins/__init__.py29
-rw-r--r--python/astra/plugins/cgls.py99
-rw-r--r--python/astra/plugins/sirt.py90
-rw-r--r--python/astra/projector.py36
-rw-r--r--python/astra/projector3d.py36
-rw-r--r--python/astra/projector3d_c.pyx2
-rw-r--r--python/astra/projector_c.pyx2
-rw-r--r--python/astra/pythonutils.py42
-rw-r--r--python/astra/src/PythonPluginAlgorithm.cpp2
-rw-r--r--python/astra/src/PythonPluginAlgorithm.h2
-rw-r--r--python/astra/utils.pxd36
-rw-r--r--python/astra/utils.pyx2
-rw-r--r--python/builder.py100
-rw-r--r--python/conda/astra-toolbox/bld.bat33
-rw-r--r--python/conda/astra-toolbox/build.sh4
-rw-r--r--python/conda/astra-toolbox/meta.yaml (renamed from python/conda/meta.yaml)18
-rw-r--r--python/conda/build.sh8
-rw-r--r--python/conda/libastra/bld.bat33
-rw-r--r--python/conda/libastra/build.sh44
-rw-r--r--python/conda/libastra/meta.yaml20
-rw-r--r--python/conda/linux_release/README.txt2
-rw-r--r--python/conda/linux_release/buildenv/Dockerfile15
-rw-r--r--python/conda/linux_release/builder/Dockerfile17
-rw-r--r--python/conda/linux_release/release.sh20
-rw-r--r--samples/matlab/s001_sinogram_par2d.m6
-rw-r--r--samples/matlab/s002_data2d.m6
-rw-r--r--samples/matlab/s003_gpu_reconstruction.m6
-rw-r--r--samples/matlab/s004_cpu_reconstruction.m6
-rw-r--r--samples/matlab/s005_3d_geometry.m6
-rw-r--r--samples/matlab/s006_3d_data.m6
-rw-r--r--samples/matlab/s007_3d_reconstruction.m6
-rw-r--r--samples/matlab/s008_gpu_selection.m6
-rw-r--r--samples/matlab/s009_projection_matrix.m6
-rw-r--r--samples/matlab/s010_supersampling.m6
-rw-r--r--samples/matlab/s011_object_info.m6
-rw-r--r--samples/matlab/s012_masks.m6
-rw-r--r--samples/matlab/s013_constraints.m6
-rw-r--r--samples/matlab/s014_FBP.m6
-rw-r--r--samples/matlab/s015_fp_bp.m6
-rw-r--r--samples/matlab/s016_plots.m6
-rw-r--r--samples/matlab/s017_opTomo.m6
-rw-r--r--samples/matlab/s020_3d_multiGPU.m6
-rw-r--r--samples/python/s001_sinogram_par2d.py35
-rw-r--r--samples/python/s002_data2d.py35
-rw-r--r--samples/python/s003_gpu_reconstruction.py35
-rw-r--r--samples/python/s004_cpu_reconstruction.py35
-rw-r--r--samples/python/s005_3d_geometry.py35
-rw-r--r--samples/python/s006_3d_data.py35
-rw-r--r--samples/python/s007_3d_reconstruction.py35
-rw-r--r--samples/python/s008_gpu_selection.py35
-rw-r--r--samples/python/s009_projection_matrix.py35
-rw-r--r--samples/python/s010_supersampling.py35
-rw-r--r--samples/python/s011_object_info.py35
-rw-r--r--samples/python/s012_masks.py36
-rw-r--r--samples/python/s013_constraints.py35
-rw-r--r--samples/python/s014_FBP.py35
-rw-r--r--samples/python/s015_fp_bp.py36
-rw-r--r--samples/python/s016_plots.py35
-rw-r--r--samples/python/s017_OpTomo.py35
-rw-r--r--samples/python/s018_plugin.py47
-rw-r--r--samples/python/s019_experimental_multires.py35
-rw-r--r--samples/python/s020_3d_multiGPU.py35
-rw-r--r--samples/python/s021_pygpu.py72
-rw-r--r--src/Algorithm.cpp7
-rw-r--r--src/ArtAlgorithm.cpp7
-rw-r--r--src/AstraObjectFactory.cpp13
-rw-r--r--src/AstraObjectManager.cpp21
-rw-r--r--src/AsyncAlgorithm.cpp7
-rw-r--r--src/BackProjectionAlgorithm.cpp7
-rw-r--r--src/CglsAlgorithm.cpp7
-rw-r--r--src/CompositeGeometryManager.cpp281
-rw-r--r--src/ConeProjectionGeometry3D.cpp7
-rw-r--r--src/ConeVecProjectionGeometry3D.cpp7
-rw-r--r--src/Config.cpp7
-rw-r--r--src/CudaBackProjectionAlgorithm.cpp7
-rw-r--r--src/CudaBackProjectionAlgorithm3D.cpp27
-rw-r--r--src/CudaCglsAlgorithm.cpp7
-rw-r--r--src/CudaCglsAlgorithm3D.cpp7
-rw-r--r--src/CudaDartMaskAlgorithm.cpp7
-rw-r--r--src/CudaDartMaskAlgorithm3D.cpp7
-rw-r--r--src/CudaDartSmoothingAlgorithm.cpp7
-rw-r--r--src/CudaDartSmoothingAlgorithm3D.cpp7
-rw-r--r--src/CudaDataOperationAlgorithm.cpp7
-rw-r--r--src/CudaEMAlgorithm.cpp7
-rw-r--r--src/CudaFDKAlgorithm3D.cpp58
-rw-r--r--src/CudaFilteredBackProjectionAlgorithm.cpp7
-rw-r--r--src/CudaForwardProjectionAlgorithm.cpp7
-rw-r--r--src/CudaForwardProjectionAlgorithm3D.cpp15
-rw-r--r--src/CudaProjector2D.cpp7
-rw-r--r--src/CudaProjector3D.cpp18
-rw-r--r--src/CudaReconstructionAlgorithm2D.cpp7
-rw-r--r--src/CudaRoiSelectAlgorithm.cpp7
-rw-r--r--src/CudaSartAlgorithm.cpp9
-rw-r--r--src/CudaSirtAlgorithm.cpp7
-rw-r--r--src/CudaSirtAlgorithm3D.cpp7
-rw-r--r--src/DataProjector.cpp7
-rw-r--r--src/DataProjectorPolicies.cpp7
-rw-r--r--src/FanFlatBeamLineKernelProjector2D.cpp8
-rw-r--r--src/FanFlatBeamStripKernelProjector2D.cpp8
-rw-r--r--src/FanFlatProjectionGeometry2D.cpp7
-rw-r--r--src/FanFlatVecProjectionGeometry2D.cpp7
-rw-r--r--src/FilteredBackProjectionAlgorithm.cpp7
-rw-r--r--src/Float32Data.cpp7
-rw-r--r--src/Float32Data2D.cpp7
-rw-r--r--src/Float32Data3D.cpp13
-rw-r--r--src/Float32Data3DGPU.cpp98
-rw-r--r--src/Float32Data3DMemory.cpp48
-rw-r--r--src/Float32ProjectionData2D.cpp7
-rw-r--r--src/Float32ProjectionData3D.cpp233
-rw-r--r--src/Float32ProjectionData3DGPU.cpp71
-rw-r--r--src/Float32ProjectionData3DMemory.cpp105
-rw-r--r--src/Float32VolumeData2D.cpp7
-rw-r--r--src/Float32VolumeData3D.cpp229
-rw-r--r--src/Float32VolumeData3DGPU.cpp71
-rw-r--r--src/Float32VolumeData3DMemory.cpp99
-rw-r--r--src/ForwardProjectionAlgorithm.cpp7
-rw-r--r--src/Fourier.cpp7
-rw-r--r--src/GeometryUtil3D.cpp7
-rw-r--r--src/Globals.cpp7
-rw-r--r--src/Logging.cpp7
-rw-r--r--src/ParallelBeamBlobKernelProjector2D.cpp8
-rw-r--r--src/ParallelBeamLineKernelProjector2D.cpp8
-rw-r--r--src/ParallelBeamLinearKernelProjector2D.cpp8
-rw-r--r--src/ParallelBeamStripKernelProjector2D.cpp8
-rw-r--r--src/ParallelProjectionGeometry2D.cpp7
-rw-r--r--src/ParallelProjectionGeometry3D.cpp7
-rw-r--r--src/ParallelVecProjectionGeometry3D.cpp7
-rw-r--r--src/PlatformDepSystemCode.cpp7
-rw-r--r--src/PluginAlgorithm.cpp7
-rw-r--r--src/ProjectionGeometry2D.cpp7
-rw-r--r--src/ProjectionGeometry3D.cpp7
-rw-r--r--src/Projector2D.cpp7
-rw-r--r--src/Projector3D.cpp7
-rw-r--r--src/ReconstructionAlgorithm2D.cpp7
-rw-r--r--src/ReconstructionAlgorithm3D.cpp7
-rw-r--r--src/ReconstructionAlgorithmMultiSlice2D.cpp7
-rw-r--r--src/SartAlgorithm.cpp7
-rw-r--r--src/SirtAlgorithm.cpp7
-rw-r--r--src/SparseMatrix.cpp7
-rw-r--r--src/SparseMatrixProjectionGeometry2D.cpp7
-rw-r--r--src/SparseMatrixProjector2D.cpp7
-rw-r--r--src/Utilities.cpp9
-rw-r--r--src/Vector3D.cpp7
-rw-r--r--src/VolumeGeometry2D.cpp11
-rw-r--r--src/VolumeGeometry3D.cpp13
-rw-r--r--src/XMLDocument.cpp7
-rw-r--r--src/XMLNode.cpp11
-rw-r--r--src/swrap.cpp7
-rw-r--r--tests/main.cpp12
-rw-r--r--tests/test_AstraObjectManager.cpp40
-rw-r--r--tests/test_FanFlatProjectionGeometry2D.cpp13
-rw-r--r--tests/test_Float32Data2D.cpp11
-rw-r--r--tests/test_Float32ProjectionData2D.cpp11
-rw-r--r--tests/test_Float32VolumeData2D.cpp11
-rw-r--r--tests/test_Fourier.cpp158
-rw-r--r--tests/test_ParallelBeamLineKernelProjector2D.cpp12
-rw-r--r--tests/test_ParallelBeamLinearKernelProjector2D.cpp12
-rw-r--r--tests/test_ParallelProjectionGeometry2D.cpp11
-rw-r--r--tests/test_VolumeGeometry2D.cpp11
-rw-r--r--tests/test_XMLDocument.cpp11
-rw-r--r--tests/tests_vc08.vcproj699
476 files changed, 5292 insertions, 15063 deletions
diff --git a/.gitignore b/.gitignore
index ec0eafb..d56b669 100644
--- a/.gitignore
+++ b/.gitignore
@@ -4,6 +4,8 @@
*.orig
*.rej
.nfs*
+*.o
+__pycache__
/python/build/*
/python/finalbuild/*
diff --git a/.travis.yml b/.travis.yml
index 4a179f1..6d0a3ea 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,9 +1,5 @@
language: python
-python:
- - "2.7"
- - "3.5"
-
os:
- linux
@@ -13,13 +9,42 @@ addons:
apt:
packages:
- libboost-all-dev
- - nvidia-common
- - nvidia-current
- - nvidia-cuda-toolkit
- - nvidia-cuda-dev
-env:
- - CUDA=yes
- - CUDA=no
+
+matrix:
+ include:
+ - env: CUDA=no CLANG=yes
+ python: "3.6"
+
+ - env: CUDA=no
+ python: "2.7"
+
+ - env: CUDA=no
+ python: "3.6"
+
+ - env: CUDA=yes
+ python: "2.7"
+ addons:
+ apt:
+ packages:
+ - libboost-all-dev
+ - nvidia-common
+ - nvidia-current
+ - nvidia-cuda-toolkit
+ - nvidia-cuda-dev
+
+ - env: CUDA=yes
+ python: "3.6"
+ addons:
+ apt:
+ packages:
+ - libboost-all-dev
+ - nvidia-common
+ - nvidia-current
+ - nvidia-cuda-toolkit
+ - nvidia-cuda-dev
+ exclude:
+ - os: linux
+
before_install:
- if [[ "$TRAVIS_PYTHON_VERSION" == "2.7" ]]; then
@@ -37,9 +62,11 @@ install:
- conda info -a
- cd build/linux
- ./autogen.sh
- - if [ $CUDA == yes ]; then ./configure --prefix=$HOME/astra --with-python --with-cuda; else ./configure --prefix=$HOME/astra --with-python --without-cuda; fi
+ - if [ x$CLANG == xyes ]; then export CXX=clang++; export CC=clang; fi
+ - if [ $CUDA == yes ]; then ./configure --prefix=$HOME/astra --with-python --with-cuda --with-install-type=module; else ./configure --prefix=$HOME/astra --with-python --without-cuda --with-install-type=module; fi
- make -j 4
+ - make test
- make install
script:
- - LD_LIBRARY_PATH=$HOME/astra/lib/:$LD_LIBRARY_PATH PYTHONPATH=$HOME/astra/python/:$PYTHONPATH python -c "import astra"
+ - python -c "import astra"
diff --git a/NEWS.txt b/NEWS.txt
index 1efed4e..1ba4a31 100644
--- a/NEWS.txt
+++ b/NEWS.txt
@@ -1,14 +1,26 @@
-----------------------------------------------------------------------
This file is part of the ASTRA Toolbox
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
License: Open Source under GPLv3
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
-----------------------------------------------------------------------
+1.8 (2016-12-05)
+ * the Windows binary release now requires CUDA 8.0
+ * major changes to the way 'make install' works when building from source
+ * removed GPU memory size restrictions for FDK
+ * added multi-GPU support to 3D FP/BP/FDK
+ * added relaxation factor option to SIRT, SART
+ * fixed certain projections parallel to XZ or YZ planes
+ * fixed accumulating multiple raylengths in SART
+ * for matlab OpTomo, make output type match input type
+ * for python OpTomo, add FP/BP functions with optional 'out' argument
+ * fixed problems with non-US locales
+
1.7.1beta (2015-12-23)
* NB: This release has a beta tag as it contains two new
big experimental features.
diff --git a/README.md b/README.md
index fb1f641..8af69a7 100644
--- a/README.md
+++ b/README.md
@@ -12,64 +12,127 @@ The basic forward and backward projection operations are GPU-accelerated, and di
## Documentation / samples
-See the MATLAB and Python code samples in samples/ and on http://sf.net/projects/astra-toolbox .
+See the MATLAB and Python code samples in samples/ and on http://www.astra-toolbox.com/ .
## Installation instructions
### Windows, binary
-Add the mex and tools subdirectories to your MATLAB path and the Python module to your Python path..
+Add the mex and tools subdirectories to your MATLAB path, or copy the Python
+astra module to your Python site-packages directory. We require the Microsoft
+Visual Studio 2015 redistributable package. If this is not already installed on
+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.
+
+There are packages available for the ASTRA Toolbox in the astra-toolbox
+channel for the conda package manager. To use these, run the following
+inside a conda environment.
+
+```
+conda install -c astra-toolbox astra-toolbox
+```
### Linux, from source
-Requirements: g++, boost, CUDA (driver+toolkit), Matlab and/or Python (2.7 or 3.x)
+#### For Matlab
+
+Requirements: g++, boost, CUDA (5.5 or higher), Matlab (R2012a or higher)
```
cd build/linux
./autogen.sh # when building a git version
./configure --with-cuda=/usr/local/cuda \
--with-matlab=/usr/local/MATLAB/R2012a \
- --with-python \
- --prefix=/usr/local/astra
+ --prefix=$HOME/astra \
+ --with-install-type=module
make
make install
```
-Add /usr/local/astra/lib to your LD_LIBRARY_PATH.
-Add /usr/local/astra/matlab and its subdirectories (tools, mex)
- to your matlab path.
-Add /usr/local/astra/python to your PYTHONPATH.
+Add $HOME/astra/matlab and its subdirectories (tools, mex) to your matlab path.
+
+If you want to build the Octave interface instead of the Matlab interface,
+specify --enable-octave instead of --with-matlab=... . The Octave files
+will be installed into $HOME/astra/octave .
NB: Each matlab version only supports a specific range of g++ versions.
Despite this, if you have a newer g++ and if you get errors related to missing
GLIBCXX_3.4.xx symbols, it is often possible to work around this requirement
by deleting the version of libstdc++ supplied by matlab in
-MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk).
+MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk),
+or setting LD_PRELOAD=/usr/lib64/libstdc++.so.6 (or similar) when starting
+matlab.
+#### For Python
-### Windows, from source using Visual Studio 2008
+Requirements: g++, boost, CUDA (5.5 or higher), Python (2.7 or 3.x)
+
+```
+cd build/linux
+./autogen.sh # when building a git version
+./configure --with-cuda=/usr/local/cuda \
+ --with-python \
+ --with-install-type=module
+make
+make install
+```
-Requirements: Visual Studio 2008, boost, CUDA (driver+toolkit), matlab.
-Note that a .zip with all required (and precompiled) boost files is
- available from our website.
+This will install Astra into your current Python environment.
+
+### macOS, from source
+
+Use the Homebrew package manager to install boost, libtool, autoconf, automake.
+
+```
+cd build/linux
+./autogen.sh
+CPPFLAGS="-I/usr/local/include" NVCCFLAGS="-I/usr/local/include" ./configure \
+ --with-cuda=/usr/local/cuda \
+ --with-matlab=/Applications/MATLAB_R2016b.app \
+ --prefix=$HOME/astra \
+ --with-install-type=module
+make
+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.
+
+Using the Visual Studio IDE:
Set the environment variable MATLAB_ROOT to your matlab install location.
-Open astra_vc08.sln in Visual Studio.
-Select the appropriate solution configuration.
- (typically Release_CUDA|win32 or Release_CUDA|x64)
+Copy boost headers to lib\include\boost, and boost libraries to bin\x64.
+Open astra_vc14.sln in Visual Studio.
+Select the appropriate solution configuration (typically Release_CUDA|x64).
Build the solution.
-Install by copying AstraCuda32.dll or AstraCuda64.dll from bin/ and
- all .mexw32 or .mexw64 files from bin/Release_CUDA or bin/Debug_CUDA
- and the entire matlab/tools directory to a directory to be added to
- your matlab path.
+Install by copying AstraCuda64.dll and all .mexw64 files from
+ bin\x64\Release_CUDA and the entire matlab/tools directory to a directory
+ to be added to your matlab path.
+
+
+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.
+
## References
-If you use the ASTRA Toolbox for your research, we would appreciate it if you would refer to the following paper:
+If you use the ASTRA Toolbox for your research, we would appreciate it if you would refer to the following papers:
+
+W. van Aarle, W. J. Palenstijn, J. Cant, E. Janssens, F. Bleichrodt, A. Dabravolski, J. De Beenhouwer, K. J. Batenburg, and J. Sijbers, “Fast and Flexible X-ray Tomography Using the ASTRA Toolbox”, Optics Express, 24(22), 25129-25147, (2016), http://dx.doi.org/10.1364/OE.24.025129
+
+W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K. J. Batenburg, and J. Sijbers, “The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography”, Ultramicroscopy, 157, 35–47, (2015), http://dx.doi.org/10.1016/j.ultramic.2015.05.002
-W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K J. Batenburg, and J. Sijbers, "The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography", Ultramicroscopy (2015), http://dx.doi.org/10.1016/j.ultramic.2015.05.002
Additionally, if you use parallel beam GPU code, we would appreciate it if you would refer to the following paper:
@@ -83,8 +146,8 @@ The ASTRA Toolbox is open source under the GPLv3 license.
## Contact
email: astra@uantwerpen.be
-website: http://sf.net/projects/astra-toolbox
+website: http://www.astra-toolbox.com/
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
diff --git a/README.txt b/README.txt
index 29b1fc9..6d84ea0 100644
--- a/README.txt
+++ b/README.txt
@@ -1,12 +1,12 @@
-----------------------------------------------------------------------
This file is part of the ASTRA Toolbox
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
http://visielab.uantwerpen.be/ and http://www.cwi.nl/
License: Open Source under GPLv3
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
-----------------------------------------------------------------------
@@ -29,7 +29,7 @@ Documentation / samples:
-------------------------
See the MATLAB and Python code samples in samples/ and on
-http://sf.net/projects/astra-toolbox .
+http://www.astra-toolbox.com/ .
@@ -42,61 +42,123 @@ Installation instructions:
Windows, binary:
-----------------
-Add the mex and tools subdirectories to your matlab path and the Python module
-to your Python path.
+Add the mex and tools subdirectories to your MATLAB path, or copy the Python
+astra module to your Python site-packages directory. We require the Microsoft
+Visual Studio 2015 redistributable package. If this is not already installed on
+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.
+
+There are packages available for the ASTRA Toolbox in the astra-toolbox
+channel for the conda package manager. To use these, run the following
+inside a conda environment.
+
+conda install -c astra-toolbox astra-toolbox
Linux, from source:
--------------------
-Requirements: g++, boost, CUDA (driver+toolkit), Matlab and/or Python (2.7 or 3.x)
+For Matlab:
+
+Requirements: g++, boost, CUDA (5.5 or higher), Matlab (R2012a or higher)
cd build/linux
./autogen.sh # when building a git version
./configure --with-cuda=/usr/local/cuda \
--with-matlab=/usr/local/MATLAB/R2012a \
- --with-python \
- --prefix=/usr/local/astra
+ --prefix=$HOME/astra \
+ --with-install-type=module
make
make install
-Add /usr/local/astra/lib to your LD_LIBRARY_PATH.
-Add /usr/local/astra/matlab and its subdirectories (tools, mex)
- to your matlab path.
-Add /usr/local/astra/python to your PYTHONPATH.
+
+Add $HOME/astra/matlab and its subdirectories (tools, mex) to your matlab path.
+
+If you want to build the Octave interface instead of the Matlab interface,
+specify --enable-octave instead of --with-matlab=... . The Octave files
+will be installed into $HOME/astra/octave .
NB: Each matlab version only supports a specific range of g++ versions.
Despite this, if you have a newer g++ and if you get errors related to missing
GLIBCXX_3.4.xx symbols, it is often possible to work around this requirement
by deleting the version of libstdc++ supplied by matlab in
-MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk).
+MATLAB_PATH/bin/glnx86 or MATLAB_PATH/bin/glnxa64 (at your own risk),
+or setting LD_PRELOAD=/usr/lib64/libstdc++.so.6 (or similar) when starting
+matlab.
+
+
+For Python:
+
+Requirements: g++, boost, CUDA (5.5 or higher), Python (2.7 or 3.x)
+
+cd build/linux
+./autogen.sh # when building a git version
+./configure --with-cuda=/usr/local/cuda \
+ --with-python \
+ --with-install-type=module
+make
+make install
+This will install Astra into your current Python environment.
-Windows, from source using Visual Studio 2008:
+
+macOS, from source:
+--------------------
+
+Use the Homebrew package manager to install boost, libtool, autoconf, automake.
+
+cd build/linux
+./autogen.sh
+CPPFLAGS="-I/usr/local/include" NVCCFLAGS="-I/usr/local/include" ./configure \
+ --with-cuda=/usr/local/cuda \
+ --with-matlab=/Applications/MATLAB_R2016b.app \
+ --prefix=$HOME/astra \
+ --with-install-type=module
+make
+make install
+
+
+Windows, from source using Visual Studio 2015:
-----------------------------------------------
-Requirements: Visual Studio 2008, boost, CUDA (driver+toolkit), matlab.
-Note that a .zip with all required (and precompiled) boost files is
- available from our website.
+Requirements: Visual Studio 2015 (full or community), boost (recent), CUDA 8.0,
+ Matlab (R2012a or higher) and/or WinPython 2.7/3.x.
+
+Using the Visual Studio IDE:
Set the environment variable MATLAB_ROOT to your matlab install location.
-Open astra_vc08.sln in Visual Studio.
-Select the appropriate solution configuration.
- (typically Release_CUDA|win32 or Release_CUDA|x64)
+Copy boost headers to lib\include\boost, and boost libraries to bin\x64.
+Open astra_vc14.sln in Visual Studio.
+Select the appropriate solution configuration (typically Release_CUDA|x64).
Build the solution.
-Install by copying AstraCuda32.dll or AstraCuda64.dll from bin/ and
- all .mexw32 or .mexw64 files from bin/Release_CUDA or bin/Debug_CUDA
- and the entire matlab/tools directory to a directory to be added to
- your matlab path.
+Install by copying AstraCuda64.dll and all .mexw64 files from
+ bin\x64\Release_CUDA and the entire matlab/tools directory to a directory
+ to be added to your matlab path.
+
+
+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.
References:
------------
-If you use the ASTRA Toolbox for your research, we would appreciate it if you would refer to the following paper:
+If you use the ASTRA Toolbox for your research, we would appreciate it if you would refer to the following papers:
+
+W. Van Aarle, W J. Palenstijn, J. Cant, E. Janssens, F. Bleichrodt, A. Dabravolski, J. De Beenhouwer, K. J. Batenburg, and J. Sijbers, "Fast and Flexible X-ray Tomography Using the ASTRA Toolbox", Optics Express, vol. 24, no. 22, pp. 25129-25147, 2016
-W. van Aarle, W. J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K J. Batenburg, and J. Sijbers, "The ASTRA Toolbox: A platform for advanced algorithm development in electron tomography", Ultramicroscopy (2015), http://dx.doi.org/10.1016/j.ultramic.2015.05.002
+W. Van Aarle, W J. Palenstijn, J. De Beenhouwer, T. Altantzis, S. Bals, K. J. Batenburg, and J. Sijbers, "The ASTRA Toolbox: a platform for advanced algorithm development in electron tomography", Ultramicroscopy, vol. 157, pp. 35–47, 2015
Additionally, if you use parallel beam GPU code, we would appreciate it if you would refer to the following paper:
diff --git a/astra_vc09.sln b/astra_vc09.sln
deleted file mode 100644
index 371e9b1..0000000
--- a/astra_vc09.sln
+++ /dev/null
@@ -1,243 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra", "astra_vc09.vcproj", "{12926444-6723-46A8-B388-12E65E0577FA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "astra_mex", "astra_mex", "{33EF0AC5-B475-40BF-BAE5-67075B204D10}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex", "matlab\mex\astra_mex_vc09.vcproj", "{3FDA35E0-0D54-4663-A3E6-5ABA96F32221}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_algorithm", "matlab\mex\astra_mex_algorithm_vc09.vcproj", "{056BF7A9-294D-487C-8CC3-BE629077CA94}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data2d", "matlab\mex\astra_mex_data2d_vc09.vcproj", "{E4092269-B19C-46F7-A84E-4F146CC70E44}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data3d", "matlab\mex\astra_mex_data3d_vc09.vcproj", "{0BEC029B-0929-4BF9-BD8B-9C9806A52065}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_matrix", "matlab\mex\astra_mex_matrix_vc09.vcproj", "{9D041710-2119-4230-BCF2-5FBE753FDE49}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector", "matlab\mex\astra_mex_projector_vc09.vcproj", "{4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector3d", "matlab\mex\astra_mex_projector3d_vc09.vcproj", "{F94CCD79-AA11-42DF-AC8A-6C9D2238A883}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_log", "matlab\mex\astra_mex_log_vc09.vcproj", "{CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_direct", "matlab\mex\astra_mex_direct_vc09.vcproj", "{85FE09A6-FA49-4314-A2B1-59D77C7442A8}"
- ProjectSection(ProjectDependencies) = postProject
- {12926444-6723-46A8-B388-12E65E0577FA} = {12926444-6723-46A8-B388-12E65E0577FA}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_CUDA|Win32 = Debug_CUDA|Win32
- Debug_CUDA|x64 = Debug_CUDA|x64
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release_CUDA|Win32 = Release_CUDA|Win32
- Release_CUDA|x64 = Release_CUDA|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug|Win32.ActiveCfg = Debug|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug|Win32.Build.0 = Debug|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug|x64.ActiveCfg = Debug|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Debug|x64.Build.0 = Debug|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Release|Win32.ActiveCfg = Release|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Release|Win32.Build.0 = Release|Win32
- {12926444-6723-46A8-B388-12E65E0577FA}.Release|x64.ActiveCfg = Release|x64
- {12926444-6723-46A8-B388-12E65E0577FA}.Release|x64.Build.0 = Release|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|Win32.ActiveCfg = Debug|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|Win32.Build.0 = Debug|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|x64.ActiveCfg = Debug|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|x64.Build.0 = Debug|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|Win32.ActiveCfg = Release|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|Win32.Build.0 = Release|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|x64.ActiveCfg = Release|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|x64.Build.0 = Release|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|Win32.ActiveCfg = Debug|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|Win32.Build.0 = Debug|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|x64.ActiveCfg = Debug|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|x64.Build.0 = Debug|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|Win32.ActiveCfg = Release|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|Win32.Build.0 = Release|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|x64.ActiveCfg = Release|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|x64.Build.0 = Release|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|Win32.ActiveCfg = Debug|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|Win32.Build.0 = Debug|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|x64.ActiveCfg = Debug|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|x64.Build.0 = Debug|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|Win32.ActiveCfg = Release|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|Win32.Build.0 = Release|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|x64.ActiveCfg = Release|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|x64.Build.0 = Release|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|Win32.ActiveCfg = Debug|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|Win32.Build.0 = Debug|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|x64.ActiveCfg = Debug|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|x64.Build.0 = Debug|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|Win32.ActiveCfg = Release|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|Win32.Build.0 = Release|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|x64.ActiveCfg = Release|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|x64.Build.0 = Release|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|Win32.ActiveCfg = Debug|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|Win32.Build.0 = Debug|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|x64.ActiveCfg = Debug|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|x64.Build.0 = Debug|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|Win32.ActiveCfg = Release|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|Win32.Build.0 = Release|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|x64.ActiveCfg = Release|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|x64.Build.0 = Release|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|Win32.ActiveCfg = Debug|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|Win32.Build.0 = Debug|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|x64.ActiveCfg = Debug|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|x64.Build.0 = Debug|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|Win32.ActiveCfg = Release|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|Win32.Build.0 = Release|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|x64.ActiveCfg = Release|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|x64.Build.0 = Release|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|Win32.ActiveCfg = Debug|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|Win32.Build.0 = Debug|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|x64.ActiveCfg = Debug|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|x64.Build.0 = Debug|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|Win32.ActiveCfg = Release|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|Win32.Build.0 = Release|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|x64.ActiveCfg = Release|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|x64.Build.0 = Release|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug|Win32.ActiveCfg = Debug|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug|Win32.Build.0 = Debug|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug|x64.ActiveCfg = Debug|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Debug|x64.Build.0 = Debug|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release|Win32.ActiveCfg = Release|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release|Win32.Build.0 = Release|Win32
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release|x64.ActiveCfg = Release|x64
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}.Release|x64.Build.0 = Release|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug|Win32.ActiveCfg = Debug|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug|Win32.Build.0 = Debug|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug|x64.ActiveCfg = Debug|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Debug|x64.Build.0 = Debug|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release|Win32.ActiveCfg = Release|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release|Win32.Build.0 = Release|Win32
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release|x64.ActiveCfg = Release|x64
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {056BF7A9-294D-487C-8CC3-BE629077CA94} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {E4092269-B19C-46F7-A84E-4F146CC70E44} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {9D041710-2119-4230-BCF2-5FBE753FDE49} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- {85FE09A6-FA49-4314-A2B1-59D77C7442A8} = {33EF0AC5-B475-40BF-BAE5-67075B204D10}
- EndGlobalSection
-EndGlobal
diff --git a/astra_vc09.vcproj b/astra_vc09.vcproj
deleted file mode 100644
index 428bf8d..0000000
--- a/astra_vc09.vcproj
+++ /dev/null
@@ -1,3300 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- ProjectGUID="{12926444-6723-46A8-B388-12E65E0577FA}"
- RootNamespace="astra"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- <DefaultToolFile
- FileName="NvCudaRuntimeApi.v5.5.rules"
- />
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Debug_CUDA"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(CUDA_INC_PATH)&quot;;lib\include;include"
- PreprocessorDefinitions="ASTRA_CUDA;DLL_EXPORTS;__SSE2__"
- Optimization="0"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="false"
- WholeProgramOptimization="false"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="cudart.lib cufft.lib"
- OutputFile="bin\Win32\AstraCuda32D.dll"
- AdditionalLibraryDirectories="&quot;.\lib\Win32&quot;;&quot;$(CUDA_LIB_PATH)&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="0"
- Runtime="3"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="ASTRA_CUDA;DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Debug_CUDA"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(CUDA_INC_PATH)&quot;;lib\include;include"
- PreprocessorDefinitions="ASTRA_CUDA;DLL_EXPORTS;__SSE2__"
- Optimization="0"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="false"
- WholeProgramOptimization="false"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="cudart.lib cufft.lib"
- OutputFile="bin\x64\AstraCuda64D.dll"
- AdditionalLibraryDirectories="&quot;.\lib\x64&quot;;&quot;$(CUDA_LIB_PATH)&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="1"
- Runtime="3"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="ASTRA_CUDA;DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Debug"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="lib\include;include"
- PreprocessorDefinitions="DLL_EXPORTS;__SSE2__"
- Optimization="0"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="false"
- WholeProgramOptimization="false"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="bin\Win32\Astra32D.dll"
- AdditionalLibraryDirectories="&quot;.\lib\Win32&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="0"
- Runtime="3"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Debug"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="lib\include;include"
- PreprocessorDefinitions="DLL_EXPORTS;__SSE2__"
- Optimization="0"
- InlineFunctionExpansion="0"
- FavorSizeOrSpeed="0"
- EnableFiberSafeOptimizations="false"
- WholeProgramOptimization="false"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="bin\x64\Astra64D.dll"
- AdditionalLibraryDirectories="&quot;.\lib\x64&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="1"
- Runtime="3"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Release_CUDA"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(CUDA_INC_PATH)&quot;;lib\include;include"
- PreprocessorDefinitions="ASTRA_CUDA;DLL_EXPORTS;__SSE2__"
- Optimization="3"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="cudart.lib cufft.lib"
- OutputFile="bin\Win32\AstraCuda32.dll"
- AdditionalLibraryDirectories="&quot;.\lib\Win32&quot;;&quot;$(CUDA_LIB_PATH)&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- TargetMachine="1"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="0"
- Runtime="2"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="ASTRA_CUDA;DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Release_CUDA"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="&quot;$(CUDA_INC_PATH)&quot;;lib\include;include"
- PreprocessorDefinitions="ASTRA_CUDA;DLL_EXPORTS;__SSE2__"
- Optimization="3"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="cudart.lib cufft.lib"
- OutputFile="bin\x64\AstraCuda64.dll"
- AdditionalLibraryDirectories="&quot;.\lib\x64&quot;;&quot;$(CUDA_LIB_PATH)&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- TargetMachine="17"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="1"
- Runtime="2"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="ASTRA_CUDA;DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Release"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="lib\include;include"
- PreprocessorDefinitions="DLL_EXPORTS;__SSE2__"
- Optimization="3"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="bin\Win32\Astra32.dll"
- AdditionalLibraryDirectories="&quot;.\lib\Win32&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- TargetMachine="1"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="0"
- Runtime="2"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="DLL_EXPORTS"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\Release"
- IntermediateDirectory="$(OutDir)/obj"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="lib\include;include"
- PreprocessorDefinitions="DLL_EXPORTS;__SSE2__"
- Optimization="3"
- InlineFunctionExpansion="2"
- FavorSizeOrSpeed="1"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- OutputFile="bin\x64\Astra64.dll"
- AdditionalLibraryDirectories="&quot;.\lib\x64&quot;"
- GenerateManifest="true"
- ModuleDefinitionFile=""
- TargetMachine="17"
- />
- <Tool
- Name="Cudart Build Rule"
- Arch1="20"
- Arch2="30"
- Arch3="35"
- TargetMachinePlatform="1"
- Runtime="2"
- ExtraCppOptions="-Iinclude -Ilib/include"
- Defines="DLL_EXPORTS"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Resource Files"
- Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
- UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
- >
- <File
- RelativePath=".\src\astra.def"
- >
- </File>
- </Filter>
- <Filter
- Name="Algorithms"
- >
- <Filter
- Name="headers"
- >
- <File
- RelativePath=".\include\astra\Algorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\AlgorithmTypelist.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ArtAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\AsyncAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\BackProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CglsAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaBackProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaBackProjectionAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\FilteredBackProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ForwardProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\PluginAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ReconstructionAlgorithm2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ReconstructionAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\SartAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\SirtAlgorithm.h"
- >
- </File>
- </Filter>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\src\Algorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ArtAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\AsyncAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\BackProjectionAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\CglsAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\FilteredBackProjectionAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ForwardProjectionAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\PluginAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ReconstructionAlgorithm2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ReconstructionAlgorithm3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\SartAlgorithm.cpp"
- >
- </File>
- <File
- RelativePath=".\src\SirtAlgorithm.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Data Structures"
- >
- <Filter
- Name="headers"
- >
- <File
- RelativePath=".\include\astra\Float32Data.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32Data2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32Data3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32Data3DMemory.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32ProjectionData2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32ProjectionData3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32ProjectionData3DMemory.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32VolumeData2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32VolumeData3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Float32VolumeData3DMemory.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\SparseMatrix.h"
- >
- </File>
- </Filter>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\src\Float32Data.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32Data2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32Data3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32Data3DMemory.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32ProjectionData2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32ProjectionData3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32ProjectionData3DMemory.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32VolumeData2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32VolumeData3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Float32VolumeData3DMemory.cpp"
- >
- </File>
- <File
- RelativePath=".\src\SparseMatrix.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Global &amp; Other"
- >
- <Filter
- Name="headers"
- >
- <File
- RelativePath=".\include\astra\AstraObjectFactory.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\AstraObjectManager.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\clog.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CompositeGeometryManager.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Config.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Fourier.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Globals.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Logging.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\PlatformDepSystemCode.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Singleton.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\TypeList.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Utilities.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Vector3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\XMLDocument.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\XMLNode.h"
- >
- </File>
- </Filter>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\src\AstraObjectFactory.cpp"
- >
- </File>
- <File
- RelativePath=".\src\AstraObjectManager.cpp"
- >
- </File>
- <File
- RelativePath=".\src\CompositeGeometryManager.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Config.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Fourier.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Globals.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Logging.cpp"
- >
- </File>
- <File
- RelativePath=".\src\PlatformDepSystemCode.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Utilities.cpp"
- >
- </File>
- <File
- RelativePath=".\src\XMLDocument.cpp"
- >
- </File>
- <File
- RelativePath=".\src\XMLNode.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Geometries"
- >
- <Filter
- Name="headers"
- >
- <File
- RelativePath=".\include\astra\ConeProjectionGeometry3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ConeVecProjectionGeometry3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatVecProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\GeometryUtil2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\GeometryUtil3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelProjectionGeometry3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelVecProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelVecProjectionGeometry3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ProjectionGeometry3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\SparseMatrixProjectionGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\VolumeGeometry2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\VolumeGeometry3D.h"
- >
- </File>
- </Filter>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\src\ConeProjectionGeometry3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ConeVecProjectionGeometry3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\FanFlatProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\FanFlatVecProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\GeometryUtil2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\GeometryUtil3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelProjectionGeometry3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelVecProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelVecProjectionGeometry3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ProjectionGeometry3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\SparseMatrixProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\VolumeGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\VolumeGeometry3D.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="Projectors"
- >
- <Filter
- Name="headers"
- >
- <File
- RelativePath=".\include\astra\DataProjector.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\DataProjectorPolicies.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatBeamLineKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatBeamStripKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamBlobKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamLinearKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamLineKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamStripKernelProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Projector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\Projector3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\ProjectorTypelist.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\SparseMatrixProjector2D.h"
- >
- </File>
- </Filter>
- <Filter
- Name="inline"
- >
- <File
- RelativePath=".\include\astra\DataProjectorPolicies.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatBeamLineKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\FanFlatBeamStripKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamBlobKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamLinearKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamLineKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\ParallelBeamStripKernelProjector2D.inl"
- >
- </File>
- <File
- RelativePath=".\include\astra\SparseMatrixProjector2D.inl"
- >
- </File>
- </Filter>
- <Filter
- Name="source"
- >
- <File
- RelativePath=".\src\DataProjector.cpp"
- >
- </File>
- <File
- RelativePath=".\src\DataProjectorPolicies.cpp"
- >
- </File>
- <File
- RelativePath=".\src\FanFlatBeamLineKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\FanFlatBeamStripKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelBeamBlobKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelBeamLinearKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelBeamLineKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\ParallelBeamStripKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Projector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\Projector3D.cpp"
- >
- </File>
- <File
- RelativePath=".\src\SparseMatrixProjector2D.cpp"
- >
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="CUDA"
- >
- <Filter
- Name="astra headers"
- >
- <File
- RelativePath=".\include\astra\CudaCglsAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaCglsAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaDartMaskAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaDartMaskAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaDartSmoothingAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaDartSmoothingAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaDataOperationAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaEMAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaFDKAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaFilteredBackProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaForwardProjectionAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaForwardProjectionAlgorithm3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaProjector2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaProjector3D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaReconstructionAlgorithm2D.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaRoiSelectAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaSartAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaSirtAlgorithm.h"
- >
- </File>
- <File
- RelativePath=".\include\astra\CudaSirtAlgorithm3D.h"
- >
- </File>
- </Filter>
- <Filter
- Name="astra source"
- >
- <File
- RelativePath=".\src\CudaBackProjectionAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaBackProjectionAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaCglsAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaCglsAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaDartMaskAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaDartMaskAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaDartSmoothingAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaDartSmoothingAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaDataOperationAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaEMAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaFDKAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaFilteredBackProjectionAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaForwardProjectionAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaForwardProjectionAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaProjector2D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaProjector3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaReconstructionAlgorithm2D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaRoiSelectAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaSartAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaSirtAlgorithm.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\CudaSirtAlgorithm3D.cpp"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
- <Filter
- Name="cuda headers"
- >
- <File
- RelativePath=".\cuda\2d\algo.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\arith.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\astra.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\cgls.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\darthelper.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\dims.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\em.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\fan_bp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\fan_fp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\fbp_filters.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\fbp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\fft.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\par_bp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\par_fp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\sart.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\sirt.h"
- >
- </File>
- <File
- RelativePath=".\cuda\2d\util.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\algo3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\arith3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\astra3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\cgls3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\cone_bp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\cone_fp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\darthelper3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\dims3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\fdk.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\mem3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\par3d_bp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\par3d_fp.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\sirt3d.h"
- >
- </File>
- <File
- RelativePath=".\cuda\3d\util3d.h"
- >
- </File>
- </Filter>
- <Filter
- Name="cuda source"
- >
- <File
- RelativePath=".\cuda\2d\algo.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\arith.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\astra.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\cgls.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\darthelper.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\em.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\fan_bp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\fan_fp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\fbp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\fft.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\par_bp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\par_fp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\sart.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\sirt.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\2d\util.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\algo3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\arith3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\astra3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\cgls3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\cone_bp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\cone_fp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\darthelper3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\fdk.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\mem3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\par3d_bp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\par3d_fp.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\sirt3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\cuda\3d\util3d.cu"
- >
- <FileConfiguration
- Name="Debug|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Debug|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- <FileConfiguration
- Name="Release|x64"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="Cudart Build Rule"
- />
- </FileConfiguration>
- </File>
- </Filter>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/astra_vc11.sln b/astra_vc11.sln
deleted file mode 100644
index 92fb584..0000000
--- a/astra_vc11.sln
+++ /dev/null
@@ -1,243 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_vc11", "astra_vc11.vcxproj", "{BE9F1326-527C-4284-AE2C-D1E25D539CEA}"
-EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "astra_mex", "astra_mex", "{5E99A109-374E-4102-BE9B-99BA1FA8AA30}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex", "matlab\mex\astra_mex_vc11.vcxproj", "{3FDA35E0-0D54-4663-A3E6-5ABA96F32221}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_algorithm", "matlab\mex\astra_mex_algorithm_vc11.vcxproj", "{056BF7A9-294D-487C-8CC3-BE629077CA94}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data2d", "matlab\mex\astra_mex_data2d_vc11.vcxproj", "{E4092269-B19C-46F7-A84E-4F146CC70E44}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data3d", "matlab\mex\astra_mex_data3d_vc11.vcxproj", "{0BEC029B-0929-4BF9-BD8B-9C9806A52065}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_matrix", "matlab\mex\astra_mex_matrix_vc11.vcxproj", "{9D041710-2119-4230-BCF2-5FBE753FDE49}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector", "matlab\mex\astra_mex_projector_vc11.vcxproj", "{4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector3d", "matlab\mex\astra_mex_projector3d_vc11.vcxproj", "{F94CCD79-AA11-42DF-AC8A-6C9D2238A883}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_log", "matlab\mex\astra_mex_log_vc11.vcxproj", "{03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_direct", "matlab\mex\astra_mex_direct_vc11.vcxproj", "{0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}"
- ProjectSection(ProjectDependencies) = postProject
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA} = {BE9F1326-527C-4284-AE2C-D1E25D539CEA}
- EndProjectSection
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug_CUDA|Win32 = Debug_CUDA|Win32
- Debug_CUDA|x64 = Debug_CUDA|x64
- Debug|Win32 = Debug|Win32
- Debug|x64 = Debug|x64
- Release_CUDA|Win32 = Release_CUDA|Win32
- Release_CUDA|x64 = Release_CUDA|x64
- Release|Win32 = Release|Win32
- Release|x64 = Release|x64
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug|Win32.ActiveCfg = Debug|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug|Win32.Build.0 = Debug|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug|x64.ActiveCfg = Debug|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Debug|x64.Build.0 = Debug|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release|Win32.ActiveCfg = Release|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release|Win32.Build.0 = Release|Win32
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release|x64.ActiveCfg = Release|x64
- {BE9F1326-527C-4284-AE2C-D1E25D539CEA}.Release|x64.Build.0 = Release|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|Win32.ActiveCfg = Debug|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|Win32.Build.0 = Debug|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|x64.ActiveCfg = Debug|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Debug|x64.Build.0 = Debug|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|Win32.ActiveCfg = Release|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|Win32.Build.0 = Release|Win32
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|x64.ActiveCfg = Release|x64
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221}.Release|x64.Build.0 = Release|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|Win32.ActiveCfg = Debug|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|Win32.Build.0 = Debug|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|x64.ActiveCfg = Debug|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Debug|x64.Build.0 = Debug|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|Win32.ActiveCfg = Release|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|Win32.Build.0 = Release|Win32
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|x64.ActiveCfg = Release|x64
- {056BF7A9-294D-487C-8CC3-BE629077CA94}.Release|x64.Build.0 = Release|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|Win32.ActiveCfg = Debug|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|Win32.Build.0 = Debug|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|x64.ActiveCfg = Debug|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Debug|x64.Build.0 = Debug|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|Win32.ActiveCfg = Release|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|Win32.Build.0 = Release|Win32
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|x64.ActiveCfg = Release|x64
- {E4092269-B19C-46F7-A84E-4F146CC70E44}.Release|x64.Build.0 = Release|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|Win32.ActiveCfg = Debug|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|Win32.Build.0 = Debug|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|x64.ActiveCfg = Debug|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Debug|x64.Build.0 = Debug|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|Win32.ActiveCfg = Release|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|Win32.Build.0 = Release|Win32
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|x64.ActiveCfg = Release|x64
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065}.Release|x64.Build.0 = Release|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|Win32.ActiveCfg = Debug|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|Win32.Build.0 = Debug|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|x64.ActiveCfg = Debug|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Debug|x64.Build.0 = Debug|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|Win32.ActiveCfg = Release|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|Win32.Build.0 = Release|Win32
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|x64.ActiveCfg = Release|x64
- {9D041710-2119-4230-BCF2-5FBE753FDE49}.Release|x64.Build.0 = Release|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|Win32.ActiveCfg = Debug|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|Win32.Build.0 = Debug|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|x64.ActiveCfg = Debug|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Debug|x64.Build.0 = Debug|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|Win32.ActiveCfg = Release|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|Win32.Build.0 = Release|Win32
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|x64.ActiveCfg = Release|x64
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}.Release|x64.Build.0 = Release|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|Win32.ActiveCfg = Debug|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|Win32.Build.0 = Debug|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|x64.ActiveCfg = Debug|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Debug|x64.Build.0 = Debug|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|Win32.ActiveCfg = Release|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|Win32.Build.0 = Release|Win32
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|x64.ActiveCfg = Release|x64
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883}.Release|x64.Build.0 = Release|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug|Win32.ActiveCfg = Debug|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug|Win32.Build.0 = Debug|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug|x64.ActiveCfg = Debug|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Debug|x64.Build.0 = Debug|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release|Win32.ActiveCfg = Release|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release|Win32.Build.0 = Release|Win32
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release|x64.ActiveCfg = Release|x64
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}.Release|x64.Build.0 = Release|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug|Win32.ActiveCfg = Debug|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug|Win32.Build.0 = Debug|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug|x64.ActiveCfg = Debug|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Debug|x64.Build.0 = Debug|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release|Win32.ActiveCfg = Release|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release|Win32.Build.0 = Release|Win32
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release|x64.ActiveCfg = Release|x64
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}.Release|x64.Build.0 = Release|x64
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
- GlobalSection(NestedProjects) = preSolution
- {3FDA35E0-0D54-4663-A3E6-5ABA96F32221} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {056BF7A9-294D-487C-8CC3-BE629077CA94} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {E4092269-B19C-46F7-A84E-4F146CC70E44} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {0BEC029B-0929-4BF9-BD8B-9C9806A52065} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {9D041710-2119-4230-BCF2-5FBE753FDE49} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {4DD6056F-8EEE-4C9A-B2A9-923F01A32E97} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {F94CCD79-AA11-42DF-AC8A-6C9D2238A883} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- {0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7} = {5E99A109-374E-4102-BE9B-99BA1FA8AA30}
- EndGlobalSection
-EndGlobal
diff --git a/astra_vc14.sln b/astra_vc14.sln
new file mode 100644
index 0000000..767366b
--- /dev/null
+++ b/astra_vc14.sln
@@ -0,0 +1,245 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 14
+VisualStudioVersion = 14.0.25420.1
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_vc14", "astra_vc14.vcxproj", "{DABD9D82-609E-4C71-B1CA-A41B07495290}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "astra_mex", "astra_mex", "{2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex", "matlab\mex\astra_mex_vc14.vcxproj", "{6FDF72C4-A855-4F1C-A401-6500040B5E28}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_algorithm", "matlab\mex\astra_mex_algorithm_vc14.vcxproj", "{CE5EF874-830C-4C10-8651-CCA2A34ED9E4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data2d", "matlab\mex\astra_mex_data2d_vc14.vcxproj", "{D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_data3d", "matlab\mex\astra_mex_data3d_vc14.vcxproj", "{2A7084C6-62ED-4235-85F4-094C17689DEB}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_matrix", "matlab\mex\astra_mex_matrix_vc14.vcxproj", "{6BFA8857-37EB-4E43-A97C-B860E21599F5}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector", "matlab\mex\astra_mex_projector_vc14.vcxproj", "{85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_projector3d", "matlab\mex\astra_mex_projector3d_vc14.vcxproj", "{CA85BDA0-9BDD-495E-B200-BFE863EB6318}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_log", "matlab\mex\astra_mex_log_vc14.vcxproj", "{88539382-66DB-4BBC-A48E-8B6B3CA6064F}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "astra_mex_direct", "matlab\mex\astra_mex_direct_vc14.vcxproj", "{47460476-912B-4313-8B10-BDF1D60A84C4}"
+ ProjectSection(ProjectDependencies) = postProject
+ {DABD9D82-609E-4C71-B1CA-A41B07495290} = {DABD9D82-609E-4C71-B1CA-A41B07495290}
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug_CUDA|Win32 = Debug_CUDA|Win32
+ Debug_CUDA|x64 = Debug_CUDA|x64
+ Debug|Win32 = Debug|Win32
+ Debug|x64 = Debug|x64
+ Release_CUDA|Win32 = Release_CUDA|Win32
+ Release_CUDA|x64 = Release_CUDA|x64
+ Release|Win32 = Release|Win32
+ Release|x64 = Release|x64
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug|Win32.ActiveCfg = Debug|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug|Win32.Build.0 = Debug|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug|x64.ActiveCfg = Debug|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Debug|x64.Build.0 = Debug|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release|Win32.ActiveCfg = Release|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release|Win32.Build.0 = Release|Win32
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release|x64.ActiveCfg = Release|x64
+ {DABD9D82-609E-4C71-B1CA-A41B07495290}.Release|x64.Build.0 = Release|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug|Win32.Build.0 = Debug|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug|x64.ActiveCfg = Debug|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Debug|x64.Build.0 = Debug|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release|Win32.ActiveCfg = Release|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release|Win32.Build.0 = Release|Win32
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release|x64.ActiveCfg = Release|x64
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28}.Release|x64.Build.0 = Release|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug|Win32.Build.0 = Debug|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug|x64.ActiveCfg = Debug|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Debug|x64.Build.0 = Debug|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release|Win32.ActiveCfg = Release|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release|Win32.Build.0 = Release|Win32
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release|x64.ActiveCfg = Release|x64
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4}.Release|x64.Build.0 = Release|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug|Win32.ActiveCfg = Debug|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug|Win32.Build.0 = Debug|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug|x64.ActiveCfg = Debug|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Debug|x64.Build.0 = Debug|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release|Win32.ActiveCfg = Release|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release|Win32.Build.0 = Release|Win32
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release|x64.ActiveCfg = Release|x64
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}.Release|x64.Build.0 = Release|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug|Win32.ActiveCfg = Debug|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug|Win32.Build.0 = Debug|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug|x64.ActiveCfg = Debug|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Debug|x64.Build.0 = Debug|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release|Win32.ActiveCfg = Release|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release|Win32.Build.0 = Release|Win32
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release|x64.ActiveCfg = Release|x64
+ {2A7084C6-62ED-4235-85F4-094C17689DEB}.Release|x64.Build.0 = Release|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug|Win32.ActiveCfg = Debug|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug|Win32.Build.0 = Debug|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug|x64.ActiveCfg = Debug|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Debug|x64.Build.0 = Debug|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release|Win32.ActiveCfg = Release|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release|Win32.Build.0 = Release|Win32
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release|x64.ActiveCfg = Release|x64
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5}.Release|x64.Build.0 = Release|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug|Win32.ActiveCfg = Debug|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug|Win32.Build.0 = Debug|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug|x64.ActiveCfg = Debug|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Debug|x64.Build.0 = Debug|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release|Win32.ActiveCfg = Release|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release|Win32.Build.0 = Release|Win32
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release|x64.ActiveCfg = Release|x64
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}.Release|x64.Build.0 = Release|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug|Win32.ActiveCfg = Debug|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug|Win32.Build.0 = Debug|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug|x64.ActiveCfg = Debug|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Debug|x64.Build.0 = Debug|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release|Win32.ActiveCfg = Release|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release|Win32.Build.0 = Release|Win32
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release|x64.ActiveCfg = Release|x64
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318}.Release|x64.Build.0 = Release|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug|Win32.ActiveCfg = Debug|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug|Win32.Build.0 = Debug|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug|x64.ActiveCfg = Debug|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Debug|x64.Build.0 = Debug|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release|Win32.ActiveCfg = Release|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release|Win32.Build.0 = Release|Win32
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release|x64.ActiveCfg = Release|x64
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F}.Release|x64.Build.0 = Release|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug_CUDA|Win32.ActiveCfg = Debug_CUDA|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug_CUDA|Win32.Build.0 = Debug_CUDA|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug_CUDA|x64.ActiveCfg = Debug_CUDA|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug_CUDA|x64.Build.0 = Debug_CUDA|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug|Win32.ActiveCfg = Debug|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug|Win32.Build.0 = Debug|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug|x64.ActiveCfg = Debug|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Debug|x64.Build.0 = Debug|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release_CUDA|Win32.ActiveCfg = Release_CUDA|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release_CUDA|Win32.Build.0 = Release_CUDA|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release_CUDA|x64.ActiveCfg = Release_CUDA|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release_CUDA|x64.Build.0 = Release_CUDA|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release|Win32.ActiveCfg = Release|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release|Win32.Build.0 = Release|Win32
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release|x64.ActiveCfg = Release|x64
+ {47460476-912B-4313-8B10-BDF1D60A84C4}.Release|x64.Build.0 = Release|x64
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {6FDF72C4-A855-4F1C-A401-6500040B5E28} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {CE5EF874-830C-4C10-8651-CCA2A34ED9E4} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {2A7084C6-62ED-4235-85F4-094C17689DEB} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {6BFA8857-37EB-4E43-A97C-B860E21599F5} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {CA85BDA0-9BDD-495E-B200-BFE863EB6318} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {88539382-66DB-4BBC-A48E-8B6B3CA6064F} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ {47460476-912B-4313-8B10-BDF1D60A84C4} = {2076FB73-ECFE-4B1B-9A8C-E351C500FAAB}
+ EndGlobalSection
+EndGlobal
diff --git a/astra_vc11.vcxproj b/astra_vc14.vcxproj
index d48796b..cd91065 100644
--- a/astra_vc11.vcxproj
+++ b/astra_vc14.vcxproj
@@ -35,65 +35,65 @@
</ProjectConfiguration>
</ItemGroup>
<PropertyGroup Label="Globals">
- <ProjectGuid>{BE9F1326-527C-4284-AE2C-D1E25D539CEA}</ProjectGuid>
- <RootNamespace>astra_vc11</RootNamespace>
+ <ProjectGuid>{DABD9D82-609E-4C71-B1CA-A41B07495290}</ProjectGuid>
+ <RootNamespace>astra_vc14</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 5.5.props" />
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.props" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -121,8 +121,6 @@
</ImportGroup>
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'">
- <IncludePath>$(CUDA_INC_PATH);$(IncludePath)</IncludePath>
- <LibraryPath>$(CUDA_LIB_PATH);$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\$(Platform)\Debug_CUDA\</OutDir>
<IntDir>$(OutDir)obj\</IntDir>
<TargetExt>.dll</TargetExt>
@@ -130,8 +128,6 @@
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'">
- <IncludePath>$(CUDA_INC_PATH);$(IncludePath)</IncludePath>
- <LibraryPath>$(CUDA_LIB_PATH);$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\$(Platform)\Debug_CUDA\</OutDir>
<IntDir>$(OutDir)obj\</IntDir>
<TargetExt>.dll</TargetExt>
@@ -153,8 +149,6 @@
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'">
- <IncludePath>$(CUDA_INC_PATH);$(IncludePath)</IncludePath>
- <LibraryPath>$(CUDA_LIB_PATH);$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\$(Platform)\Release_CUDA\</OutDir>
<IntDir>$(OutDir)obj\</IntDir>
<TargetExt>.dll</TargetExt>
@@ -162,8 +156,6 @@
<GenerateManifest>true</GenerateManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">
- <IncludePath>$(CUDA_INC_PATH);$(IncludePath)</IncludePath>
- <LibraryPath>$(CUDA_LIB_PATH);$(LibraryPath)</LibraryPath>
<OutDir>$(SolutionDir)bin\$(Platform)\Release_CUDA\</OutDir>
<IntDir>$(OutDir)obj\</IntDir>
<TargetExt>.dll</TargetExt>
@@ -205,7 +197,7 @@
<CudaCompile>
<TargetMachinePlatform>32</TargetMachinePlatform>
<GenerateLineInfo>true</GenerateLineInfo>
- <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_30,sm_35;compute_30,compute_30</CodeGeneration>
+ <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_60,compute_60</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'">
@@ -228,7 +220,7 @@
<CudaCompile>
<TargetMachinePlatform>64</TargetMachinePlatform>
<GenerateLineInfo>true</GenerateLineInfo>
- <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_30,sm_35;compute_30,compute_30</CodeGeneration>
+ <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_60,compute_60</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
@@ -293,7 +285,7 @@
<CudaCompile>
<TargetMachinePlatform>32</TargetMachinePlatform>
<GenerateLineInfo>true</GenerateLineInfo>
- <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_30,sm_35;compute_30,compute_30</CodeGeneration>
+ <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_60,compute_60</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">
@@ -322,7 +314,7 @@
<CudaCompile>
<TargetMachinePlatform>64</TargetMachinePlatform>
<GenerateLineInfo>true</GenerateLineInfo>
- <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_30,sm_35;compute_30,compute_30</CodeGeneration>
+ <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_60,compute_60</CodeGeneration>
</CudaCompile>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
@@ -520,12 +512,15 @@
<ClCompile Include="src\Float32Data.cpp" />
<ClCompile Include="src\Float32Data2D.cpp" />
<ClCompile Include="src\Float32Data3D.cpp" />
+ <ClCompile Include="src\Float32Data3DGPU.cpp" />
<ClCompile Include="src\Float32Data3DMemory.cpp" />
<ClCompile Include="src\Float32ProjectionData2D.cpp" />
<ClCompile Include="src\Float32ProjectionData3D.cpp" />
+ <ClCompile Include="src\Float32ProjectionData3DGPU.cpp" />
<ClCompile Include="src\Float32ProjectionData3DMemory.cpp" />
<ClCompile Include="src\Float32VolumeData2D.cpp" />
<ClCompile Include="src\Float32VolumeData3D.cpp" />
+ <ClCompile Include="src\Float32VolumeData3DGPU.cpp" />
<ClCompile Include="src\Float32VolumeData3DMemory.cpp" />
<ClCompile Include="src\ForwardProjectionAlgorithm.cpp" />
<ClCompile Include="src\Fourier.cpp" />
@@ -635,12 +630,15 @@
<ClInclude Include="include\astra\Float32Data.h" />
<ClInclude Include="include\astra\Float32Data2D.h" />
<ClInclude Include="include\astra\Float32Data3D.h" />
+ <ClInclude Include="include\astra\Float32Data3DGPU.h" />
<ClInclude Include="include\astra\Float32Data3DMemory.h" />
<ClInclude Include="include\astra\Float32ProjectionData2D.h" />
<ClInclude Include="include\astra\Float32ProjectionData3D.h" />
+ <ClInclude Include="include\astra\Float32ProjectionData3DGPU.h" />
<ClInclude Include="include\astra\Float32ProjectionData3DMemory.h" />
<ClInclude Include="include\astra\Float32VolumeData2D.h" />
<ClInclude Include="include\astra\Float32VolumeData3D.h" />
+ <ClInclude Include="include\astra\Float32VolumeData3DGPU.h" />
<ClInclude Include="include\astra\Float32VolumeData3DMemory.h" />
<ClInclude Include="include\astra\ForwardProjectionAlgorithm.h" />
<ClInclude Include="include\astra\Fourier.h" />
@@ -862,6 +860,6 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
- <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 5.5.targets" />
+ <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.targets" />
</ImportGroup>
</Project> \ No newline at end of file
diff --git a/astra_vc11.vcxproj.filters b/astra_vc14.vcxproj.filters
index d6748f1..24c54ec 100644
--- a/astra_vc11.vcxproj.filters
+++ b/astra_vc14.vcxproj.filters
@@ -330,6 +330,15 @@
<ClCompile Include="src\CudaSirtAlgorithm3D.cpp">
<Filter>CUDA\astra source</Filter>
</ClCompile>
+ <ClCompile Include="src\Float32Data3DGPU.cpp">
+ <Filter>CUDA\astra source</Filter>
+ </ClCompile>
+ <ClCompile Include="src\Float32ProjectionData3DGPU.cpp">
+ <Filter>CUDA\astra source</Filter>
+ </ClCompile>
+ <ClCompile Include="src\Float32VolumeData3DGPU.cpp">
+ <Filter>CUDA\astra source</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\astra\Algorithm.h">
@@ -593,6 +602,15 @@
<ClInclude Include="include\astra\CudaSirtAlgorithm3D.h">
<Filter>CUDA\astra headers</Filter>
</ClInclude>
+ <ClInclude Include="include\astra\Float32Data3DGPU.h">
+ <Filter>CUDA\astra headers</Filter>
+ </ClInclude>
+ <ClInclude Include="include\astra\Float32ProjectionData3DGPU.h">
+ <Filter>CUDA\astra headers</Filter>
+ </ClInclude>
+ <ClInclude Include="include\astra\Float32VolumeData3DGPU.h">
+ <Filter>CUDA\astra headers</Filter>
+ </ClInclude>
<ClInclude Include="cuda\2d\algo.h">
<Filter>CUDA\cuda headers</Filter>
</ClInclude>
diff --git a/build/Cuda.rules b/build/Cuda.rules
deleted file mode 100644
index 733aa1f..0000000
--- a/build/Cuda.rules
+++ /dev/null
@@ -1,358 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<VisualStudioToolFile
- Name="CUDA Build Rule v2.1.0"
- Version="8,00"
- >
- <Rules>
- <CustomBuildRule
- Name="CUDA Build Rule"
- DisplayName="CUDA Build Rule v2.1.0"
- CommandLine="echo [CompilerPath] [Keep] [ExtraNvccOptions] [Platform] [Arch] -ccbin &quot;$(VCInstallDir)bin&quot; [Emulation] [FastMath] [Defines] -Xcompiler &quot;/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]&quot; [Include] [MaxRegCount] [PtxAsOptionV] [NvccCompilation] &quot;$(InputPath)&quot; &#x0D;&#x0A; [CompilerPath] [Keep] [ExtraNvccOptions] [Platform] [Arch] -ccbin &quot;$(VCInstallDir)bin&quot; [Emulation] [FastMath] [Defines] -Xcompiler &quot;/EHsc [Warning] /nologo [Optimization] /Zi [RuntimeChecks] [Runtime] [TypeInfo] [ExtraCppOptions]&quot; [Include] [MaxRegCount] [ptxasoptionv] [NvccCompilation] &quot;$(InputPath)&quot; "
- Outputs="[compileout]"
- AdditionalDependencies="[AddedDependencies]"
- FileExtensions="*.cu"
- ExecutionDescription="Compiling with CUDA Build Rule..."
- >
- <Properties>
- <StringProperty
- Name="Include"
- DisplayName="Additional Include Directories"
- Description="Specifies one or more directories to add to the include path; use semi-colon delimited list if more than one. (/I[path])"
- Switch="-I[value]"
- DefaultValue="&quot;$(CUDA_INC_PATH)&quot;"
- Delimited="true"
- Delimiters=";"
- Inheritable="true"
- />
- <BooleanProperty
- Name="Debug"
- DisplayName="Generate Debug Information"
- Description="Specifies whether or not debugging information is generated by the CUDA compiler. (-D_DEBUG)"
- Switch="-D_DEBUG"
- />
- <EnumProperty
- Name="NvccCompilation"
- DisplayName="NVCC Compilation Type"
- Description="Select desired output of NVCC compilation (-c/-compile, -cuda, -gpu, -cubin, -ptx)"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="--compile -o &quot;$(IntDir)\$(InputName).cu.obj&quot;"
- DisplayName="Generate hybrid object file (--compile / -c)"
- />
- <EnumValue
- Value="1"
- Switch="-cuda -o &quot;$(IntDir)\$(InputName).cu.c&quot;"
- DisplayName="Generate hybrid .c file (-cuda)"
- />
- <EnumValue
- Value="2"
- Switch="-gpu -o &quot;$(IntDir)\$(InputName).gpu&quot;"
- DisplayName="Generate .gpu file (-gpu)"
- />
- <EnumValue
- Value="3"
- Switch="-m32 -cubin -o &quot;data\$(InputName).cubin&quot;"
- DisplayName="Generate .cubin file (-cubin)"
- />
- <EnumValue
- Value="4"
- Switch="-ptx -o &quot;$(IntDir)\$(InputName).ptx&quot;"
- DisplayName="Generate .ptx file (-ptx)"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="compileout"
- DisplayName="Compiler Output (obj/cubin)"
- Description="Sets output as an OBJ or cubin file"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="&quot;$(IntDir)/$(InputName).cu.obj&quot;"
- DisplayName="&quot;$(IntDir)/$(InputName).cu.obj&quot;"
- />
- <EnumValue
- Value="1"
- Switch="&quot;data/$(InputName).cubin&quot;"
- DisplayName="&quot;data/$(InputName).cubin&quot;"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="Arch"
- DisplayName="GPU Architecture"
- Description="Select option for the GPU architecture to use on the command line (-arch sm_10, sm_11, sm_12, sm_13)"
- DefaultValue="10"
- >
- <Values>
- <EnumValue
- Value="10"
- Switch="-arch sm_10"
- DisplayName="sm_10"
- />
- <EnumValue
- Value="11"
- Switch="-arch sm_11"
- DisplayName="sm_11"
- />
- <EnumValue
- Value="12"
- Switch="-arch sm_12"
- DisplayName="sm_12"
- />
- <EnumValue
- Value="13"
- Switch="-arch sm_13"
- DisplayName="sm_13"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="CompilerPath"
- DisplayName="Path to nvcc.exe"
- Description="Specifies the path to the CUDA compiler, nvcc.exe "
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="&quot;$(CUDA_BIN_PATH)\nvcc.exe&quot;"
- DisplayName="Installed Toolkit (uses CUDA_BIN_PATH environment varible)"
- />
- <EnumValue
- Value="1"
- Switch="&quot;[AlternateNvccPath]&quot;"
- DisplayName="Use Alternate path to CUDA, specified below"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="AlternateNvccPath"
- DisplayName="Alternate path to nvcc.exe (non-standard installation)"
- Switch="[value]\nvcc.exe"
- />
- <BooleanProperty
- Name="Emulation"
- DisplayName="Emulation Mode"
- Description="Whether or not to generate emulated code."
- Switch="-deviceemu -D_DEVICEEMU"
- />
- <BooleanProperty
- Name="FastMath"
- DisplayName="Use Fast Math"
- Category="Default"
- Description="Make use of the fast math library."
- Switch="-use_fast_math"
- />
- <IntegerProperty
- Name="MaxRegCount"
- DisplayName="maxrregcount"
- Switch="-maxrregcount=[Value]"
- DefaultValue="32"
- />
- <BooleanProperty
- Name="PtxAsOptionV"
- DisplayName="PtxAsOptionV"
- Switch="--ptxas-options=-v"
- />
- <StringProperty
- Name="ExtraNvccOptions"
- DisplayName="Extra Options"
- Description="Supply any additional command line options to NVCC"
- Switch="[value]"
- />
- <StringProperty
- Name="Defines"
- DisplayName="Preprocessor Definitions"
- PropertyPageName="Preprocessor"
- Description="Specifies one or more preprocessor defines. (-D[macro])"
- Switch="-D[value]"
- Delimited="true"
- Inheritable="true"
- />
- <BooleanProperty
- Name="Keep"
- DisplayName="Keep preprocessed files (.ptx, .cubin, cudafe1.c, cudafe1.cpp, cudafe1.gpu, etc.)"
- PropertyPageName="Preprocessor"
- Description="Specifies that preprocessor files generated by the CUDA compiler are not deleted."
- Switch="--keep"
- />
- <EnumProperty
- Name="Warning"
- DisplayName="Warning Level"
- PropertyPageName="Hybrid CUDA/C++ Options"
- Description="Select how strict you want the compiler to be about checking for potentially suspect constructs. (/W0 - /W4)"
- DefaultValue="3"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="/W0"
- DisplayName="Off: Turn Off All Warnings (/W0)"
- />
- <EnumValue
- Value="1"
- Switch="/W1"
- DisplayName="Level 1 (/W1)"
- />
- <EnumValue
- Value="2"
- Switch="/W2"
- DisplayName="Level 2 (/W2)"
- />
- <EnumValue
- Value="3"
- Switch="/W3"
- DisplayName="Level 3 (/W3)"
- />
- <EnumValue
- Value="4"
- Switch="/W4"
- DisplayName="Level 4 (/W4)"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="Optimization"
- DisplayName="Optimization"
- Description="Select option for code optimization; choose Custom to use specific optimization options. (/Od, /O1, /O2, /Ox)"
- DefaultValue="2"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="/Od"
- DisplayName="Disabled (/Od)"
- />
- <EnumValue
- Value="1"
- Switch="/O1"
- DisplayName="Minimize Size (/O1)"
- />
- <EnumValue
- Value="2"
- Switch="/O2"
- DisplayName="Maximize Speed (/O2)"
- />
- <EnumValue
- Value="3"
- Switch="/Ox"
- DisplayName="Full Optimization (/Ox)"
- />
- </Values>
- </EnumProperty>
- <StringProperty
- Name="AddedDependencies"
- DisplayName="Source Dependencies"
- Description="Add additional CUDA file dependencies"
- Switch="[value]"
- />
- <EnumProperty
- Name="RuntimeChecks"
- DisplayName="Basic Runtime Checks"
- PropertyPageName="Hybrid CUDA/C++ Options"
- Description="Perform basic runtime error checks, incompatible with any optimization type other than debug. (/RTCs, /RTCu, /RTC1)"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch=" "
- DisplayName="Default"
- />
- <EnumValue
- Value="1"
- Switch="/RTCs"
- DisplayName="Stack Frames (/RTCs)"
- />
- <EnumValue
- Value="2"
- Switch="/RTCu"
- DisplayName="Uninitialized Variables (/RTCu)"
- />
- <EnumValue
- Value="3"
- Switch="/RTC1"
- DisplayName="Both (/RTC1, equiv. to /RTCsu)"
- />
- </Values>
- </EnumProperty>
- <EnumProperty
- Name="Runtime"
- DisplayName="Runtime Library"
- PropertyPageName="Hybrid CUDA/C++ Options"
- Description="Specify runtime library for linking. (/MT, /MTd, /MD, /MDd, /ML, /MLd)"
- >
- <Values>
- <EnumValue
- Value="0"
- Switch="/MT"
- DisplayName="Multi-Threaded (/MT)"
- />
- <EnumValue
- Value="1"
- Switch="/MTd"
- DisplayName="Multi-Threaded Debug (/MTd)"
- />
- <EnumValue
- Value="2"
- Switch="/MD"
- DisplayName="Multi-Threaded DLL (/MD)"
- />
- <EnumValue
- Value="3"
- Switch="/MDd"
- DisplayName="Multi-Threaded Debug DLL (/MDd)"
- />
- <EnumValue
- Value="4"
- Switch="/ML"
- DisplayName="Single-Threaded (/ML)"
- />
- <EnumValue
- Value="5"
- Switch="/MLd"
- DisplayName="Single-Threaded Debug (/MLd)"
- />
- </Values>
- </EnumProperty>
- <BooleanProperty
- Name="TypeInfo"
- DisplayName="Enable Run-Time Type Info"
- PropertyPageName="Hybrid CUDA/C++ Options"
- Description="Adds code for checking C++ object types at run time (runtime type information). (/GR)"
- Switch="/GR"
- />
- <StringProperty
- Name="ExtraCppOptions"
- DisplayName="Extra C++ Options"
- PropertyPageName="Hybrid CUDA/C++ Options"
- Description="Supply any additional command line options to the host C++ compiler"
- Switch="[value]"
- />
- <EnumProperty
- Name="Platform"
- DisplayName="Platform"
- >
- <Values>
- <EnumValue
- Value="0"
- DisplayName="Default"
- />
- <EnumValue
- Value="1"
- Switch="-m32"
- DisplayName="Win32"
- />
- <EnumValue
- Value="2"
- Switch="-m64"
- DisplayName="x64"
- />
- </Values>
- </EnumProperty>
- </Properties>
- </CustomBuildRule>
- </Rules>
-</VisualStudioToolFile>
diff --git a/build/linux/Makefile.in b/build/linux/Makefile.in
index 2af705f..d7d6488 100644
--- a/build/linux/Makefile.in
+++ b/build/linux/Makefile.in
@@ -1,10 +1,19 @@
+install_type=@INSTALL_TYPE@
+
cuda=@HAVECUDA@
matlab=@HAVEMATLAB@
python=@HAVEPYTHON@
boostutf=@HAVEBOOSTUTF@
-
+macos=@IS_MACOS@
MATLAB_ROOT=@MATLAB_ROOT@
+octave=@HAVEOCTAVE@
+
+MKDIR=mkdir -p
+CXX=@CXX@
+LD=@CXX@
+SHELL=@SHELL@
+INSTALL_SH=$(SHELL) $(srcdir)/install-sh
TARGETS=libastra.la
@@ -16,10 +25,15 @@ ifeq ($(python),yes)
TARGETS+=py
endif
+ifeq ($(octave),yes)
+TARGETS+=oct
+endif
+
all: $(TARGETS)
prefix=@prefix@
exec_prefix=@exec_prefix@
+datarootdir=@datarootdir@
srcdir=@srcdir@
abs_top_builddir=@abs_top_builddir@
@@ -36,7 +50,10 @@ CXXFLAGS+=-g -O3 -Wall -Wshadow
LIBS+=-lpthread
LDFLAGS+=-g
-CPPFLAGS+=@CPPFLAGS_OS@
+CXXFLAGS+=@CXXFLAGS_OS@
+LDFLAGS+=@LDFLAGS_OS@
+
+BOOSTUTF_LIBS=@LIBS_BOOSTUTF@
ifeq ($(cuda),yes)
CPPFLAGS += @CPPFLAGS_CUDA@ -DASTRA_CUDA
@@ -47,47 +64,39 @@ NVCC = @NVCC@
endif
ifeq ($(matlab),yes)
+# TODO: Do we also want -fopenmp for octave?
CPPFLAGS+=-I$(MATLAB_ROOT)/extern/include -DMATLAB_MEX_FILE
+ifeq ($(macos),no)
CXXFLAGS+=-fopenmp
LDFLAGS+=-fopenmp
endif
+endif
+
+# MODLDFLAGS are the base LDFLAGS for matlab, octave, python modules
+MODLDFLAGS=$(LDFLAGS) -L$(abs_top_builddir)/.libs
+ifeq ($(install_type),module)
+MODLDFLAGS+=-Wl,-rpath,'\$$ORIGIN'
+endif
ifeq ($(python),yes)
PYTHON = @PYTHON@
-PYLIBDIR = $(shell $(PYTHON) -c 'from distutils.sysconfig import get_config_var; import six; six.print_(get_config_var("LIBDIR"))')
-PYINCDIR = $(shell $(PYTHON) -c 'from distutils.sysconfig import get_python_inc; import six; six.print_(get_python_inc())')
+PYINCDIR := $(shell $(PYTHON) -c 'from __future__ import print_function; from distutils.sysconfig import get_python_inc; print(get_python_inc())')
PYLIBVER = `basename $(PYINCDIR)`
CPPFLAGS += -DASTRA_PYTHON -I$(PYINCDIR)
PYCPPFLAGS := $(CPPFLAGS)
PYCPPFLAGS += -I../include
-PYLDFLAGS = $(LDFLAGS)
-PYLDFLAGS += -L$(abs_top_builddir)/.libs
+PYLDFLAGS = $(MODLDFLAGS)
+MODPYLIBS=-l$(PYLIBVER)
endif
# This is below where PYCPPFLAGS copies CPPFLAGS. The python code is built
# from a different directory, so these relative includes would be wrong.
CPPFLAGS+=-I$(srcdir)/../.. -I$(srcdir)/../../include -I$(srcdir)/../../lib/include
-BOOST_CPPFLAGS=
-BOOST_LDFLAGS=
-
-BOOSTUTF_LIBS=@LIBS_BOOSTUTF@
-
-
-CPPFLAGS+=$(BOOST_CPPFLAGS)
-LDFLAGS+=$(BOOST_LDFLAGS)
-
-
-MKDIR=mkdir -p
-CXX=@CXX@
-LD=@CXX@
-SHELL=@SHELL@
-INSTALL_SH=$(SHELL) $(srcdir)/install-sh
-
ifeq ($(matlab),yes)
MEXFLAGS = -cxx
-MEXLDFLAGS='$$LDFLAGS $(LDFLAGS)'
-MEXLIBS = -L.libs -lut
+MEXLDFLAGS=\$$LDFLAGS $(MODLDFLAGS)
+MEXLIBS = -lut
MEXSUFFIX = @MEXSUFFIX@
MEX = @MEX@
@@ -95,14 +104,20 @@ ifeq ($(cuda),yes)
MEXFLAGS += -DASTRA_CUDA
endif
-ifeq ($(python),yes)
-MEXPYLDFLAGS='$$LDFLAGS $(LDFLAGS) -L$(PYLIBDIR)'
-MEXPYLIBS=$(MEXLIBS) -l$(PYLIBVER)
+endif
+
+
+ifeq ($(octave),yes)
+OCTLDFLAGS:=$(MODLDFLAGS)
+CPPFLAGS += @OCTAVE_CPPFLAGS@
+ifeq ($(cuda),yes)
+OCTFLAGS=-DASTRA_CUDA
+else
+OCTFLAGS=
endif
endif
-LIBDIR=/usr/local/lib
DEPDIR=.deps
@@ -190,7 +205,10 @@ CUDA_CXX_OBJECTS=\
src/CudaFDKAlgorithm3D.lo \
src/CudaSirtAlgorithm3D.lo \
src/CudaBackProjectionAlgorithm3D.lo \
- src/CudaForwardProjectionAlgorithm3D.lo
+ src/CudaForwardProjectionAlgorithm3D.lo \
+ src/Float32Data3DGPU.lo \
+ src/Float32ProjectionData3DGPU.lo \
+ src/Float32VolumeData3DGPU.lo
CUDA_OBJECTS=\
cuda/2d/algo.lo \
@@ -258,47 +276,79 @@ MATLAB_MEX=\
matlab/mex/astra_mex_data3d_c.$(MEXSUFFIX) \
matlab/mex/astra_mex_direct_c.$(MEXSUFFIX)
+OCTAVE_CXX_OBJECTS=\
+ matlab/mex/octave_support.o
+
+OCTAVE_MEX=\
+ matlab/mex/astra_mex_algorithm_c.mex \
+ matlab/mex/astra_mex_data2d_c.mex \
+ matlab/mex/astra_mex_c.mex \
+ matlab/mex/astra_mex_matrix_c.mex \
+ matlab/mex/astra_mex_projector_c.mex \
+ matlab/mex/astra_mex_projector3d_c.mex \
+ matlab/mex/astra_mex_log_c.mex \
+ matlab/mex/astra_mex_data3d_c.mex \
+ matlab/mex/astra_mex_direct_c.mex
+
ifeq ($(python),yes)
MATLAB_MEX+=matlab/mex/astra_mex_plugin_c.$(MEXSUFFIX)
+OCTAVE_MEX+=matlab/mex/astra_mex_plugin_c.mex
endif
+
OBJECT_DIRS = src/ tests/ cuda/2d/ cuda/3d/ matlab/mex/ ./
DEPDIRS = $(addsuffix $(DEPDIR),$(OBJECT_DIRS))
-include $(wildcard $(addsuffix /*.d,$(DEPDIRS)))
LIBDIRS = $(addsuffix .libs,./ src/ cuda/2d/ cuda/3d/)
+SONAME=$(shell . ${abs_top_builddir}/libastra.la; echo $$dlname)
ifeq ($(matlab),yes)
mex: $(MATLAB_MEX)
%.$(MEXSUFFIX): %.o $(MATLAB_CXX_OBJECTS) libastra.la
- $(MEX) LDFLAGS=$(MEXLDFLAGS) $(MEXFLAGS) $(LIBS) $(MEXLIBS) -lastra -output $* $*.o $(MATLAB_CXX_OBJECTS)
+ $(MEX) LDFLAGS="$(MEXLDFLAGS)" $(MEXFLAGS) $(LIBS) $(MEXLIBS) -lastra -output $* $*.o $(MATLAB_CXX_OBJECTS)
+ifeq ($(install_type),module)
+ifeq ($(macos),yes)
+ @# tell macOS dynamic loader to look in mex directory for libastra.0.dylib
+ @# CHECKME: some versions of otool return a two-line output for otool -DX?
+ @# (xcode 8.2.1 / macos 10.11.6 ?)
+ install_name_tool -change `otool -DX .libs/$(SONAME) | tail -n 1` @loader_path/$(SONAME) $@
+endif
+endif
ifeq ($(python),yes)
matlab/mex/astra_mex_plugin_c.$(MEXSUFFIX): matlab/mex/astra_mex_plugin_c.o $(MATLAB_CXX_OBJECTS) libastra.la
- $(MEX) LDFLAGS=$(MEXPYLDFLAGS) $(MEXFLAGS) $(LIBS) $(MEXPYLIBS) -lastra -output matlab/mex/astra_mex_plugin_c $< $(MATLAB_CXX_OBJECTS)
+ $(MEX) LDFLAGS="$(MEXLDFLAGS)" $(MEXFLAGS) $(LIBS) $(MEXLIBS) $(MODPYLIBS) -lastra -output matlab/mex/astra_mex_plugin_c $< $(MATLAB_CXX_OBJECTS)
endif
endif
ifeq ($(python),yes)
py: libastra.la
$(MKDIR) python/build
- $(MKDIR) python/finalbuild
- # Note: setting CC to CXX is intentional. Python uses CC for compilation even if input is C++.
- cd $(srcdir)/../../python; CXX="${CXX}" CC="${CXX}" CPPFLAGS="${PYCPPFLAGS}" LDFLAGS="${PYLDFLAGS}" $(PYTHON) builder.py build --build-base=$(abs_top_builddir)/python/build install \
- --install-base=$(abs_top_builddir)/python/finalbuild --install-headers=$(abs_top_builddir)/python/finalbuild --install-purelib=$(abs_top_builddir)/python/finalbuild \
- --install-platlib=$(abs_top_builddir)/python/finalbuild --install-scripts=$(abs_top_builddir)/python/finalbuild --install-data=$(abs_top_builddir)/python/finalbuild
-
-python-root-install: libastra.la
- $(MKDIR) python/build
- # Note: setting CC to CXX is intentional. Python uses CC for compilation even if input is C++.
- cd $(srcdir)/../../python; CXX="${CXX}" CC="${CXX}" CPPFLAGS="${PYCPPFLAGS}" LDFLAGS="${PYLDFLAGS}" $(PYTHON) builder.py build --build-base=$(abs_top_builddir)/python/build install
+# TODO: Avoid writing into source dir
+ ln -s $(abs_top_builddir)/.libs/$(SONAME) $(srcdir)/../../python/astra
+# Note: setting CC to CXX is intentional. Python uses CC for compilation even if input is C++.
+ (cd $(srcdir)/../../python; ASTRA_INSTALL_LIBRARY_AS_DATA=$(PYPKGDATA) CXX="${CXX}" CC="${CXX}" CPPFLAGS="${PYCPPFLAGS}" LDFLAGS='${PYLDFLAGS}' $(PYTHON) builder.py build --build-base=$(abs_top_builddir)/python/build) || (rm $(srcdir)/../../python/astra/$(SONAME); false)
+ rm $(srcdir)/../../python/astra/$(SONAME)
endif
+ifeq ($(octave),yes)
+oct: $(OCTAVE_MEX)
+
+%.mex: %.o $(MATLAB_CXX_OBJECTS) $(OCTAVE_CXX_OBJECTS) libastra.la
+ mkoctfile --mex $(OCTFLAGS) $(OCTLDFLAGS) $(LIBS) -lastra --output $* $*.o $(MATLAB_CXX_OBJECTS) $(OCTAVE_CXX_OBJECTS)
+
+ifeq ($(python),yes)
+matlab/mex/astra_mex_plugin_c.mex: matlab/mex/astra_mex_plugin_c.o $(MATLAB_CXX_OBJECTS) $(OCTAVE_CXX_OBJECTS) libastra.la
+ mkoctfile --mex $(OCTFLAGS) $(OCTLDFLAGS) $(LIBS) $(MODPYLIBS) -lastra --output matlab/mex/astra_mex_plugin_c $< $(MATLAB_CXX_OBJECTS) $(OCTAVE_CXX_OBJECTS)
+endif
+endif
+
libastra.la: $(ALL_OBJECTS)
- ./libtool --mode=link --tag=CXX $(LD) -rpath $(LIBDIR) -o $@ $(LDFLAGS) $(LIBS) $+
+ ./libtool --mode=link --tag=CXX $(LD) -rpath @libdir@ -o $@ $(LDFLAGS) $(LIBS) $+
%.o: %.cpp
$(MKDIR) $(*D)/$(DEPDIR)
@@ -321,12 +371,13 @@ ifeq ($(gen_static_libs),yes)
@$(NVCC) $(NVCCFLAGS) -c $(<) -o $*.o >/dev/null 2>&1
endif
@# Generate a .d file, and change the target name in it from .o to .lo
+ @# CUDA 5.5's nvcc doesn't have the -MT option we would like to use.
@$(NVCC) $(NVCCFLAGS) -M $(<) -odir $(*D) -o $(*D)/$(DEPDIR)/$(*F).d2
@sed '1s/\.o :/.lo :/' < $(*D)/$(DEPDIR)/$(*F).d2 > $(*D)/$(DEPDIR)/$(*F).d
@rm -f $(*D)/$(DEPDIR)/$(*F).d2
@# Generate empty targets for all dependencies listed in the .d file.
@# This mimics gcc's -MP option.
- @for x in `cat $(*D)/$(DEPDIR)/$(*F).d`; do if test a$$x != a: -a a$$x != a\\; then echo -e "\n$$x:\n" >> $(*D)/$(DEPDIR)/$(*F).d; fi; done
+ @for x in `cat $(*D)/$(DEPDIR)/$(*F).d`; do if test a$$x != a: -a a$$x != a\\; then (echo; echo "$$x:") >> $(*D)/$(DEPDIR)/$(*F).d; fi; done
@# Generate a fake libtool .lo file
@echo "# $*.lo - a libtool object file" > $*.lo
@echo "# Generated by" `./libtool --version | head -n 1` >> $*.lo
@@ -377,43 +428,107 @@ distclean: clean
rm -rf $(srcdir)/autom4te.cache
rm -f $(srcdir)/configure Makefile
-install: install-libraries install-matlab install-python
-
install-libraries: libastra.la
$(INSTALL_SH) -m 755 -d @libdir@
./libtool --mode=install $(INSTALL_SH) -m 644 libastra.la @libdir@
./libtool --mode=finish @libdir@
-ifeq ($(matlab),yes)
-# TODO: This install location doesn't work well for /usr or /usr/local
-install-matlab: $(MATLAB_MEX)
- $(INSTALL_SH) -m 755 -d @prefix@/matlab
- $(INSTALL_SH) -m 755 -d @prefix@/matlab/mex
- $(INSTALL_SH) -m 755 -d @prefix@/matlab/tools
- $(INSTALL_SH) -m 644 $(MATLAB_MEX) @prefix@/matlab/mex
- $(INSTALL_SH) -m 644 $(srcdir)/../../matlab/tools/*.m @prefix@/matlab/tools
-# TODO: docs
+
+# ------------------------
+# INSTALLATION
+# ------------------------
+
+ifeq ($(install_type),prefix)
+# libraries into @libdir@, python into site-packages, mex into @datadir@
+install: install-libraries install-matlab install-python-site-packages install-octave
+
+PYPKGDATA=
+MATLABBASE=@datadir@/astra/matlab
+OCTAVEBASE=@datadir@/astra/octave
+endif
+
+ifeq ($(install_type),dir)
+# everything into @prefix@
+install: install-libraries install-matlab install-python install-octave
+
+PYPKGDATA=
+MATLABBASE=@prefix@/matlab
+OCTAVEBASE=@prefix@/octave
+PYTHONBASE=@prefix@/python
+endif
+
+ifeq ($(install_type),module)
+# python into site-packages, mex into @datadir@
+# library copied into python/mex directories
+# modules built with rpath=$ORIGIN
+install: install-matlab install-python-site-packages install-octave
+
+PYPKGDATA=$(SONAME)
+MATLABBASE=@prefix@/matlab
+OCTAVEBASE=@prefix@/octave
+
+install-matlab-so: libastra.la
+ $(INSTALL_SH) -m 755 -d $(MATLABBASE)/mex
+ $(INSTALL_SH) -m 755 $(abs_top_builddir)/.libs/$(SONAME) $(MATLABBASE)/mex
+install-octave-so: libastra.la
+ $(INSTALL_SH) -m 755 -d $(OCTAVEBASE)/mex
+ $(INSTALL_SH) -m 755 $(abs_top_builddir)/.libs/$(SONAME) $(OCTAVEBASE)/mex
else
-install-matlab:
+install-matlab-so:
+install-octave-so:
endif
+
+
ifeq ($(python),yes)
-# TODO: This install location doesn't work well for /usr or /usr/local
install-python: py
+ $(MKDIR) python/finalbuild
+ # Note: setting CC to CXX is intentional. Python uses CC for compilation even if input is C++.
+ cd $(srcdir)/../../python; ASTRA_INSTALL_LIBRARY_AS_DATA=$(PYPKGDATA) CXX="${CXX}" CC="${CXX}" CPPFLAGS="${PYCPPFLAGS}" LDFLAGS="${PYLDFLAGS}" $(PYTHON) builder.py build --build-base=$(abs_top_builddir)/python/build install \
+ --install-base=$(abs_top_builddir)/python/finalbuild --install-headers=$(abs_top_builddir)/python/finalbuild --install-purelib=$(abs_top_builddir)/python/finalbuild \
+ --install-platlib=$(abs_top_builddir)/python/finalbuild --install-scripts=$(abs_top_builddir)/python/finalbuild --install-data=$(abs_top_builddir)/python/finalbuild
$(INSTALL_SH) -m 755 -d @prefix@/python
$(INSTALL_SH) -m 755 -d @prefix@/python/astra
- $(INSTALL_SH) -m 644 python/finalbuild/astra/*.so @prefix@/python/astra
+ $(INSTALL_SH) -m 755 -d @prefix@/python/astra/plugins
+ $(INSTALL_SH) -m 755 python/finalbuild/astra/*.so @prefix@/python/astra
$(INSTALL_SH) -m 644 python/finalbuild/astra/*.py @prefix@/python/astra
+ $(INSTALL_SH) -m 644 python/finalbuild/astra/plugins/*.py @prefix@/python/astra/plugins
$(INSTALL_SH) -m 644 python/finalbuild/*.egg-info @prefix@/python/
- @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
- @echo "To use ASTRA in Python, add @prefix@/python/ to your PYTHONPATH"
- @echo "and @libdir@ to your LD_LIBRARY_PATH."
- @echo "++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++"
# TODO: docs
+
+install-python-site-packages: py
+# Note: setting CC to CXX is intentional. Python uses CC for compilation even if input is C++.
+ cd $(srcdir)/../../python; ASTRA_INSTALL_LIBRARY_AS_DATA=$(PYPKGDATA) CXX="${CXX}" CC="${CXX}" CPPFLAGS="${PYCPPFLAGS}" LDFLAGS="${PYLDFLAGS}" $(PYTHON) builder.py build --build-base=$(abs_top_builddir)/python/build install
else
+install-python-site-packages:
install-python:
endif
+ifeq ($(matlab),yes)
+install-matlab: $(MATLAB_MEX) install-matlab-so
+ $(INSTALL_SH) -m 755 -d $(MATLABBASE)
+ $(INSTALL_SH) -m 755 -d $(MATLABBASE)/mex
+ $(INSTALL_SH) -m 755 -d $(MATLABBASE)/tools
+ $(INSTALL_SH) -m 755 $(MATLAB_MEX) $(MATLABBASE)/mex
+ $(INSTALL_SH) -m 644 $(srcdir)/../../matlab/tools/*.m $(MATLABBASE)/tools
+# TODO: docs
+else
+install-matlab:
+endif
+
+
+ifeq ($(octave),yes)
+install-octave: $(OCTAVE_MEX) install-octave-so
+ $(INSTALL_SH) -m 755 -d $(OCTAVEBASE)
+ $(INSTALL_SH) -m 755 -d $(OCTAVEBASE)/mex
+ $(INSTALL_SH) -m 755 -d $(OCTAVEBASE)/tools
+ $(INSTALL_SH) -m 755 $(OCTAVE_MEX) $(OCTAVEBASE)/mex
+ $(INSTALL_SH) -m 644 $(srcdir)/../../matlab/tools/*.m $(OCTAVEBASE)/tools
+# TODO: docs
+else
+install-octave:
+endif
+
Makefile: $(srcdir)/Makefile.in config.status
CONFIG_HEADERS= CONFIG_LINKS= CONFIG_FILES=$@ $(SHELL) ./config.status
@@ -426,7 +541,7 @@ $(srcdir)/configure: $(srcdir)/configure.ac
@echo "configure.ac has been changed. Regenerating configure script"
cd $(srcdir) && $(SHELL) ./autogen.sh
-.PHONY: all mex test clean distclean install install-libraries py python-root-install install-python
+.PHONY: all mex test clean distclean install install-libraries py install-python-site-packages install-python install-octave install-matlab-so install-octave-so
# don't remove intermediate files:
.SECONDARY:
diff --git a/build/linux/autogen.sh b/build/linux/autogen.sh
index 544fdeb..bb3b5cc 100755
--- a/build/linux/autogen.sh
+++ b/build/linux/autogen.sh
@@ -12,8 +12,11 @@ if test $? -ne 0; then
exit 1
fi
-case `uname` in Darwin*) LIBTOOLIZEBIN=glibtoolize ;;
- *) LIBTOOLIZEBIN=libtoolize ;; esac
+case `uname` in
+ Darwin*)
+ test -x "`which glibtoolize 2>/dev/null`" && LIBTOOLIZEBIN=glibtoolize || LIBTOOLIZEBIN=libtoolize ;;
+ *)
+ LIBTOOLIZEBIN=libtoolize ;; esac
$LIBTOOLIZEBIN --install --force > /dev/null 2>&1
if test $? -ne 0; then
diff --git a/build/linux/configure.ac b/build/linux/configure.ac
index 630b08d..b95d94f 100644
--- a/build/linux/configure.ac
+++ b/build/linux/configure.ac
@@ -1,9 +1,9 @@
dnl -----------------------------------------------------------------------
-dnl Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-dnl 2014-2015, CWI, Amsterdam
+dnl Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+dnl 2014-2016, CWI, Amsterdam
dnl
dnl Contact: astra@uantwerpen.be
-dnl Website: http://sf.net/projects/astra-toolbox
+dnl Website: http://www.astra-toolbox.com/
dnl
dnl This file is part of the ASTRA Toolbox.
dnl
@@ -22,9 +22,8 @@ dnl You should have received a copy of the GNU General Public License
dnl along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
dnl
dnl -----------------------------------------------------------------------
-dnl $Id$
-AC_INIT(astra_toolbox, 1.7.1)
+AC_INIT(astra, 1.8.0)
AC_CONFIG_SRCDIR([Makefile.in])
LT_INIT([disable-static])
@@ -103,14 +102,7 @@ if test x"$NVCC" != xno; then
HAVECUDA=yes
BACKUP_CUDA_LDFLAGS="$LDFLAGS"
if test x"$with_cuda" != x -a x"$with_cuda" != xyes; then
- case $host_cpu in
- x86_64)
- LDFLAGS_CUDA="-L$with_cuda/lib64"
- ;;
- *)
- LDFLAGS_CUDA="-L$with_cuda/lib"
- ;;
- esac
+ test -d $with_cuda/lib64 && LDFLAGS_CUDA="-L$with_cuda/lib64" || LDFLAGS_CUDA="-L$with_cuda/lib"
CPPFLAGS_CUDA="-I$with_cuda/include"
LDFLAGS="$LDFLAGS $LDFLAGS_CUDA"
fi
@@ -133,14 +125,16 @@ 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 30 32 35 37 50
+ dnl 10 11 12 13 20 21 30 32 35 37 50 52 53 60 61
if test x"$with_cuda_compute" = x; then
- with_cuda_compute="10,12,20,30,35,50"
+ with_cuda_compute="20,30,35,50,60"
fi
ASTRA_FIND_NVCC_ARCHS([$with_cuda_compute],NVCCFLAGS_EXTRA,NVCCARCHS)
AC_MSG_RESULT([$NVCCARCHS])
fi
+AC_ARG_VAR(NVCCFLAGS, [CUDA nvcc flags])
+
AC_SUBST(HAVECUDA)
AC_SUBST(LDFLAGS_CUDA)
@@ -175,6 +169,28 @@ fi
AC_SUBST(HAVEMATLAB)
+# octave
+
+AC_ARG_ENABLE(octave, [[ --enable-octave enable Octave support]])
+if test x"$enable_octave" = xyes; then
+ AC_PATH_PROG([HAVEOCTAVE], [octave-config], [no], [$PATH])
+ AC_MSG_CHECKING([for octave])
+ if test x"HAVEOCTAVE" != xno -a $HAVEMATLAB = yes; then
+ HAVEOCTAVE=no
+ AC_MSG_RESULT([no (since Matlab support is enabled)])
+ else
+ if test x"$HAVEOCTAVE" != xno; then
+ OCTAVE_CPPFLAGS="-I`octave-config -p OCTINCLUDEDIR`"
+ AC_SUBST(OCTAVE_CPPFLAGS)
+ HAVEOCTAVE=yes
+ fi
+ AC_MSG_RESULT($HAVEOCTAVE)
+ fi
+else
+ HAVEOCTAVE=no
+fi
+AC_SUBST(HAVEOCTAVE)
+
# python
AC_ARG_WITH(python, [[ --with-python=path path of Python binary (optional)]],,)
@@ -204,8 +220,8 @@ if test x"$with_python" != x -a x"$with_python" != xno; then
AC_MSG_CHECKING(for Cython module)
ASTRA_TRY_PYTHON([
import Cython
-from distutils.version import LooseVersion
-assert(LooseVersion(Cython.__version__)>=LooseVersion("0.13"))
+from pkg_resources import parse_version
+assert(parse_version(Cython.__version__) >= parse_version("0.13"))
],,HAVEPYTHON=no)
if test x$HAVEPYTHON = xno; then
AC_MSG_RESULT(no)
@@ -234,14 +250,20 @@ AC_SUBST(HAVEPYTHON)
AC_CANONICAL_HOST
case $host_os in
darwin* )
- CPPFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6"
+ CXXFLAGS_OS="-stdlib=libstdc++ -mmacosx-version-min=10.6"
+ LDFLAGS_OS="-stdlib=libstdc++"
+ IS_MACOS=yes
;;
*)
- CPPFLAGS_OS=""
+ CXXFLAGS_OS=""
+ LDFLAGS_OS=""
+ IS_MACOS=no
;;
esac
-AC_SUBST(CPPFLAGS_OS)
+AC_SUBST(CXXFLAGS_OS)
+AC_SUBST(LDFLAGS_OS)
+AC_SUBST(IS_MACOS)
# For some reason, some older versions of autoconf produce a config.status
# that disables all lines looking like VPATH=@srcdir@
@@ -250,6 +272,15 @@ AC_SUBST(CPPFLAGS_OS)
VPATH_SRCDIR="$srcdir"
AC_SUBST(VPATH_SRCDIR)
+
+# Installation type
+AC_ARG_WITH(install-type, [[ --with-install-type=prefix|module|dir type of installation (default prefix)]],,with_install_type=prefix)
+
+INSTALL_TYPE=$with_install_type
+AC_SUBST(INSTALL_TYPE)
+
+
+
# TODO:
# Detection of tools:
@@ -269,9 +300,46 @@ AC_OUTPUT
echo
echo "Summary of ASTRA Toolbox build options:"
-echo " CUDA : $HAVECUDA"
-echo " Matlab : $HAVEMATLAB"
-echo " Python : $HAVEPYTHON"
-echo
-echo " prefix : $prefix"
+echo " CUDA : $HAVECUDA"
+echo " Matlab: $HAVEMATLAB"
+echo " Octave: $HAVEOCTAVE"
+echo " Python: $HAVEPYTHON"
echo
+echo "Installation type: $with_install_type"
+case $with_install_type in
+ prefix)
+ echo " Library : "$(eval echo `eval echo $libdir`)
+ if test $HAVEMATLAB = yes; then
+ echo " Matlab files: "$(eval echo `eval echo $datadir`)"/astra/matlab"
+ fi
+ if test $HAVEOCTAVE = yes; then
+ echo " Octave files: "$(eval echo `eval echo $datadir`)"/astra/octave"
+ fi
+ if test $HAVEPYTHON = yes; then
+ echo " Python files to site-packages"
+ fi
+ ;;
+ dir)
+ echo " Library : "$(eval echo `eval echo $libdir`)
+ if test $HAVEMATLAB = yes; then
+ echo " Matlab files: $prefix/matlab"
+ fi
+ if test $HAVEOCTAVE = yes; then
+ echo " Octave files: $prefix/octave"
+ fi
+ if test $HAVEPYTHON = yes; then
+ echo " Python files: $prefix/python"
+ fi
+ ;;
+ module)
+ echo " Library into Matlab/Octave/Python module directories"
+ if test $HAVEMATLAB = yes; then
+ echo " Matlab files: $prefix/matlab"
+ fi
+ if test $HAVEOCTAVE = yes; then
+ echo " Octave files: $prefix/octave"
+ fi
+ if test $HAVEPYTHON = yes; then
+ echo " Python files to site-packages"
+ fi
+esac
diff --git a/build/msvc/build_clean.bat b/build/msvc/build_clean.bat
new file mode 100644
index 0000000..4525529
--- /dev/null
+++ b/build/msvc/build_clean.bat
@@ -0,0 +1,12 @@
+@echo off
+
+set MATLAB_ROOT=C:\Program Files\MATLAB\R2015a
+
+call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
+
+cd %~dp0
+cd ..\..
+
+msbuild astra_vc14.sln /p:Configuration=Release_CUDA /p:Platform=x64 /t:clean
+
+pause
diff --git a/build/msvc/build_env.bat b/build/msvc/build_env.bat
new file mode 100644
index 0000000..8cb7c96
--- /dev/null
+++ b/build/msvc/build_env.bat
@@ -0,0 +1,16 @@
+set B_WP27=2.7.10.3
+set B_WP35=3.5.2.3
+set B_WINPYTHON27=D:\wjp\WinPython-64bit-%B_WP27%
+set B_WINPYTHON35=D:\wjp\WinPython-64bit-%B_WP35%
+set B_MATLAB_ROOT=C:\Program Files\MATLAB\R2015a
+set B_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
+set B_BV=1_62
+set B_BOOST=D:\wjp\boost_%B_BV%_0
+
+set B_VCREDIST=D:\wjp\vs2015u3_redist\vc_redist.x64.exe
+
+set B_README_WP27=C:\WinPython-64bit-%B_WP27%\python-%B_WP27:~0,-2%.amd64\Lib\site-packages
+set B_README_WP35=C:\WinPython-64bit-%B_WP35%\python-%B_WP35:~0,-2%.amd64\Lib\site-packages
+
+set B_RELEASE_TAG=v1.8
+set B_RELEASE=1.8
diff --git a/build/msvc/build_matlab.bat b/build/msvc/build_matlab.bat
new file mode 100644
index 0000000..7a2ef79
--- /dev/null
+++ b/build/msvc/build_matlab.bat
@@ -0,0 +1,14 @@
+@echo off
+
+call "%~dp0build_env.bat"
+
+call "%B_VC%\vcvars64.bat"
+
+cd /D %~dp0
+cd ..\..
+
+set MATLAB_ROOT=%B_MATLAB_ROOT%
+
+msbuild astra_vc14.sln /p:Configuration=Release_CUDA /p:Platform=x64
+
+pause
diff --git a/build/msvc/build_python27.bat b/build/msvc/build_python27.bat
new file mode 100644
index 0000000..a9495f0
--- /dev/null
+++ b/build/msvc/build_python27.bat
@@ -0,0 +1,28 @@
+@echo off
+
+cd /D %~dp0
+cd ..\..
+set R=%CD%
+
+call "%~dp0build_env.bat"
+
+call "%B_WINPYTHON27%\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
+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_python35.bat b/build/msvc/build_python35.bat
new file mode 100644
index 0000000..72c6ec4
--- /dev/null
+++ b/build/msvc/build_python35.bat
@@ -0,0 +1,27 @@
+@echo off
+
+cd /D %~dp0
+cd ..\..
+set R=%CD%
+
+call "%~dp0build_env.bat"
+
+call "%B_WINPYTHON35%\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 CL=/DASTRA_CUDA /DASTRA_PYTHON
+set INCLUDE=%R%\include;%R%\lib\include;%CUDA_PATH%\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
new file mode 100644
index 0000000..e88cb6e
--- /dev/null
+++ b/build/msvc/build_release.bat
@@ -0,0 +1,141 @@
+@echo off
+
+cd /D %~dp0
+cd ..\..
+
+set R=%CD%
+
+call "%~dp0build_env.bat"
+
+rd /s /q release
+
+mkdir release
+cd release
+mkdir src
+mkdir matlab
+mkdir python27
+mkdir python35
+
+cd src
+git clone -b %B_RELEASE_TAG% https://github.com/astra-toolbox/astra-toolbox astra-%B_RELEASE%
+cd astra-%B_RELEASE%
+rd /s /q .git
+
+pause
+
+cd %R%\release\matlab
+mkdir astra-%B_RELEASE%
+cd astra-%B_RELEASE%
+xcopy /e /i %R%\samples\matlab samples
+xcopy /e /i %R%\matlab\algorithms algorithms
+xcopy /e /i %R%\matlab\tools tools
+copy %R%\NEWS.txt .
+copy %R%\README.txt .
+copy %R%\COPYING COPYING.txt
+
+copy %B_VCREDIST% .
+
+mkdir mex
+copy %R%\bin\x64\Release_CUDA\*.mexw64 mex
+copy %R%\bin\x64\Release_CUDA\AstraCuda64.dll mex
+copy %R%\bin\x64\Release_CUDA\AstraCuda64.lib mex
+copy "%CUDA_PATH%\bin\cudart64_80.dll" mex
+copy "%CUDA_PATH%\bin\cufft64_80.dll" mex
+
+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_WINPYTHON27%\scripts\env.bat"
+copy %WINPYDIR%\lib\site-packages\astra\*.* astra
+copy %R%\bin\x64\Release_CUDA\AstraCuda64.lib astra
+copy "%CUDA_PATH%\bin\cudart64_80.dll" astra
+copy "%CUDA_PATH%\bin\cufft64_80.dll" astra
+
+(
+echo -----------------------------------------------------------------------
+echo This file is part of the ASTRA Toolbox
+echo.
+echo Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+echo 2014-2016, CWI, Amsterdam
+echo http://visielab.uantwerpen.be/ and http://www.cwi.nl/
+echo License: Open Source under GPLv3
+echo Contact: astra@uantwerpen.be
+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_WP27%.
+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_WP27% .
+echo.
+echo Sample code can be found in the samples\ directory.
+) > README.txt
+
+pause
+
+rem -------------------------------------------------------------------
+
+cd %R%\release\python35
+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_WINPYTHON35%\scripts\env.bat"
+copy %WINPYDIR%\lib\site-packages\astra\*.* astra
+copy %R%\bin\x64\Release_CUDA\AstraCuda64.lib astra
+copy "%CUDA_PATH%\bin\cudart64_80.dll" astra
+copy "%CUDA_PATH%\bin\cufft64_80.dll" astra
+
+(
+echo -----------------------------------------------------------------------
+echo This file is part of the ASTRA Toolbox
+echo.
+echo Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+echo 2014-2016, CWI, Amsterdam
+echo http://visielab.uantwerpen.be/ and http://www.cwi.nl/
+echo License: Open Source under GPLv3
+echo Contact: astra@uantwerpen.be
+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_WP35%.
+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_WP35% .
+echo.
+echo Sample code can be found in the samples\ directory.
+) > README.txt
+
+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%-python35-win-x64', 'zip', 'python35')"
+python -c "import shutil; shutil.make_archive('astra-%B_RELEASE%', 'zip', 'src')"
+
+pause
diff --git a/build/msvc/build_setup.bat b/build/msvc/build_setup.bat
new file mode 100644
index 0000000..4314386
--- /dev/null
+++ b/build/msvc/build_setup.bat
@@ -0,0 +1,37 @@
+@echo off
+
+call "%~dp0build_env.bat"
+
+cd /D %~dp0
+cd ..\..
+set R=%CD%
+
+rd /s /q "%R%\lib\x64"
+rd /s /q "%R%\lib\include\boost"
+rd /s /q "%R%\bin\x64\Release_CUDA"
+
+cd /D "%B_BOOST%\lib64-msvc-14.0"
+
+mkdir "%R%\lib\x64"
+mkdir "%R%\bin\x64\Release_CUDA"
+
+copy boost_unit_test_framework-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy boost_unit_test_framework-vc140-mt-gd-%B_BV%.lib %R%\lib\x64
+
+copy libboost_chrono-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_chrono-vc140-mt-gd-%B_BV%.lib %R%\lib\x64
+
+copy libboost_date_time-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_date_time-vc140-mt-gd-%B_BV%.lib %R%\lib\x64
+
+copy libboost_system-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_system-vc140-mt-gd-%B_BV%.lib %R%\lib\x64
+
+copy libboost_thread-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_thread-vc140-mt-gd-%B_BV%.lib %R%\lib\x64
+
+cd %B_BOOST%
+
+xcopy /i /e /q boost "%R%\lib\include\boost"
+
+pause
diff --git a/build/msvc/gen.py b/build/msvc/gen.py
index 57f4539..771c226 100644
--- a/build/msvc/gen.py
+++ b/build/msvc/gen.py
@@ -12,26 +12,28 @@ siguid = "2150E333-8FDC-42A3-9474-1A3956D46DE8" # project group
# import uuid
# uuid.uuid4().__str__().upper()
-def create_mex_project(name, uuid11, uuid09):
- return { "type": vcppguid, "name": name, "file11": "matlab\\mex\\" + name + "_vc11.vcxproj", "file09": "matlab\\mex\\" + name + "_vc09.vcproj", "uuid11": uuid11, "uuid09": uuid09, "files": [] }
+def create_mex_project(name, uuid14, uuid11, uuid09):
+ return { "type": vcppguid, "name": name, "file14": "matlab\\mex\\" + name + "_vc14.vcxproj", "file11": "matlab\\mex\\" + name + "_vc11.vcxproj", "file09": "matlab\\mex\\" + name + "_vc09.vcproj", "uuid14": uuid14, "uuid11": uuid11, "uuid09": uuid09, "files": [] }
-P_astra = { "type": vcppguid, "name": "astra_vc11", "file11": "astra_vc11.vcxproj", "file09": "astra_vc09.vcproj", "uuid11": "BE9F1326-527C-4284-AE2C-D1E25D539CEA", "uuid09": "12926444-6723-46A8-B388-12E65E0577FA" }
+P_astra = { "type": vcppguid, "name": "astra_vc11", "file14": "astra_vc14.vcxproj", "file11": "astra_vc11.vcxproj", "file09": "astra_vc09.vcproj", "uuid14": "DABD9D82-609E-4C71-B1CA-A41B07495290", "uuid11": "BE9F1326-527C-4284-AE2C-D1E25D539CEA", "uuid09": "12926444-6723-46A8-B388-12E65E0577FA" }
-P0 = create_mex_project("astra_mex", "3FDA35E0-0D54-4663-A3E6-5ABA96F32221", "3FDA35E0-0D54-4663-A3E6-5ABA96F32221")
+P0 = create_mex_project("astra_mex", "6FDF72C4-A855-4F1C-A401-6500040B5E28", "3FDA35E0-0D54-4663-A3E6-5ABA96F32221", "3FDA35E0-0D54-4663-A3E6-5ABA96F32221")
-P1 = create_mex_project("astra_mex_algorithm", "056BF7A9-294D-487C-8CC3-BE629077CA94", "056BF7A9-294D-487C-8CC3-BE629077CA94")
-P2 = create_mex_project("astra_mex_data2d", "E4092269-B19C-46F7-A84E-4F146CC70E44", "E4092269-B19C-46F7-A84E-4F146CC70E44")
-P3 = create_mex_project("astra_mex_data3d", "0BEC029B-0929-4BF9-BD8B-9C9806A52065", "0BEC029B-0929-4BF9-BD8B-9C9806A52065")
-P4 = create_mex_project("astra_mex_matrix", "9D041710-2119-4230-BCF2-5FBE753FDE49", "9D041710-2119-4230-BCF2-5FBE753FDE49")
-P5 = create_mex_project("astra_mex_projector", "4DD6056F-8EEE-4C9A-B2A9-923F01A32E97", "4DD6056F-8EEE-4C9A-B2A9-923F01A32E97")
-P6 = create_mex_project("astra_mex_projector3d", "F94CCD79-AA11-42DF-AC8A-6C9D2238A883", "F94CCD79-AA11-42DF-AC8A-6C9D2238A883")
-P7 = create_mex_project("astra_mex_log", "03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E", "CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8")
-P8 = create_mex_project("astra_mex_direct", "0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7", "85FE09A6-FA49-4314-A2B1-59D77C7442A8")
+P1 = create_mex_project("astra_mex_algorithm", "CE5EF874-830C-4C10-8651-CCA2A34ED9E4", "056BF7A9-294D-487C-8CC3-BE629077CA94", "056BF7A9-294D-487C-8CC3-BE629077CA94")
+P2 = create_mex_project("astra_mex_data2d", "D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1", "E4092269-B19C-46F7-A84E-4F146CC70E44", "E4092269-B19C-46F7-A84E-4F146CC70E44")
+P3 = create_mex_project("astra_mex_data3d", "2A7084C6-62ED-4235-85F4-094C17689DEB", "0BEC029B-0929-4BF9-BD8B-9C9806A52065", "0BEC029B-0929-4BF9-BD8B-9C9806A52065")
+P4 = create_mex_project("astra_mex_matrix", "6BFA8857-37EB-4E43-A97C-B860E21599F5", "9D041710-2119-4230-BCF2-5FBE753FDE49", "9D041710-2119-4230-BCF2-5FBE753FDE49")
+P5 = create_mex_project("astra_mex_projector", "85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2", "4DD6056F-8EEE-4C9A-B2A9-923F01A32E97", "4DD6056F-8EEE-4C9A-B2A9-923F01A32E97")
+P6 = create_mex_project("astra_mex_projector3d", "CA85BDA0-9BDD-495E-B200-BFE863EB6318", "F94CCD79-AA11-42DF-AC8A-6C9D2238A883", "F94CCD79-AA11-42DF-AC8A-6C9D2238A883")
+P7 = create_mex_project("astra_mex_log", "88539382-66DB-4BBC-A48E-8B6B3CA6064F", "03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E", "CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8")
+P8 = create_mex_project("astra_mex_direct", "47460476-912B-4313-8B10-BDF1D60A84C4", "0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7", "85FE09A6-FA49-4314-A2B1-59D77C7442A8")
F_astra_mex = { "type": siguid,
"name": "astra_mex",
+ "file14": "astra_mex",
"file11": "astra_mex",
"file09": "astra_mex",
+ "uuid14": "2076FB73-ECFE-4B1B-9A8C-E351C500FAAB",
"uuid11": "5E99A109-374E-4102-BE9B-99BA1FA8AA30",
"uuid09": "33EF0AC5-B475-40BF-BAE5-67075B204D10",
"entries": [ P0, P1, P2, P3, P4, P5, P6, P7, P8 ] }
@@ -275,6 +277,9 @@ P_astra["filters"]["CUDA\\astra source"] = [
"src\\CudaSartAlgorithm.cpp",
"src\\CudaSirtAlgorithm.cpp",
"src\\CudaSirtAlgorithm3D.cpp",
+"src\\Float32Data3DGPU.cpp",
+"src\\Float32ProjectionData3DGPU.cpp",
+"src\\Float32VolumeData3DGPU.cpp",
]
P_astra["filters"]["CUDA\\cuda headers"] = [
"4e17872e-db7d-41bc-9760-fad1c253b583",
@@ -414,7 +419,9 @@ P_astra["filters"]["CUDA\\astra headers"] = [
"include\\astra\\CudaSartAlgorithm.h",
"include\\astra\\CudaSirtAlgorithm.h",
"include\\astra\\CudaSirtAlgorithm3D.h",
-
+"include\\astra\\Float32Data3DGPU.h",
+"include\\astra\\Float32ProjectionData3DGPU.h",
+"include\\astra\\Float32VolumeData3DGPU.h",
]
P_astra["filters"]["Projectors\\inline"] = [
"0daffd63-ba49-4a5f-8d7a-5322e0e74f22",
@@ -488,6 +495,8 @@ def write_sln(version):
F = open("astra_vc09.sln", "w")
elif version == 11:
F = open("astra_vc11.sln", "w")
+ elif version == 14:
+ F = open("astra_vc14.sln", "w")
else:
assert(False)
print(bom, file=F)
@@ -501,6 +510,13 @@ def write_sln(version):
print("# Visual Studio 2012", file=F)
uuid = "uuid11"
file_ = "file11"
+ elif version == 14:
+ print("Microsoft Visual Studio Solution File, Format Version 12.00", file=F)
+ print("# Visual Studio 14", file=F)
+ print("VisualStudioVersion = 14.0.25420.1", file=F)
+ print("MinimumVisualStudioVersion = 10.0.40219.1", file=F)
+ uuid = "uuid14"
+ file_ = "file14"
for p in projects:
s = '''Project("{%s}") = "%s", "%s", "{%s}"''' % (p["type"], p["name"], p[file_], p[uuid])
print(s, file=F)
@@ -535,7 +551,7 @@ def write_sln(version):
print("EndGlobal", file=F)
F.close()
-def write_project11_start(P, F):
+def write_project11_14_start(P, F, version):
print(bom + '<?xml version="1.0" encoding="utf-8"?>', file=F)
print('<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">', file=F)
print(' <ItemGroup Label="ProjectConfigurations">', file=F)
@@ -548,7 +564,10 @@ def write_project11_start(P, F):
print(' <PropertyGroup Label="Globals">', file=F)
if 'mex' in P["name"]:
print(' <ProjectName>' + P["name"] + '</ProjectName>', file=F)
- print(' <ProjectGuid>{' + P["uuid11"] + '}</ProjectGuid>', file=F)
+ if version == 11:
+ print(' <ProjectGuid>{' + P["uuid11"] + '}</ProjectGuid>', file=F)
+ else:
+ print(' <ProjectGuid>{' + P["uuid14"] + '}</ProjectGuid>', file=F)
if 'mex' in P["name"]:
print(' <RootNamespace>astraMatlab</RootNamespace>', file=F)
else:
@@ -563,7 +582,10 @@ def write_project11_start(P, F):
print(' <UseDebugLibraries>true</UseDebugLibraries>', file=F)
else:
print(' <UseDebugLibraries>false</UseDebugLibraries>', file=F)
- print(' <PlatformToolset>v110</PlatformToolset>', file=F)
+ if version == 11:
+ print(' <PlatformToolset>v110</PlatformToolset>', file=F)
+ else:
+ print(' <PlatformToolset>v140</PlatformToolset>', file=F)
if 'mex' not in P["name"]:
if not c.debug:
print(' <WholeProgramOptimization>true</WholeProgramOptimization>', file=F)
@@ -572,7 +594,7 @@ def write_project11_start(P, F):
print(' <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />', file=F)
print(' <ImportGroup Label="ExtensionSettings">', file=F)
if "mex" not in P["name"]:
- print(' <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 5.5.props" />', file=F)
+ print(' <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.props" />', file=F)
print(' </ImportGroup>', file=F)
for c in configs:
print(''' <ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='%s'">''' % (c.name(), ), file=F)
@@ -580,7 +602,7 @@ def write_project11_start(P, F):
print(''' </ImportGroup>''', file=F)
print(' <PropertyGroup Label="UserMacros" />', file=F)
-def write_project11_end(P, F):
+def write_project11_14_end(P, F):
l = [ f for f in P["files"] if len(f) > 4 and f[-4:] == ".cpp" ]
if l:
print(' <ItemGroup>', file=F)
@@ -619,18 +641,21 @@ def write_project11_end(P, F):
print(' <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />', file=F)
print(' <ImportGroup Label="ExtensionTargets">', file=F)
if "mex" not in P["name"]:
- print(' <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 5.5.targets" />', file=F)
+ print(' <Import Project="$(VCTargetsPath)\BuildCustomizations\CUDA 8.0.targets" />', file=F)
print(' </ImportGroup>', file=F)
print('</Project>', end="", file=F)
-def write_main_project11():
+def write_main_project11_14(version):
P = P_astra;
- F = open(P["file11"], "w")
- write_project11_start(P, F)
+ if version == 11:
+ F = open(P["file11"], "w")
+ else:
+ F = open(P["file14"], "w")
+ write_project11_14_start(P, F, version)
for c in configs:
print(''' <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='%s'">''' % (c.name(), ), file=F)
- if c.cuda:
+ if c.cuda and version == 11:
print(' <IncludePath>$(CUDA_INC_PATH);$(IncludePath)</IncludePath>', file=F)
print(' <LibraryPath>$(CUDA_LIB_PATH);$(LibraryPath)</LibraryPath>', file=F)
print(' <OutDir>$(SolutionDir)bin\\$(Platform)\\' + c.config() + '\\</OutDir>', file=F)
@@ -695,15 +720,18 @@ def write_main_project11():
else:
print(' <TargetMachinePlatform>32</TargetMachinePlatform>', file=F)
print(' <GenerateLineInfo>true</GenerateLineInfo>', file=F)
- print(' <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_30,sm_35;compute_30,compute_30</CodeGeneration>', file=F)
+ print(' <CodeGeneration>compute_20,sm_20;compute_30,sm_30;compute_35,sm_35;compute_50,sm_50;compute_60,sm_60;compute_60,compute_60</CodeGeneration>', file=F)
print(' </CudaCompile>', file=F)
print(' </ItemDefinitionGroup>', file=F)
- write_project11_end(P, F)
+ write_project11_14_end(P, F)
F.close()
-def write_mex_project11(P):
- F = open("matlab/mex/" + P["name"] + "_vc11.vcxproj", "w")
- write_project11_start(P, F)
+def write_mex_project11_14(P, version):
+ if version == 11:
+ F = open("matlab/mex/" + P["name"] + "_vc11.vcxproj", "w")
+ else:
+ F = open("matlab/mex/" + P["name"] + "_vc14.vcxproj", "w")
+ write_project11_14_start(P, F, version)
print(' <PropertyGroup>', file=F)
print(' <_ProjectFileVersion>11.0.60610.1</_ProjectFileVersion>', file=F)
print(' </PropertyGroup>', file=F)
@@ -777,10 +805,10 @@ def write_mex_project11(P):
print(' <GenerateDebugInformation>true</GenerateDebugInformation>', file=F)
print(' </Link>', file=F)
print(' </ItemDefinitionGroup>', file=F)
- write_project11_end(P, F)
+ write_project11_14_end(P, F)
F.close()
-def write_main_filters11():
+def write_main_filters11_14():
P = P_astra
F = open(P["name"] + ".vcxproj.filters", "w")
print(bom + '<?xml version="1.0" encoding="utf-8"?>', file=F)
@@ -1111,8 +1139,8 @@ def write_mex_project09(P):
-if (len(sys.argv) != 2) or (sys.argv[1] not in ["vc09", "vc11", "all"]):
- print("Usage: python gen.py [vc09|vc11|all]", file=sys.stderr)
+if (len(sys.argv) != 2) or (sys.argv[1] not in ["vc09", "vc11", "vc14", "all"]):
+ print("Usage: python gen.py [vc09|vc11|vc14|all]", file=sys.stderr)
sys.exit(1)
@@ -1126,21 +1154,37 @@ except IOError:
# Change directory to main dir
os.chdir("../..")
+if sys.argv[1] in ["vc14", "all"]:
+ # HACK
+ P_astra["name"] = "astra_vc14"
+ write_sln(14)
+ write_main_project11_14(14)
+ write_main_filters11_14()
+ write_mex_project11_14(P0, 14)
+ write_mex_project11_14(P1, 14)
+ write_mex_project11_14(P2, 14)
+ write_mex_project11_14(P3, 14)
+ write_mex_project11_14(P4, 14)
+ write_mex_project11_14(P5, 14)
+ write_mex_project11_14(P6, 14)
+ write_mex_project11_14(P7, 14)
+ write_mex_project11_14(P8, 14)
+
if sys.argv[1] in ["vc11", "all"]:
# HACK
P_astra["name"] = "astra_vc11"
write_sln(11)
- write_main_project11()
- write_main_filters11()
- write_mex_project11(P0)
- write_mex_project11(P1)
- write_mex_project11(P2)
- write_mex_project11(P3)
- write_mex_project11(P4)
- write_mex_project11(P5)
- write_mex_project11(P6)
- write_mex_project11(P7)
- write_mex_project11(P8)
+ write_main_project11_14(11)
+ write_main_filters11_14()
+ write_mex_project11_14(P0, 11)
+ write_mex_project11_14(P1, 11)
+ write_mex_project11_14(P2, 11)
+ write_mex_project11_14(P3, 11)
+ write_mex_project11_14(P4, 11)
+ write_mex_project11_14(P5, 11)
+ write_mex_project11_14(P6, 11)
+ write_mex_project11_14(P7, 11)
+ write_mex_project11_14(P8, 11)
if sys.argv[1] in ["vc09", "all"]:
# HACK
diff --git a/cuda/2d/algo.cu b/cuda/2d/algo.cu
index bde4f42..3275f6d 100644
--- a/cuda/2d/algo.cu
+++ b/cuda/2d/algo.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cassert>
diff --git a/cuda/2d/algo.h b/cuda/2d/algo.h
index 0b6a066..c1d932c 100644
--- a/cuda/2d/algo.h
+++ b/cuda/2d/algo.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ALGO_H
diff --git a/cuda/2d/arith.cu b/cuda/2d/arith.cu
index 110ed51..9805093 100644
--- a/cuda/2d/arith.cu
+++ b/cuda/2d/arith.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "util.h"
diff --git a/cuda/2d/arith.h b/cuda/2d/arith.h
index 2c648a1..5b1c270 100644
--- a/cuda/2d/arith.h
+++ b/cuda/2d/arith.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ARITH_H
diff --git a/cuda/2d/astra.cu b/cuda/2d/astra.cu
index b39e0a9..279b57d 100644
--- a/cuda/2d/astra.cu
+++ b/cuda/2d/astra.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/astra.h b/cuda/2d/astra.h
index 8e91feb..a20b830 100644
--- a/cuda/2d/astra.h
+++ b/cuda/2d/astra.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ASTRA_H
diff --git a/cuda/2d/cgls.cu b/cuda/2d/cgls.cu
index 3f06581..1a31438 100644
--- a/cuda/2d/cgls.cu
+++ b/cuda/2d/cgls.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/cgls.h b/cuda/2d/cgls.h
index c55dd42..804f943 100644
--- a/cuda/2d/cgls.h
+++ b/cuda/2d/cgls.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_CGLS_H
diff --git a/cuda/2d/darthelper.cu b/cuda/2d/darthelper.cu
index 1d10d49..744184e 100644
--- a/cuda/2d/darthelper.cu
+++ b/cuda/2d/darthelper.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "util.h"
diff --git a/cuda/2d/darthelper.h b/cuda/2d/darthelper.h
index acd14e3..a2f1f45 100644
--- a/cuda/2d/darthelper.h
+++ b/cuda/2d/darthelper.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ARITH2_H
diff --git a/cuda/2d/dims.h b/cuda/2d/dims.h
index f74d0e4..10eaabf 100644
--- a/cuda/2d/dims.h
+++ b/cuda/2d/dims.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_DIMS_H
diff --git a/cuda/2d/em.cu b/cuda/2d/em.cu
index 47ec548..03cc652 100644
--- a/cuda/2d/em.cu
+++ b/cuda/2d/em.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/em.h b/cuda/2d/em.h
index 9b62fa5..f99e798 100644
--- a/cuda/2d/em.h
+++ b/cuda/2d/em.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_EM_H
diff --git a/cuda/2d/fan_bp.cu b/cuda/2d/fan_bp.cu
index b4321ba..2025528 100644
--- a/cuda/2d/fan_bp.cu
+++ b/cuda/2d/fan_bp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/fan_bp.h b/cuda/2d/fan_bp.h
index 3ebe1e8..4e466fc 100644
--- a/cuda/2d/fan_bp.h
+++ b/cuda/2d/fan_bp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_FAN_BP_H
diff --git a/cuda/2d/fan_fp.cu b/cuda/2d/fan_fp.cu
index 7c9d8cc..494e89b 100644
--- a/cuda/2d/fan_fp.cu
+++ b/cuda/2d/fan_fp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/fan_fp.h b/cuda/2d/fan_fp.h
index 3962ee3..4bc07eb 100644
--- a/cuda/2d/fan_fp.h
+++ b/cuda/2d/fan_fp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_FAN_FP_H
diff --git a/cuda/2d/fbp_filters.h b/cuda/2d/fbp_filters.h
index 71c7572..bf1342d 100644
--- a/cuda/2d/fbp_filters.h
+++ b/cuda/2d/fbp_filters.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef FBP_FILTERS_H
diff --git a/cuda/2d/fft.cu b/cuda/2d/fft.cu
index f6d3cc7..5500e14 100644
--- a/cuda/2d/fft.cu
+++ b/cuda/2d/fft.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "fft.h"
diff --git a/cuda/2d/fft.h b/cuda/2d/fft.h
index b29f17a..3e91043 100644
--- a/cuda/2d/fft.h
+++ b/cuda/2d/fft.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef FFT_H
diff --git a/cuda/2d/par_bp.cu b/cuda/2d/par_bp.cu
index cf0a684..307c561 100644
--- a/cuda/2d/par_bp.cu
+++ b/cuda/2d/par_bp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/par_bp.h b/cuda/2d/par_bp.h
index 102cb2b..3fa8a28 100644
--- a/cuda/2d/par_bp.h
+++ b/cuda/2d/par_bp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_PAR_BP_H
diff --git a/cuda/2d/par_fp.cu b/cuda/2d/par_fp.cu
index 3c010b3..10ce683 100644
--- a/cuda/2d/par_fp.cu
+++ b/cuda/2d/par_fp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/par_fp.h b/cuda/2d/par_fp.h
index 5fd593c..1f0ff69 100644
--- a/cuda/2d/par_fp.h
+++ b/cuda/2d/par_fp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_PAR_FP_H
diff --git a/cuda/2d/sart.cu b/cuda/2d/sart.cu
index a1085cd..3a3c7e6 100644
--- a/cuda/2d/sart.cu
+++ b/cuda/2d/sart.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/sart.h b/cuda/2d/sart.h
index eff9ecf..ab99e66 100644
--- a/cuda/2d/sart.h
+++ b/cuda/2d/sart.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_SART_H
diff --git a/cuda/2d/sirt.cu b/cuda/2d/sirt.cu
index 9dc4f64..2516c6c 100644
--- a/cuda/2d/sirt.cu
+++ b/cuda/2d/sirt.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/sirt.h b/cuda/2d/sirt.h
index bc913f4..488ab0a 100644
--- a/cuda/2d/sirt.h
+++ b/cuda/2d/sirt.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_SIRT_H
diff --git a/cuda/2d/util.cu b/cuda/2d/util.cu
index a4f8f3e..09d1a2b 100644
--- a/cuda/2d/util.cu
+++ b/cuda/2d/util.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/2d/util.h b/cuda/2d/util.h
index ff438c3..875aae3 100644
--- a/cuda/2d/util.h
+++ b/cuda/2d/util.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_UTIL_H
diff --git a/cuda/3d/algo3d.cu b/cuda/3d/algo3d.cu
index e2c1e43..437c493 100644
--- a/cuda/3d/algo3d.cu
+++ b/cuda/3d/algo3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cassert>
diff --git a/cuda/3d/algo3d.h b/cuda/3d/algo3d.h
index ce331ad..6ba8b6f 100644
--- a/cuda/3d/algo3d.h
+++ b/cuda/3d/algo3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ALGO_H
diff --git a/cuda/3d/arith3d.cu b/cuda/3d/arith3d.cu
index 471b5cd..fd41812 100644
--- a/cuda/3d/arith3d.cu
+++ b/cuda/3d/arith3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "util3d.h"
diff --git a/cuda/3d/arith3d.h b/cuda/3d/arith3d.h
index 85d3d3b..c42603e 100644
--- a/cuda/3d/arith3d.h
+++ b/cuda/3d/arith3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ARITH3D_H
diff --git a/cuda/3d/astra3d.cu b/cuda/3d/astra3d.cu
index 91f4530..30cbe1b 100644
--- a/cuda/3d/astra3d.cu
+++ b/cuda/3d/astra3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
@@ -320,6 +319,9 @@ AstraSIRT3d::~AstraSIRT3d()
delete[] pData->projs;
pData->projs = 0;
+ delete[] pData->parprojs;
+ pData->parprojs = 0;
+
cudaFree(pData->D_projData.ptr);
pData->D_projData.ptr = 0;
@@ -703,6 +705,9 @@ AstraCGLS3d::~AstraCGLS3d()
delete[] pData->projs;
pData->projs = 0;
+ delete[] pData->parprojs;
+ pData->parprojs = 0;
+
cudaFree(pData->D_projData.ptr);
pData->D_projData.ptr = 0;
@@ -1134,19 +1139,27 @@ bool astraCudaBP(float* pfVolume, const float* pfProjections,
cudaError_t err = cudaGetLastError();
// Ignore errors caused by calling cudaSetDevice multiple times
- if (err != cudaSuccess && err != cudaErrorSetOnActiveProcess)
+ if (err != cudaSuccess && err != cudaErrorSetOnActiveProcess) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
return false;
+ }
}
cudaPitchedPtr D_volumeData = allocateVolumeData(dims);
ok = D_volumeData.ptr;
- if (!ok)
+ if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
return false;
+ }
cudaPitchedPtr D_projData = allocateProjectionData(dims);
ok = D_projData.ptr;
if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_volumeData.ptr);
return false;
}
@@ -1157,6 +1170,8 @@ bool astraCudaBP(float* pfVolume, const float* pfProjections,
ok &= zeroVolumeData(D_volumeData, dims);
if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_volumeData.ptr);
cudaFree(D_projData.ptr);
return false;
@@ -1169,6 +1184,8 @@ bool astraCudaBP(float* pfVolume, const float* pfProjections,
ok &= copyVolumeFromDevice(pfVolume, D_volumeData, dims, dims.iVolX);
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_volumeData.ptr);
cudaFree(D_projData.ptr);
@@ -1209,19 +1226,27 @@ bool astraCudaBP_SIRTWeighted(float* pfVolume,
cudaError_t err = cudaGetLastError();
// Ignore errors caused by calling cudaSetDevice multiple times
- if (err != cudaSuccess && err != cudaErrorSetOnActiveProcess)
+ if (err != cudaSuccess && err != cudaErrorSetOnActiveProcess) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
return false;
+ }
}
cudaPitchedPtr D_pixelWeight = allocateVolumeData(dims);
ok = D_pixelWeight.ptr;
- if (!ok)
+ if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
return false;
+ }
cudaPitchedPtr D_volumeData = allocateVolumeData(dims);
ok = D_volumeData.ptr;
if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_pixelWeight.ptr);
return false;
}
@@ -1229,6 +1254,8 @@ bool astraCudaBP_SIRTWeighted(float* pfVolume,
cudaPitchedPtr D_projData = allocateProjectionData(dims);
ok = D_projData.ptr;
if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_pixelWeight.ptr);
cudaFree(D_volumeData.ptr);
return false;
@@ -1245,6 +1272,8 @@ bool astraCudaBP_SIRTWeighted(float* pfVolume,
processVol3D<opInvert>(D_pixelWeight, dims);
if (!ok) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
cudaFree(D_pixelWeight.ptr);
cudaFree(D_volumeData.ptr);
cudaFree(D_projData.ptr);
@@ -1289,6 +1318,4 @@ bool astraCudaBP_SIRTWeighted(float* pfVolume,
}
-
-
}
diff --git a/cuda/3d/astra3d.h b/cuda/3d/astra3d.h
index 93bf576..5267899 100644
--- a/cuda/3d/astra3d.h
+++ b/cuda/3d/astra3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_ASTRA3D_H
diff --git a/cuda/3d/cgls3d.cu b/cuda/3d/cgls3d.cu
index 0b0331e..7200144 100644
--- a/cuda/3d/cgls3d.cu
+++ b/cuda/3d/cgls3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/cgls3d.h b/cuda/3d/cgls3d.h
index bfb4af8..e09fcfb 100644
--- a/cuda/3d/cgls3d.h
+++ b/cuda/3d/cgls3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_CGLS3D_H
diff --git a/cuda/3d/cone_bp.cu b/cuda/3d/cone_bp.cu
index 6bd9d16..c3405b8 100644
--- a/cuda/3d/cone_bp.cu
+++ b/cuda/3d/cone_bp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/cone_bp.h b/cuda/3d/cone_bp.h
index a6e2c23..3952ab9 100644
--- a/cuda/3d/cone_bp.h
+++ b/cuda/3d/cone_bp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_CONE_BP_H
diff --git a/cuda/3d/cone_fp.cu b/cuda/3d/cone_fp.cu
index fefcdc1..181f2fe 100644
--- a/cuda/3d/cone_fp.cu
+++ b/cuda/3d/cone_fp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
@@ -49,7 +48,7 @@ namespace astraCUDA3d {
static const unsigned int g_anglesPerBlock = 4;
// thickness of the slices we're splitting the volume up into
-static const unsigned int g_blockSlices = 32;
+static const unsigned int g_blockSlices = 4;
static const unsigned int g_detBlockU = 32;
static const unsigned int g_detBlockV = 32;
diff --git a/cuda/3d/cone_fp.h b/cuda/3d/cone_fp.h
index 62c9caa..d46990b 100644
--- a/cuda/3d/cone_fp.h
+++ b/cuda/3d/cone_fp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_CONE_FP_H
diff --git a/cuda/3d/darthelper3d.cu b/cuda/3d/darthelper3d.cu
index d9bd636..1457017 100644
--- a/cuda/3d/darthelper3d.cu
+++ b/cuda/3d/darthelper3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "util3d.h"
diff --git a/cuda/3d/darthelper3d.h b/cuda/3d/darthelper3d.h
index fdf43b9..71ea5b0 100644
--- a/cuda/3d/darthelper3d.h
+++ b/cuda/3d/darthelper3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_DARTHELPER3_H
diff --git a/cuda/3d/dims3d.h b/cuda/3d/dims3d.h
index eb7045f..24c334a 100644
--- a/cuda/3d/dims3d.h
+++ b/cuda/3d/dims3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_CONE_DIMS_H
diff --git a/cuda/3d/fdk.cu b/cuda/3d/fdk.cu
index bb2393c..91b0219 100644
--- a/cuda/3d/fdk.cu
+++ b/cuda/3d/fdk.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
@@ -46,48 +45,19 @@ $Id$
#include "../../include/astra/Logging.h"
-typedef texture<float, 3, cudaReadModeElementType> texture3D;
-
-static texture3D gT_coneProjTexture;
-
namespace astraCUDA3d {
-static const unsigned int g_volBlockZ = 16;
-
-static const unsigned int g_anglesPerBlock = 64;
-static const unsigned int g_volBlockX = 32;
-static const unsigned int g_volBlockY = 16;
-
static const unsigned int g_anglesPerWeightBlock = 16;
static const unsigned int g_detBlockU = 32;
static const unsigned int g_detBlockV = 32;
-static const unsigned g_MaxAngles = 2048;
+static const unsigned g_MaxAngles = 12000;
-__constant__ float gC_angle_sin[g_MaxAngles];
-__constant__ float gC_angle_cos[g_MaxAngles];
__constant__ float gC_angle[g_MaxAngles];
// per-detector u/v shifts?
-static bool bindProjDataTexture(const cudaArray* array)
-{
- cudaChannelFormatDesc channelDesc = cudaCreateChannelDesc<float>();
-
- gT_coneProjTexture.addressMode[0] = cudaAddressModeBorder;
- gT_coneProjTexture.addressMode[1] = cudaAddressModeBorder;
- gT_coneProjTexture.addressMode[2] = cudaAddressModeBorder;
- gT_coneProjTexture.filterMode = cudaFilterModeLinear;
- gT_coneProjTexture.normalized = false;
-
- cudaBindTextureToArray(gT_coneProjTexture, array, channelDesc);
-
- // TODO: error value?
-
- return true;
-}
-
__global__ void devFDK_preweight(void* D_projData, unsigned int projPitch, unsigned int startAngle, unsigned int endAngle, float fSrcOrigin, float fDetOrigin, float fZShift, float fDetUSize, float fDetVSize, const SDimensions3D dims)
{
@@ -151,14 +121,8 @@ __global__ void devFDK_ParkerWeight(void* D_projData, unsigned int projPitch, un
// TODO: Detector pixel size
const float fU = (detectorU - 0.5f*dims.iProjU + 0.5f) * fDetUSize;
- //const float fGamma = atanf(fU / fCentralRayLength);
- //const float fBeta = gC_angle[angle];
const float fGamma = atanf(fU / fCentralRayLength);
- float fBeta = -gC_angle[angle];
- if (fBeta < 0.0f)
- fBeta += 2*M_PI;
- if (fBeta >= 2*M_PI)
- fBeta -= 2*M_PI;
+ float fBeta = gC_angle[angle];
// compute the weight depending on the location in the central fan's radon
// space
@@ -225,24 +189,23 @@ bool FDK_PreWeight(cudaPitchedPtr D_projData,
float fAngleBase;
if (fdA >= 0.0f) {
// going up from angles[0]
- fAngleBase = angles[dims.iProjAngles - 1];
+ fAngleBase = angles[0];
} else {
// going down from angles[0]
- fAngleBase = angles[0];
+ fAngleBase = angles[dims.iProjAngles - 1];
}
- // We pick the highest end of the range, and then
- // move all angles so they fall in (-2pi,0]
+ // We pick the lowest end of the range, and then
+ // move all angles so they fall in [0,2pi)
float *fRelAngles = new float[dims.iProjAngles];
for (unsigned int i = 0; i < dims.iProjAngles; ++i) {
float f = angles[i] - fAngleBase;
- while (f > 0)
+ while (f >= 2*M_PI)
f -= 2*M_PI;
- while (f <= -2*M_PI)
+ while (f < 0)
f += 2*M_PI;
fRelAngles[i] = f;
-
}
cudaError_t e1 = cudaMemcpyToSymbol(gC_angle, fRelAngles,
@@ -310,7 +273,8 @@ bool FDK_Filter(cudaPitchedPtr D_projData,
bool FDK(cudaPitchedPtr D_volumeData,
cudaPitchedPtr D_projData,
const SConeProjection* angles,
- const SDimensions3D& dims, SProjectorParams3D params, bool bShortScan)
+ const SDimensions3D& dims, SProjectorParams3D params, bool bShortScan,
+ const float* pfFilter)
{
bool ok;
// Generate filter
@@ -361,7 +325,14 @@ bool FDK(cudaPitchedPtr D_volumeData,
cufftComplex *pHostFilter = new cufftComplex[dims.iProjAngles * iHalfFFTSize];
memset(pHostFilter, 0, sizeof(cufftComplex) * dims.iProjAngles * iHalfFFTSize);
- astraCUDA::genFilter(astra::FILTER_RAMLAK, 1.0f, dims.iProjAngles, pHostFilter, iPaddedDetCount, iHalfFFTSize);
+ if (pfFilter == 0){
+ astraCUDA::genFilter(astra::FILTER_RAMLAK, 1.0f, dims.iProjAngles, pHostFilter, iPaddedDetCount, iHalfFFTSize);
+ } else {
+ for (int i = 0; i < dims.iProjAngles * iHalfFFTSize; i++) {
+ pHostFilter[i].x = pfFilter[i];
+ pHostFilter[i].y = 0;
+ }
+ }
astraCUDA::allocateComplexOnDevice(dims.iProjAngles, iHalfFFTSize, &D_filter);
diff --git a/cuda/3d/fdk.h b/cuda/3d/fdk.h
index 8d2a128..0165af9 100644
--- a/cuda/3d/fdk.h
+++ b/cuda/3d/fdk.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_FDK_H
@@ -42,7 +41,8 @@ bool FDK_PreWeight(cudaPitchedPtr D_projData,
bool FDK(cudaPitchedPtr D_volumeData,
cudaPitchedPtr D_projData,
const SConeProjection* angles,
- const SDimensions3D& dims, SProjectorParams3D params, bool bShortScan);
+ const SDimensions3D& dims, SProjectorParams3D params, bool bShortScan,
+ const float* filter);
}
diff --git a/cuda/3d/mem3d.cu b/cuda/3d/mem3d.cu
index 4fb30a2..ed779fa 100644
--- a/cuda/3d/mem3d.cu
+++ b/cuda/3d/mem3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
@@ -119,6 +118,13 @@ MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Me
return ret;
}
+bool zeroGPUMemory(MemHandle3D handle, unsigned int x, unsigned int y, unsigned int z)
+{
+ SMemHandle3D_internal& hnd = *handle.d.get();
+ cudaError_t err = cudaMemset3D(hnd.ptr, 0, make_cudaExtent(sizeof(float)*x, y, z));
+ return err == cudaSuccess;
+}
+
bool freeGPUMemory(MemHandle3D handle)
{
size_t free = availableGPUMemory();
@@ -247,10 +253,13 @@ bool FP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, con
}
}
+ delete[] pParProjs;
+ delete[] pConeProjs;
+
return ok;
}
-bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling)
+bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling, bool bFDKWeighting)
{
SDimensions3D dims;
SProjectorParams3D params;
@@ -270,16 +279,21 @@ bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, con
pParProjs, pConeProjs,
params);
+ params.bFDKWeighting = bFDKWeighting;
+
if (pParProjs)
ok &= Par3DBP(volData.d->ptr, projData.d->ptr, dims, pParProjs, params);
else
ok &= ConeBP(volData.d->ptr, projData.d->ptr, dims, pConeProjs, params);
+ delete[] pParProjs;
+ delete[] pConeProjs;
+
return ok;
}
-bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan)
+bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan, const float *pfFilter)
{
SDimensions3D dims;
SProjectorParams3D params;
@@ -295,10 +309,16 @@ bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, co
pParProjs, pConeProjs,
params);
- if (!ok || !pConeProjs)
+ if (!ok || !pConeProjs) {
+ delete[] pParProjs;
+ delete[] pConeProjs;
return false;
+ }
- ok &= FDK(volData.d->ptr, projData.d->ptr, pConeProjs, dims, params, bShortScan);
+ ok &= FDK(volData.d->ptr, projData.d->ptr, pConeProjs, dims, params, bShortScan, pfFilter);
+
+ delete[] pParProjs;
+ delete[] pConeProjs;
return ok;
@@ -306,6 +326,23 @@ bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, co
}
+MemHandle3D wrapHandle(float *D_ptr, unsigned int x, unsigned int y, unsigned int z, unsigned int pitch)
+{
+ cudaPitchedPtr ptr;
+ ptr.ptr = D_ptr;
+ ptr.xsize = sizeof(float) * x;
+ ptr.pitch = sizeof(float) * pitch;
+ ptr.ysize = y;
+
+ SMemHandle3D_internal h;
+ h.ptr = ptr;
+
+ MemHandle3D hnd;
+ hnd.d = boost::shared_ptr<SMemHandle3D_internal>(new SMemHandle3D_internal);
+ *hnd.d = h;
+
+ return hnd;
+}
diff --git a/cuda/3d/mem3d.h b/cuda/3d/mem3d.h
index 2d0fb27..7a87ae6 100644
--- a/cuda/3d/mem3d.h
+++ b/cuda/3d/mem3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -80,6 +80,8 @@ enum Mem3DZeroMode {
size_t availableGPUMemory();
int maxBlockDimension();
+MemHandle3D wrapHandle(float *D_ptr, unsigned int x, unsigned int y, unsigned int z, unsigned int pitch);
+
MemHandle3D allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, Mem3DZeroMode zero);
bool copyToGPUMemory(const float *src, MemHandle3D dst, const SSubDimensions3D &pos);
@@ -88,15 +90,16 @@ bool copyFromGPUMemory(float *dst, MemHandle3D src, const SSubDimensions3D &pos)
bool freeGPUMemory(MemHandle3D handle);
+bool zeroGPUMemory(MemHandle3D handle, unsigned int x, unsigned int y, unsigned int z);
+
bool setGPUIndex(int index);
bool FP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iDetectorSuperSampling, astra::Cuda3DProjectionKernel projKernel);
-bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling);
-
-bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan);
+bool BP(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, int iVoxelSuperSampling, bool bFDKWeighting);
+bool FDK(const astra::CProjectionGeometry3D* pProjGeom, MemHandle3D projData, const astra::CVolumeGeometry3D* pVolGeom, MemHandle3D volData, bool bShortScan, const float *pfFilter = 0);
}
diff --git a/cuda/3d/par3d_bp.cu b/cuda/3d/par3d_bp.cu
index 491ee2f..e43479a 100644
--- a/cuda/3d/par3d_bp.cu
+++ b/cuda/3d/par3d_bp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/par3d_bp.h b/cuda/3d/par3d_bp.h
index 3efad19..4454395 100644
--- a/cuda/3d/par3d_bp.h
+++ b/cuda/3d/par3d_bp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_PAR3D_BP_H
diff --git a/cuda/3d/par3d_fp.cu b/cuda/3d/par3d_fp.cu
index 6f9ce40..a99308f 100644
--- a/cuda/3d/par3d_fp.cu
+++ b/cuda/3d/par3d_fp.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/par3d_fp.h b/cuda/3d/par3d_fp.h
index 5f65cd9..c69ab51 100644
--- a/cuda/3d/par3d_fp.h
+++ b/cuda/3d/par3d_fp.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_PAR3D_FP_H
diff --git a/cuda/3d/sirt3d.cu b/cuda/3d/sirt3d.cu
index ba6a159..4d1ed81 100644
--- a/cuda/3d/sirt3d.cu
+++ b/cuda/3d/sirt3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/sirt3d.h b/cuda/3d/sirt3d.h
index 5e93deb..69031b8 100644
--- a/cuda/3d/sirt3d.h
+++ b/cuda/3d/sirt3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_SIRT3D_H
diff --git a/cuda/3d/util3d.cu b/cuda/3d/util3d.cu
index 537ed69..e7b8fbb 100644
--- a/cuda/3d/util3d.cu
+++ b/cuda/3d/util3d.cu
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <cstdio>
diff --git a/cuda/3d/util3d.h b/cuda/3d/util3d.h
index fa0a03f..7dca762 100644
--- a/cuda/3d/util3d.h
+++ b/cuda/3d/util3d.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _CUDA_UTIL3D_H
diff --git a/include/astra/Algorithm.h b/include/astra/Algorithm.h
index 18c465f..b0d046f 100644
--- a/include/astra/Algorithm.h
+++ b/include/astra/Algorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ALGORITHM
@@ -62,7 +61,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/AlgorithmTypelist.h b/include/astra/AlgorithmTypelist.h
index 8886a07..e37d242 100644
--- a/include/astra/AlgorithmTypelist.h
+++ b/include/astra/AlgorithmTypelist.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ALGORITHMTYPELIST
@@ -56,13 +55,12 @@ $Id$
#include "CudaDartSmoothingAlgorithm3D.h"
#include "CudaDataOperationAlgorithm.h"
#include "CudaRoiSelectAlgorithm.h"
+#include "CudaFilteredBackProjectionAlgorithm.h"
-using namespace astra;
+namespace astra {
#ifdef ASTRA_CUDA
-#include "CudaFilteredBackProjectionAlgorithm.h"
-
typedef TYPELIST_25(
CArtAlgorithm,
CSartAlgorithm,
@@ -91,6 +89,7 @@ typedef TYPELIST_25(
CCudaBackProjectionAlgorithm3D
)
AlgorithmTypeList;
+
#else
typedef TYPELIST_7(
@@ -105,4 +104,6 @@ typedef TYPELIST_7(
#endif
+}
+
#endif
diff --git a/include/astra/ArtAlgorithm.h b/include/astra/ArtAlgorithm.h
index 1ad9f3f..73f63e3 100644
--- a/include/astra/ArtAlgorithm.h
+++ b/include/astra/ArtAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ARTALGORITHM
@@ -150,7 +149,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/AstraObjectFactory.h b/include/astra/AstraObjectFactory.h
index 6af9cd8..746e27a 100644
--- a/include/astra/AstraObjectFactory.h
+++ b/include/astra/AstraObjectFactory.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ASTRAOBJECTFACTORY
@@ -118,9 +117,9 @@ T* CAstraObjectFactory<T, TypeList>::findPlugin(std::string _sType)
template <typename T, typename TypeList>
T* CAstraObjectFactory<T, TypeList>::create(std::string _sType)
{
- functor_find<T> finder = functor_find<T>();
+ typelist::functor_find<T> finder = typelist::functor_find<T>();
finder.tofind = _sType;
- CreateObject<TypeList>::find(finder);
+ typelist::CreateObject<TypeList>::find(finder);
if (finder.res == NULL) {
finder.res = findPlugin(_sType);
}
diff --git a/include/astra/AstraObjectManager.h b/include/astra/AstraObjectManager.h
index 9faecbe..579ff27 100644
--- a/include/astra/AstraObjectManager.h
+++ b/include/astra/AstraObjectManager.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ASTRAOBJECTMANAGER
@@ -195,7 +194,7 @@ int CAstraObjectManager<T>::store(T* _pDataObject)
template <typename T>
bool CAstraObjectManager<T>::hasIndex(int _iIndex) const
{
- typename map<int,T*>::const_iterator it = m_mIndexToObject.find(_iIndex);
+ typename std::map<int,T*>::const_iterator it = m_mIndexToObject.find(_iIndex);
return it != m_mIndexToObject.end();
}
@@ -204,7 +203,7 @@ bool CAstraObjectManager<T>::hasIndex(int _iIndex) const
template <typename T>
T* CAstraObjectManager<T>::get(int _iIndex) const
{
- typename map<int,T*>::const_iterator it = m_mIndexToObject.find(_iIndex);
+ typename std::map<int,T*>::const_iterator it = m_mIndexToObject.find(_iIndex);
if (it != m_mIndexToObject.end())
return it->second;
else
@@ -217,7 +216,7 @@ template <typename T>
void CAstraObjectManager<T>::remove(int _iIndex)
{
// find data
- typename map<int,T*>::iterator it = m_mIndexToObject.find(_iIndex);
+ typename std::map<int,T*>::iterator it = m_mIndexToObject.find(_iIndex);
if (it == m_mIndexToObject.end())
return;
// delete data
@@ -233,7 +232,7 @@ void CAstraObjectManager<T>::remove(int _iIndex)
template <typename T>
int CAstraObjectManager<T>::getIndex(const T* _pObject) const
{
- for (typename map<int,T*>::const_iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
+ for (typename std::map<int,T*>::const_iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
if ((*it).second == _pObject) return (*it).first;
}
return 0;
@@ -245,7 +244,7 @@ int CAstraObjectManager<T>::getIndex(const T* _pObject) const
template <typename T>
void CAstraObjectManager<T>::clear()
{
- for (typename map<int,T*>::iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
+ for (typename std::map<int,T*>::iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
// delete data
delete (*it).second;
(*it).second = 0;
@@ -258,7 +257,7 @@ void CAstraObjectManager<T>::clear()
// Print info to string
template <typename T>
std::string CAstraObjectManager<T>::getInfo(int index) const {
- typename map<int,T*>::const_iterator it = m_mIndexToObject.find(index);
+ typename std::map<int,T*>::const_iterator it = m_mIndexToObject.find(index);
if (it == m_mIndexToObject.end())
return "";
const T* pObject = it->second;
@@ -278,8 +277,8 @@ std::string CAstraObjectManager<T>::info() {
std::stringstream res;
res << "id init description" << std::endl;
res << "-----------------------------------------" << std::endl;
- for (typename map<int,T*>::const_iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
- res << getInfo(it->first) << endl;
+ for (typename std::map<int,T*>::const_iterator it = m_mIndexToObject.begin(); it != m_mIndexToObject.end(); it++) {
+ res << getInfo(it->first) << std::endl;
}
res << "-----------------------------------------" << std::endl;
return res.str();
diff --git a/include/astra/AsyncAlgorithm.h b/include/astra/AsyncAlgorithm.h
index a3157fc..d82ec69 100644
--- a/include/astra/AsyncAlgorithm.h
+++ b/include/astra/AsyncAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_ASYNCALGORITHM
diff --git a/include/astra/BackProjectionAlgorithm.h b/include/astra/BackProjectionAlgorithm.h
index 6c55fd5..dd67359 100644
--- a/include/astra/BackProjectionAlgorithm.h
+++ b/include/astra/BackProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_BACKPROJECTIONALGORITHM
@@ -123,7 +122,7 @@ public:
*
* @return Map with all available identifier strings and their values.
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CglsAlgorithm.h b/include/astra/CglsAlgorithm.h
index 411f1f9..7ce68bc 100644
--- a/include/astra/CglsAlgorithm.h
+++ b/include/astra/CglsAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CGLSALGORITHM
@@ -150,7 +149,7 @@ public:
*
* @return Map with all available identifier strings and their values.
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CompositeGeometryManager.h b/include/astra/CompositeGeometryManager.h
index 064370a..08eb7af 100644
--- a/include/astra/CompositeGeometryManager.h
+++ b/include/astra/CompositeGeometryManager.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -42,9 +42,9 @@ namespace astra {
class CCompositeVolume;
class CCompositeProjections;
-class CFloat32Data3DMemory;
-class CFloat32ProjectionData3DMemory;
-class CFloat32VolumeData3DMemory;
+class CFloat32Data3D;
+class CFloat32ProjectionData3D;
+class CFloat32VolumeData3D;
class CVolumeGeometry3D;
class CProjectionGeometry3D;
class CProjector3D;
@@ -57,6 +57,7 @@ struct SGPUParams {
struct SFDKSettings {
bool bShortScan;
+ const float *pfFilter;
};
@@ -76,7 +77,7 @@ public:
PART_VOL, PART_PROJ
} eType;
- CFloat32Data3DMemory* pData;
+ CFloat32Data3D* pData;
unsigned int subX;
unsigned int subY;
unsigned int subZ;
@@ -87,8 +88,11 @@ public:
virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div) = 0;
virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div) = 0;
virtual CPart* reduce(const CPart *other) = 0;
- virtual void getDims(size_t &x, size_t &y, size_t &z) = 0;
- size_t getSize();
+ virtual void getDims(size_t &x, size_t &y, size_t &z) const = 0;
+ size_t getSize() const;
+
+ bool canSplitAndReduce() const;
+ bool isFull() const;
};
class CVolumePart : public CPart {
@@ -103,7 +107,7 @@ public:
virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div);
virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div);
virtual CPart* reduce(const CPart *other);
- virtual void getDims(size_t &x, size_t &y, size_t &z);
+ virtual void getDims(size_t &x, size_t &y, size_t &z) const;
CVolumePart* clone() const;
};
@@ -119,7 +123,7 @@ public:
virtual void splitY(TPartList& out, size_t maxSize, size_t maxDim, int div);
virtual void splitZ(TPartList& out, size_t maxSize, size_t maxDim, int div);
virtual CPart* reduce(const CPart *other);
- virtual void getDims(size_t &x, size_t &y, size_t &z);
+ virtual void getDims(size_t &x, size_t &y, size_t &z) const;
CProjectionPart* clone() const;
};
@@ -149,22 +153,23 @@ public:
bool doJobs(TJobList &jobs);
SJob createJobFP(CProjector3D *pProjector,
- CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData);
+ CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData);
SJob createJobBP(CProjector3D *pProjector,
- CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData);
+ CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData);
// Convenience functions for creating and running a single FP or BP job
- bool doFP(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData);
- bool doBP(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData);
- bool doFDK(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData, bool bShortScan);
-
- bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);
- bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData);
+ bool doFP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData);
+ bool doBP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData);
+ bool doFDK(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData, bool bShortScan,
+ const float *pfFilter = 0);
+
+ bool doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData);
+ bool doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData);
void setGPUIndices(const std::vector<int>& GPUIndices);
diff --git a/include/astra/ConeProjectionGeometry3D.h b/include/astra/ConeProjectionGeometry3D.h
index dede6e1..ee9d0f8 100644
--- a/include/astra/ConeProjectionGeometry3D.h
+++ b/include/astra/ConeProjectionGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CONEPROJECTIONGEOMETRY3D
diff --git a/include/astra/ConeVecProjectionGeometry3D.h b/include/astra/ConeVecProjectionGeometry3D.h
index f76f9dd..f10ebac 100644
--- a/include/astra/ConeVecProjectionGeometry3D.h
+++ b/include/astra/ConeVecProjectionGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CONEVECPROJECTIONGEOMETRY3D
diff --git a/include/astra/Config.h b/include/astra/Config.h
index c10a16e..fb12995 100644
--- a/include/astra/Config.h
+++ b/include/astra/Config.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CONFIG
diff --git a/include/astra/CudaBackProjectionAlgorithm.h b/include/astra/CudaBackProjectionAlgorithm.h
index 2450376..629cb56 100644
--- a/include/astra/CudaBackProjectionAlgorithm.h
+++ b/include/astra/CudaBackProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDABACKPROJECTIONALGORITHM
diff --git a/include/astra/CudaBackProjectionAlgorithm3D.h b/include/astra/CudaBackProjectionAlgorithm3D.h
index 74aeec8..4bf1870 100644
--- a/include/astra/CudaBackProjectionAlgorithm3D.h
+++ b/include/astra/CudaBackProjectionAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDABACKPROJECTIONALGORITHM3D
@@ -70,8 +69,8 @@ public:
* @param _pReconstruction VolumeData3D object for storing the reconstructed volume.
*/
CCudaBackProjectionAlgorithm3D(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pProjectionData,
- CFloat32VolumeData3DMemory* _pReconstruction);
+ CFloat32ProjectionData3D* _pProjectionData,
+ CFloat32VolumeData3D* _pReconstruction);
/** Copy constructor.
*/
@@ -100,14 +99,14 @@ public:
* @return initialization successful?
*/
bool initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pSinogram,
- CFloat32VolumeData3DMemory* _pReconstruction);
+ CFloat32ProjectionData3D* _pSinogram,
+ CFloat32VolumeData3D* _pReconstruction);
/** Get all information parameters
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaCglsAlgorithm.h b/include/astra/CudaCglsAlgorithm.h
index 6aa0343..26babdf 100644
--- a/include/astra/CudaCglsAlgorithm.h
+++ b/include/astra/CudaCglsAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDACGLSALGORITHM
diff --git a/include/astra/CudaCglsAlgorithm3D.h b/include/astra/CudaCglsAlgorithm3D.h
index 3e4084b..138e677 100644
--- a/include/astra/CudaCglsAlgorithm3D.h
+++ b/include/astra/CudaCglsAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDACGLSALGORITHM3D
@@ -114,7 +113,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaDartMaskAlgorithm.h b/include/astra/CudaDartMaskAlgorithm.h
index b3a5c99..e364de7 100644
--- a/include/astra/CudaDartMaskAlgorithm.h
+++ b/include/astra/CudaDartMaskAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDADARTMASKALGORITHM
@@ -77,7 +76,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaDartMaskAlgorithm3D.h b/include/astra/CudaDartMaskAlgorithm3D.h
index 6a71bf3..30ee64f 100644
--- a/include/astra/CudaDartMaskAlgorithm3D.h
+++ b/include/astra/CudaDartMaskAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDADARTMASKALGORITHM3D
@@ -73,7 +72,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaDartSmoothingAlgorithm.h b/include/astra/CudaDartSmoothingAlgorithm.h
index 1beac56..019cbf9 100644
--- a/include/astra/CudaDartSmoothingAlgorithm.h
+++ b/include/astra/CudaDartSmoothingAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDADARTSMOOTHINGALGORITHM
@@ -77,7 +76,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaDartSmoothingAlgorithm3D.h b/include/astra/CudaDartSmoothingAlgorithm3D.h
index ad69c5a..9aee8ef 100644
--- a/include/astra/CudaDartSmoothingAlgorithm3D.h
+++ b/include/astra/CudaDartSmoothingAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDADARTSMOOTHINGALGORITHM3D
@@ -73,7 +72,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaDataOperationAlgorithm.h b/include/astra/CudaDataOperationAlgorithm.h
index 31f0ff5..79c5bd6 100644
--- a/include/astra/CudaDataOperationAlgorithm.h
+++ b/include/astra/CudaDataOperationAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDADATAOPERATIONALGORITHM
@@ -76,7 +75,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
@@ -111,10 +110,10 @@ protected:
CFloat32Data2D* m_pMask;
- vector<CFloat32Data2D*> m_pData;
- vector<float> m_fScalar;
+ std::vector<CFloat32Data2D*> m_pData;
+ std::vector<float> m_fScalar;
- string m_sOperation;
+ std::string m_sOperation;
};
diff --git a/include/astra/CudaEMAlgorithm.h b/include/astra/CudaEMAlgorithm.h
index a9d2711..16948bf 100644
--- a/include/astra/CudaEMAlgorithm.h
+++ b/include/astra/CudaEMAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAEMALGORITHM
diff --git a/include/astra/CudaFDKAlgorithm3D.h b/include/astra/CudaFDKAlgorithm3D.h
index 63f07fd..1189651 100644
--- a/include/astra/CudaFDKAlgorithm3D.h
+++ b/include/astra/CudaFDKAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAFDKALGORITHM3D
@@ -82,8 +81,8 @@ public:
* @param _pReconstruction VolumeData3D object for storing the reconstructed volume.
*/
CCudaFDKAlgorithm3D(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pProjectionData,
- CFloat32VolumeData3DMemory* _pReconstruction);
+ CFloat32ProjectionData3D* _pProjectionData,
+ CFloat32VolumeData3D* _pReconstruction);
/** Copy constructor.
*/
@@ -112,14 +111,14 @@ public:
* @return initialization successful?
*/
bool initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pSinogram,
- CFloat32VolumeData3DMemory* _pReconstruction);
+ CFloat32ProjectionData3D* _pSinogram,
+ CFloat32VolumeData3D* _pReconstruction);
/** Get all information parameters
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
@@ -151,6 +150,7 @@ protected:
int m_iGPUIndex;
int m_iVoxelSuperSampling;
+ int m_iFilterDataId;
bool m_bShortScan;
void initializeFromProjector();
diff --git a/include/astra/CudaFilteredBackProjectionAlgorithm.h b/include/astra/CudaFilteredBackProjectionAlgorithm.h
index 180e001..55191ef 100644
--- a/include/astra/CudaFilteredBackProjectionAlgorithm.h
+++ b/include/astra/CudaFilteredBackProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,13 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef CUDAFILTEREDBACKPROJECTIONALGORITHM_H
#define CUDAFILTEREDBACKPROJECTIONALGORITHM_H
+#ifdef ASTRA_CUDA
+
#include <astra/Float32ProjectionData2D.h>
#include <astra/Float32VolumeData2D.h>
#include <astra/CudaReconstructionAlgorithm2D.h>
@@ -77,4 +78,6 @@ inline std::string CCudaFilteredBackProjectionAlgorithm::description() const { r
}
-#endif /* CUDAFILTEREDBACKPROJECTIONALGORITHM_H */
+#endif
+
+#endif /* CUDAFILTEREDBACKPROJECTIONALGORITHM2_H */
diff --git a/include/astra/CudaForwardProjectionAlgorithm.h b/include/astra/CudaForwardProjectionAlgorithm.h
index 449a610..95b3312 100644
--- a/include/astra/CudaForwardProjectionAlgorithm.h
+++ b/include/astra/CudaForwardProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAFORWARDPROJECTIONALGORITHM2
@@ -104,7 +103,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaForwardProjectionAlgorithm3D.h b/include/astra/CudaForwardProjectionAlgorithm3D.h
index 4198d56..366e1f6 100644
--- a/include/astra/CudaForwardProjectionAlgorithm3D.h
+++ b/include/astra/CudaForwardProjectionAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAFORWARDPROJECTIONALGORITHM3D
@@ -72,8 +71,8 @@ public:
* @return initialization successful?
*/
bool initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pSinogram,
- CFloat32VolumeData3DMemory* _pReconstruction,
+ CFloat32ProjectionData3D* _pSinogram,
+ CFloat32VolumeData3D* _pReconstruction,
int _iGPUindex = -1, int _iDetectorSuperSampling = 1);
@@ -81,7 +80,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
@@ -117,8 +116,8 @@ public:
protected:
CProjector3D* m_pProjector;
- CFloat32ProjectionData3DMemory* m_pProjections;
- CFloat32VolumeData3DMemory* m_pVolume;
+ CFloat32ProjectionData3D* m_pProjections;
+ CFloat32VolumeData3D* m_pVolume;
int m_iGPUIndex;
int m_iDetectorSuperSampling;
diff --git a/include/astra/CudaProjector2D.h b/include/astra/CudaProjector2D.h
index 2b4bacb..d95aa53 100644
--- a/include/astra/CudaProjector2D.h
+++ b/include/astra/CudaProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,13 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAPROJECTOR2D
#define _INC_ASTRA_CUDAPROJECTOR2D
+#ifdef ASTRA_CUDA
+
#include "ParallelProjectionGeometry2D.h"
#include "Float32Data2D.h"
#include "Projector2D.h"
@@ -143,5 +144,7 @@ inline std::string CCudaProjector2D::getType()
} // namespace astra
+#endif
+
#endif
diff --git a/include/astra/CudaProjector3D.h b/include/astra/CudaProjector3D.h
index da88d6d..079321d 100644
--- a/include/astra/CudaProjector3D.h
+++ b/include/astra/CudaProjector3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef INC_ASTRA_CUDAPROJECTOR3D
@@ -118,6 +117,7 @@ public:
int getVoxelSuperSampling() const { return m_iVoxelSuperSampling; }
int getDetectorSuperSampling() const { return m_iDetectorSuperSampling; }
int getGPUIndex() const { return m_iGPUIndex; }
+ bool getDensityWeighting() const { return m_bDensityWeighting; }
protected:
@@ -125,6 +125,7 @@ protected:
int m_iVoxelSuperSampling;
int m_iDetectorSuperSampling;
int m_iGPUIndex;
+ bool m_bDensityWeighting;
};
diff --git a/include/astra/CudaReconstructionAlgorithm2D.h b/include/astra/CudaReconstructionAlgorithm2D.h
index bb5f2a7..f7a311a 100644
--- a/include/astra/CudaReconstructionAlgorithm2D.h
+++ b/include/astra/CudaReconstructionAlgorithm2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDARECONSTRUCTIONALGORITHM2D
@@ -87,7 +86,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information.
*
diff --git a/include/astra/CudaRoiSelectAlgorithm.h b/include/astra/CudaRoiSelectAlgorithm.h
index 8d25fb8..bd46ddf 100644
--- a/include/astra/CudaRoiSelectAlgorithm.h
+++ b/include/astra/CudaRoiSelectAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDAROISELECTALGORITHM
@@ -77,7 +76,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/CudaSartAlgorithm.h b/include/astra/CudaSartAlgorithm.h
index e5e18f0..207fbb1 100644
--- a/include/astra/CudaSartAlgorithm.h
+++ b/include/astra/CudaSartAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDASARTALGORITHM
diff --git a/include/astra/CudaSirtAlgorithm.h b/include/astra/CudaSirtAlgorithm.h
index 3cd8acc..bad6262 100644
--- a/include/astra/CudaSirtAlgorithm.h
+++ b/include/astra/CudaSirtAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDASIRTALGORITHM2
diff --git a/include/astra/CudaSirtAlgorithm3D.h b/include/astra/CudaSirtAlgorithm3D.h
index 60191cd..cfc5db2 100644
--- a/include/astra/CudaSirtAlgorithm3D.h
+++ b/include/astra/CudaSirtAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_CUDASIRTALGORITHM3D
@@ -128,7 +127,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/DataProjector.h b/include/astra/DataProjector.h
index e486075..d321b54 100644
--- a/include/astra/DataProjector.h
+++ b/include/astra/DataProjector.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_DATAPROJECTOR
diff --git a/include/astra/DataProjectorPolicies.h b/include/astra/DataProjectorPolicies.h
index acfb36f..c67bb1e 100644
--- a/include/astra/DataProjectorPolicies.h
+++ b/include/astra/DataProjectorPolicies.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_DATAPROJECTORPOLICIES
diff --git a/include/astra/DataProjectorPolicies.inl b/include/astra/DataProjectorPolicies.inl
index f300761..6a4a2a6 100644
--- a/include/astra/DataProjectorPolicies.inl
+++ b/include/astra/DataProjectorPolicies.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_DATAPROJECTORPOLICIES_INLINE
diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.h b/include/astra/FanFlatBeamLineKernelProjector2D.h
index f1a80ed..3b86a18 100644
--- a/include/astra/FanFlatBeamLineKernelProjector2D.h
+++ b/include/astra/FanFlatBeamLineKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FANFLATBEAMLINEKERNELPROJECTOR
diff --git a/include/astra/FanFlatBeamLineKernelProjector2D.inl b/include/astra/FanFlatBeamLineKernelProjector2D.inl
index 23438fb..51dc878 100644
--- a/include/astra/FanFlatBeamLineKernelProjector2D.inl
+++ b/include/astra/FanFlatBeamLineKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,8 +23,8 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
+
#define policy_weight(p,rayindex,volindex,weight) if (p.pixelPrior(volindex)) { p.addWeight(rayindex, volindex, weight); p.pixelPosterior(volindex); }
template <typename Policy>
diff --git a/include/astra/FanFlatBeamStripKernelProjector2D.h b/include/astra/FanFlatBeamStripKernelProjector2D.h
index 08e29e7..4a3db6e 100644
--- a/include/astra/FanFlatBeamStripKernelProjector2D.h
+++ b/include/astra/FanFlatBeamStripKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FANFLATBEAMSTRIPKERNELPROJECTOR
diff --git a/include/astra/FanFlatBeamStripKernelProjector2D.inl b/include/astra/FanFlatBeamStripKernelProjector2D.inl
index 38cf003..743b7c5 100644
--- a/include/astra/FanFlatBeamStripKernelProjector2D.inl
+++ b/include/astra/FanFlatBeamStripKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,9 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
-using namespace astra;
-
template <typename Policy>
void CFanFlatBeamStripKernelProjector2D::project(Policy& p)
{
diff --git a/include/astra/FanFlatProjectionGeometry2D.h b/include/astra/FanFlatProjectionGeometry2D.h
index 8750232..c45eb78 100644
--- a/include/astra/FanFlatProjectionGeometry2D.h
+++ b/include/astra/FanFlatProjectionGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FANFLATPROJECTIONGEOMETRY2D
diff --git a/include/astra/FanFlatVecProjectionGeometry2D.h b/include/astra/FanFlatVecProjectionGeometry2D.h
index d93de79..7130f24 100644
--- a/include/astra/FanFlatVecProjectionGeometry2D.h
+++ b/include/astra/FanFlatVecProjectionGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FANFLATVECPROJECTIONGEOMETRY2D
diff --git a/include/astra/FilteredBackProjectionAlgorithm.h b/include/astra/FilteredBackProjectionAlgorithm.h
index 0ae0f25..6545e7f 100644
--- a/include/astra/FilteredBackProjectionAlgorithm.h
+++ b/include/astra/FilteredBackProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FILTEREDBACKPROJECTION
@@ -118,7 +117,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/Float32Data.h b/include/astra/Float32Data.h
index 6d36ff8..7925c8c 100644
--- a/include/astra/Float32Data.h
+++ b/include/astra/Float32Data.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32DATA
diff --git a/include/astra/Float32Data2D.h b/include/astra/Float32Data2D.h
index 57cb82b..1524683 100644
--- a/include/astra/Float32Data2D.h
+++ b/include/astra/Float32Data2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32DATA2D
@@ -42,7 +41,7 @@ public:
};
/**
- * This class represents a two-dimensional block of float32ing point data.
+ * This class represents a 2-dimensional block of 32-bit floating point data.
* It contains member functions for accessing this data and for performing
* elementary computations on the data.
* The data block is "owned" by the class, meaning that the class is
diff --git a/include/astra/Float32Data3D.h b/include/astra/Float32Data3D.h
index a5add3a..226689e 100644
--- a/include/astra/Float32Data3D.h
+++ b/include/astra/Float32Data3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32DATA3D
@@ -33,10 +32,12 @@ $Id$
#include "Float32Data.h"
#include "Float32Data2D.h"
+#include "../../cuda/3d/mem3d.h"
+
namespace astra {
/**
- * This class represents a three-dimensional block of float32ing point data.
+ * This class represents a 3-dimensional block of 32-bit floating point data.
*/
class _AstraExport CFloat32Data3D : public CFloat32Data {
@@ -108,22 +109,6 @@ public:
*/
int getDimensionCount() const;
- /**
- * Clamp data to minimum value
- *
- * @param _fMin minimum value
- * @return l-value
- */
- virtual CFloat32Data3D& clampMin(float32& _fMin) = 0;
-
- /**
- * Clamp data to maximum value
- *
- * @param _fMax maximum value
- * @return l-value
- */
- virtual CFloat32Data3D& clampMax(float32& _fMax) = 0;
-
/** get a description of the class
*
* @return description string
diff --git a/include/astra/Float32Data3DGPU.h b/include/astra/Float32Data3DGPU.h
new file mode 100644
index 0000000..1247e65
--- /dev/null
+++ b/include/astra/Float32Data3DGPU.h
@@ -0,0 +1,107 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+*/
+
+#ifndef _INC_ASTRA_FLOAT32DATA3DGPU
+#define _INC_ASTRA_FLOAT32DATA3DGPU
+
+#ifdef ASTRA_CUDA
+
+#include "Globals.h"
+#include "Float32Data3D.h"
+
+#include "../../cuda/3d/mem3d.h"
+
+namespace astra {
+
+
+astraCUDA3d::MemHandle3D wrapHandle(float *D_ptr, unsigned int x, unsigned int y, unsigned int z, unsigned int pitch);
+
+
+/**
+ * This class represents a 3-dimensional block of 32-bit floating point data.
+ * The data block is stored on a GPU, and owned by external code.
+ *
+ * TODO: Store/remember which GPU the data is stored on
+ */
+class _AstraExport CFloat32Data3DGPU : public virtual CFloat32Data3D {
+
+protected:
+ /** Handle for the memory block */
+ astraCUDA3d::MemHandle3D m_hnd;
+
+ /** Clear all member variables, setting all numeric variables to 0 and all pointers to NULL.
+ */
+ void _clear();
+
+ /** Un-initialize the object, bringing it back in the unitialized state.
+ */
+ void _unInit();
+
+ /** Initialization. Initializes an instance of the CFloat32Data3DGPU class.
+ * Can only be called by derived classes.
+ *
+ * This function does not set m_bInitialized to true if everything is ok.
+ *
+ * @param _iWidth width of the 3D data (x-axis), must be > 0
+ * @param _iHeight height of the 3D data (y-axis), must be > 0
+ * @param _iDepth depth of the 3D data (z-axis), must be > 0
+ * @param _hnd the CUDA memory handle
+ */
+
+ bool _initialize(int _iWidth, int _iHeight, int _iDepth, astraCUDA3d::MemHandle3D _hnd);
+
+public:
+
+ /** Default constructor. Sets all numeric member variables to 0 and all pointer member variables to NULL.
+ *
+ * If an object is constructed using this default constructor, it must always be followed by a call
+ * to one of the initialize() methods before the object can be used. Any use before calling init() is not allowed,
+ * except calling the member function isInitialized().
+ *
+ */
+ CFloat32Data3DGPU();
+
+ /** Destructor.
+ */
+ virtual ~CFloat32Data3DGPU();
+
+ /** which type is this class?
+ *
+ * @return DataType: ASTRA_DATATYPE_FLOAT32_PROJECTION or
+ * ASTRA_DATATYPE_FLOAT32_VOLUME
+ */
+ virtual EDataType getType() const { return BASE; }
+
+ astraCUDA3d::MemHandle3D getHandle() const { return m_hnd; }
+
+};
+
+} // end namespace astra
+
+#endif
+
+#endif // _INC_ASTRA_FLOAT32DATA3DGPU
diff --git a/include/astra/Float32Data3DMemory.h b/include/astra/Float32Data3DMemory.h
index ab2c82e..876aa37 100644
--- a/include/astra/Float32Data3DMemory.h
+++ b/include/astra/Float32Data3DMemory.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32DATA3DMEMORY
@@ -35,7 +34,7 @@ $Id$
namespace astra {
/**
- * This class represents a three-dimensional block of float32ing point data.
+ * This class represents a 3-dimensional block of 32-bit floating point data.
* It contains member functions for accessing this data and for performing
* elementary computations on the data.
* The data block is "owned" by the class, meaning that the class is
@@ -107,8 +106,8 @@ protected:
* This function does not set m_bInitialized to true if everything is ok.
*
* @param _iWidth width of the 3D data (x-axis), must be > 0
- * @param _iHeight height of the 3D data (y-axis), must be > 0
- * @param _iDepth depth of the 3D data (z-axis), must be > 0
+ * @param _iHeight height of the 3D data (y-axis), must be > 0
+ * @param _iDepth depth of the 3D data (z-axis), must be > 0
* @return initialization of the base class successfull
*/
bool _initialize(int _iWidth, int _iHeight, int _iDepth);
@@ -122,9 +121,9 @@ protected:
* object is reinitialized and memory is freed and reallocated if necessary.
* This function does not set m_bInitialized to true if everything is ok.
*
- * @param _iWidth width of the 2D data (x-axis), must be > 0
- * @param _iHeight height of the 2D data (y-axis), must be > 0
- * @param _iDepth depth of the 2D data (z-axis), must be > 0
+ * @param _iWidth width of the 3D data (x-axis), must be > 0
+ * @param _iHeight height of the 3D data (y-axis), must be > 0
+ * @param _iDepth depth of the 3D data (z-axis), must be > 0
* @param _pfData pointer to a one-dimensional float32 data block
* @return initialization of the base class successfull
*/
@@ -139,9 +138,9 @@ protected:
* object is reinitialized and memory is freed and reallocated if necessary.
* This function does not set m_bInitialized to true if everything is ok.
*
- * @param _iWidth width of the 2D data (x-axis), must be > 0
- * @param _iHeight height of the 2D data (y-axis), must be > 0
- * @param _iDepth depth of the 2D data (z-axis), must be > 0
+ * @param _iWidth width of the 3D data (x-axis), must be > 0
+ * @param _iHeight height of the 3D data (y-axis), must be > 0
+ * @param _iDepth depth of the 3D data (z-axis), must be > 0
* @param _fScalar scalar value to fill the data
* @return initialization of the base class successfull
*/
@@ -158,9 +157,9 @@ protected:
* object is reinitialized and memory is freed and reallocated if necessary.
* This function does not set m_bInitialized to true if everything is ok.
*
- * @param _iWidth width of the 2D data (x-axis), must be > 0
- * @param _iHeight height of the 2D data (y-axis), must be > 0
- * @param _iDepth depth of the 2D data (z-axis), must be > 0
+ * @param _iWidth width of the 3D data (x-axis), must be > 0
+ * @param _iHeight height of the 3D data (y-axis), must be > 0
+ * @param _iDepth depth of the 3D data (z-axis), must be > 0
* @param _pCustomMemory the custom memory handle
*/
@@ -238,35 +237,11 @@ public:
* After the call p = getData3D(), use p[iy][ix] to access element (ix, iy, iz).
* The data memory and pointer array are still "owned" by the CFloat32Data3DMemory
* instance; this memory may NEVER be freed by the caller of this function.
- * If changes are made to this data, the function updateStatistics()
- * should be called after completion of all changes.
*
* @return pointer to the 3-dimensional 32-bit floating point data block
*/
const float32*** getData3DConst() const;
- /** Update data statistics, such as minimum and maximum value, after the data has been modified.
- */
- virtual void updateStatistics();
-
- /** Get the minimum value in the data block.
- * If the data has been changed after construction, the function
- * updateStatistics() must be called at least once before
- * a query can be made on this value.
- *
- * @return minimum value in the data block
- */
- virtual float32 getGlobalMin() const;
-
- /** Get the maximum value in the data block
- * If the data has been changed after construction, the function
- * updateStatistics() must be called at least once before
- * a query can be made on this value.
- *
- * @return maximum value in the data block
- */
- virtual float32 getGlobalMax() const;
-
/** which type is this class?
*
* @return DataType: ASTRA_DATATYPE_FLOAT32_PROJECTION or
@@ -307,26 +282,11 @@ inline CFloat32Data3DMemory::EDataType CFloat32Data3DMemory::getType() const
}
//----------------------------------------------------------------------------------------
-// Get the minimum value in the data block.
-inline float32 CFloat32Data3DMemory::getGlobalMin() const
-{
- ASTRA_ASSERT(m_bInitialized);
- return m_fGlobalMin;
-}
-
-//----------------------------------------------------------------------------------------
-// Get the maximum value in the data block
-inline float32 CFloat32Data3DMemory::getGlobalMax() const
-{
- ASTRA_ASSERT(m_bInitialized);
- return m_fGlobalMax;
-}
-
-//----------------------------------------------------------------------------------------
// Get a pointer to the data block, represented as a 1-dimensional array of float32 values.
inline float32* CFloat32Data3DMemory::getData()
{
ASTRA_ASSERT(m_bInitialized);
+
return m_pfData;
}
@@ -335,6 +295,7 @@ inline float32* CFloat32Data3DMemory::getData()
inline const float32* CFloat32Data3DMemory::getDataConst() const
{
ASTRA_ASSERT(m_bInitialized);
+
return (const float32*)m_pfData;
}
diff --git a/include/astra/Float32ProjectionData2D.h b/include/astra/Float32ProjectionData2D.h
index bb99f4b..4cfca03 100644
--- a/include/astra/Float32ProjectionData2D.h
+++ b/include/astra/Float32ProjectionData2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32PROJECTIONDATA2D
diff --git a/include/astra/Float32ProjectionData3D.h b/include/astra/Float32ProjectionData3D.h
index 329c9a4..1634eeb 100644
--- a/include/astra/Float32ProjectionData3D.h
+++ b/include/astra/Float32ProjectionData3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32PROJECTIONDATA3D
@@ -86,55 +85,6 @@ public:
*/
virtual CFloat32Data3D::EDataType getType() const;
- /** Fetch a COPY of a projection of the data. Note that if you update the 2D data slice, the data in the
- * 3d data object will remain unaltered. To copy the data back in the 3D-volume you must return the data by calling 'returnProjection'.
- *
- * @param _iProjectionNr projection number
- * @return Volume data object
- */
- virtual CFloat32VolumeData2D* fetchProjection(int _iProjectionNr) const = 0;
-
- /** Return a projection slice to the 3d data. The data will be deleted. If the slice was fetched with
- * 'fetchProjection', the data will be stored first.
- *
- * @param _iProjectionNr projection number
- * @param _pProjection 2D Projection Data
- */
- virtual void returnProjection(int _iProjectionNr, CFloat32VolumeData2D* _pProjection) = 0;
-
- /** Fetch a COPY of a sinogram slice of the data. Note that if you update the 2D data slice, the data in the
- * 3d data object will remain unaltered. To copy the data back in the 3D-volume you must return the data by calling 'returnSlice'.
- *
- * @param _iSliceNr slice number
- * @return Sinogram data object
- */
- virtual CFloat32ProjectionData2D* fetchSinogram(int _iSliceNr) const = 0;
-
- /** Return a sinogram slice to the 3d data. The data will be stored in the 3D Data object.
- *
- * @param _iSliceNr slice number
- * @param _pSinogram2D 2D Sinogram Object.
- */
- virtual void returnSinogram(int _iSliceNr, CFloat32ProjectionData2D* _pSinogram2D) = 0;
-
- /** This SLOW function returns a detector value stored a specific index in the array.
- * Reading values in this way might cause a lot of unnecessar__y memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @return The value the location specified by _iIndex
- */
- virtual float32 getDetectorValue(int _iIndex) = 0;
-
- /** This SLOW function stores a detector value at a specific index in the array.
- * Writing values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @param _fValue The value to be stored at the location specified by _iIndex
- */
- virtual void setDetectorValue(int _iIndex, float32 _fValue) = 0;
-
/**
* Overloaded Operator: data += data (pointwise)
*
diff --git a/include/astra/Float32ProjectionData3DGPU.h b/include/astra/Float32ProjectionData3DGPU.h
new file mode 100644
index 0000000..cbf9b6f
--- /dev/null
+++ b/include/astra/Float32ProjectionData3DGPU.h
@@ -0,0 +1,91 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+*/
+
+#ifndef _INC_ASTRA_FLOAT32PROJECTIONDATA3DGPU
+#define _INC_ASTRA_FLOAT32PROJECTIONDATA3DGPU
+
+#include "Float32Data3DGPU.h"
+#include "ProjectionGeometry3D.h"
+#include "Float32ProjectionData3D.h"
+
+#ifdef ASTRA_CUDA
+
+namespace astra {
+
+/**
+ * This class represents three-dimensional Projection Data where the entire data block is stored in GPU memory.
+ */
+class _AstraExport CFloat32ProjectionData3DGPU : public CFloat32Data3DGPU, public CFloat32ProjectionData3D
+{
+public:
+
+ /** Default constructor. Sets all numeric member variables to 0 and all pointer member variables to NULL.
+ *
+ * If an object is constructed using this default constructor, it must always be followed by a call
+ * to one of the init() methods before the object can be used. Any use before calling init() is not allowed,
+ * except calling the member function isInitialized().
+ *
+ */
+ CFloat32ProjectionData3DGPU();
+
+ /** Construction.
+ *
+ * @param _pGeometry 3D volume geometry
+ * @param _hnd the CUDA memory handle
+ */
+
+ CFloat32ProjectionData3DGPU(CProjectionGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd);
+
+ virtual ~CFloat32ProjectionData3DGPU();
+
+ /** Initialization.
+ *
+ * @param _pGeometry 3D volume geometry
+ * @param _hnd the CUDA memory handle
+ */
+
+ bool initialize(CProjectionGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd);
+
+ /** Which type is this class?
+ *
+ * @return DataType: PROJECTION
+ */
+ virtual CFloat32Data3D::EDataType getType() const { return PROJECTION; }
+
+ /** Get the volume geometry.
+ *
+ * @return pointer to volume geometry.
+ */
+ CProjectionGeometry3D* getGeometry() const { ASTRA_ASSERT(m_bInitialized); return m_pGeometry; }
+
+};
+
+} // end namesProjection astra
+
+#endif
+
+#endif // _INC_ASTRA_FLOAT32PROJECTIONDATA3DGPU
diff --git a/include/astra/Float32ProjectionData3DMemory.h b/include/astra/Float32ProjectionData3DMemory.h
index f7882b7..732c31a 100644
--- a/include/astra/Float32ProjectionData3DMemory.h
+++ b/include/astra/Float32ProjectionData3DMemory.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32PROJECTIONDATA3DMEMORY
@@ -167,55 +166,6 @@ public:
- /** Fetch a COPY of a projection of the data. Note that if you update the 2D data slice, the data in the
- * 3D data object will remain unaltered. To copy the data back in the 3D-volume you must return the data by calling 'returnProjection'.
- *
- * @param _iProjectionNr projection number
- * @return Volume data object
- */
- virtual CFloat32VolumeData2D* fetchProjection(int _iProjectionNr) const;
-
- /** Return a projection slice to the 3D data. The data will be deleted. If the slice was fetched with
- * 'fetchProjection', the data will be stored first.
- *
- * @param _iProjectionNr projection number
- * @param _pProjection 2D Projection image
- */
- virtual void returnProjection(int _iProjectionNr, CFloat32VolumeData2D* _pProjection);
-
- /** Fetch a COPY of a sinogram slice of the data. Note that if you update the 2D data slice, the data in the
- * 3D data object will remain unaltered. To copy the data back in the 3D-volume you must return the data by calling 'returnSlice'.
- *
- * @param _iSliceNr slice number
- * @return Sinogram data object
- */
- virtual CFloat32ProjectionData2D* fetchSinogram(int _iSliceNr) const;
-
- /** This SLOW function returns a detector value stored a specific index in the array.
- * Reading values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @return The value the location specified by _iIndex
- */
- virtual float32 getDetectorValue(int _iIndex);
-
- /** This SLOW function stores a detector value at a specific index in the array.
- * Writing values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @param _fValue The value to be stored at the location specified by _iIndex
- */
- virtual void setDetectorValue(int _iIndex, float32 _fValue);
-
- /** Return a sinogram slice to the 3d data. The data will be stored in the 3D Data object.
- *
- * @param _iSliceNr slice number
- * @param _pSinogram2D 2D Sinogram Object.
- */
- virtual void returnSinogram(int _iSliceNr, CFloat32ProjectionData2D* _pSinogram2D);
-
/** Which type is this class?
*
* @return DataType: PROJECTION
diff --git a/include/astra/Float32VolumeData2D.h b/include/astra/Float32VolumeData2D.h
index abecebf..bae9a52 100644
--- a/include/astra/Float32VolumeData2D.h
+++ b/include/astra/Float32VolumeData2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32VOLUMEDATA2D
diff --git a/include/astra/Float32VolumeData3D.h b/include/astra/Float32VolumeData3D.h
index 07df78f..535e960 100644
--- a/include/astra/Float32VolumeData3D.h
+++ b/include/astra/Float32VolumeData3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32VOLUMEDATA3D
@@ -86,72 +85,6 @@ public:
*/
virtual CFloat32Data3D::EDataType getType() const;
- /** Fetch a slice from the data in the x direction. Note that if you update the 2D data slice, the data in the
- * 3d data object will remain unaltered. To copy the data you must return the data by calling 'returnSliceX'.
- * You should not delete data fetched with this function yourself, instead call the 'returnSliceX' function.
- *
- * @param _iColumnIndex slice number
- * @return Volume data object
- */
- virtual CFloat32VolumeData2D* fetchSliceX(int _iColumnIndex) const = 0;
-
- /** Fetch a slice from the data in the y direction. Note that if you update the 2D data slice, the data in the
- * 3d data object will remain unaltered. To copy the data you must return the data by calling 'returnSliceY'.
- * You should not delete data fetched with this function yourself, instead call the 'returnSliceY' function.
- *
- * @param _iRowIndex slice number
- * @return Volume data object
- */
- virtual CFloat32VolumeData2D* fetchSliceY(int _iRowIndex) const = 0;
-
- /** Fetch a slice from the data in the z direction. Note that if you update the 2D data slice, the data in the
- * 3d data object will remain unaltered. To copy the data you must return the data by calling 'returnSliceZ'.
- * You should not delete data fetched with this function yourself, instead call the 'returnSliceZ' function.
- *
- * @param _iSliceIndex slice number
- * @return Volume data object
- */
- virtual CFloat32VolumeData2D* fetchSliceZ(int _iSliceIndex) const = 0;
-
- /** Return a slice from the data in the x direction to the 3d data. The data will be deleted. If the slice was
- * fetched with 'fetchSliceX', the data will be stored first.
- *
- * @param _iColumnIndex slice number
- */
- virtual void returnSliceX(int _iColumnIndex, CFloat32VolumeData2D * _pSlice) = 0;
-
- /** Return a slice from the data in the y direction to the 3d data. The data will be deleted. If the slice was
- * fetched with 'fetchSliceY', the data will be stored first.
- *
- * @param _iRowIndex slice number
- */
- virtual void returnSliceY(int _iRowIndex, CFloat32VolumeData2D * _pSlice) = 0;
-
- /** Return a slice from the data in the z direction to the 3d data. The data will be deleted. If the slice was
- * fetched with 'fetchSliceZ', the data will be stored first.
- *
- * @param _iSliceIndex slice number
- */
- virtual void returnSliceZ(int _iSliceIndex, CFloat32VolumeData2D * _pSlice) = 0;
-
- /** This SLOW function returns a voxel value stored at a specific index in the array.
- * Reading values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @return The value stored at the location specified by _iIndex
- */
- virtual float32 getVoxelValue(int _iIndex) = 0;
-
- /** This SLOW function stores a voxel value at a specific index in the array.
- * Writing values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @param _fValue The value to be stored at the location specified by _iIndex
- */
- virtual void setVoxelValue(int _iIndex, float32 _fValue) = 0;
-
/**
* Overloaded Operator: data += data (pointwise)
*
diff --git a/include/astra/Float32VolumeData3DGPU.h b/include/astra/Float32VolumeData3DGPU.h
new file mode 100644
index 0000000..ddeb469
--- /dev/null
+++ b/include/astra/Float32VolumeData3DGPU.h
@@ -0,0 +1,91 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+*/
+
+#ifndef _INC_ASTRA_FLOAT32VOLUMEDATA3DGPU
+#define _INC_ASTRA_FLOAT32VOLUMEDATA3DGPU
+
+#include "Float32Data3DGPU.h"
+#include "VolumeGeometry3D.h"
+#include "Float32VolumeData3D.h"
+
+#ifdef ASTRA_CUDA
+
+namespace astra {
+
+/**
+ * This class represents three-dimensional Volume Data where the entire data block is stored in GPU memory.
+ */
+class _AstraExport CFloat32VolumeData3DGPU : public CFloat32Data3DGPU, public CFloat32VolumeData3D
+{
+public:
+
+ /** Default constructor. Sets all numeric member variables to 0 and all pointer member variables to NULL.
+ *
+ * If an object is constructed using this default constructor, it must always be followed by a call
+ * to one of the init() methods before the object can be used. Any use before calling init() is not allowed,
+ * except calling the member function isInitialized().
+ *
+ */
+ CFloat32VolumeData3DGPU();
+
+ /** Construction.
+ *
+ * @param _pGeometry 3D volume geometry
+ * @param _hnd the CUDA memory handle
+ */
+
+ CFloat32VolumeData3DGPU(CVolumeGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd);
+
+ virtual ~CFloat32VolumeData3DGPU();
+
+ /** Initialization.
+ *
+ * @param _pGeometry 3D volume geometry
+ * @param _hnd the CUDA memory handle
+ */
+
+ bool initialize(CVolumeGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd);
+
+ /** Which type is this class?
+ *
+ * @return DataType: VOLUME
+ */
+ virtual CFloat32Data3D::EDataType getType() const { return VOLUME; }
+
+ /** Get the volume geometry.
+ *
+ * @return pointer to volume geometry.
+ */
+ CVolumeGeometry3D* getGeometry() const { ASTRA_ASSERT(m_bInitialized); return m_pGeometry; }
+
+};
+
+} // end namespace astra
+
+#endif
+
+#endif // _INC_ASTRA_FLOAT32VOLUMEDATA3DGPU
diff --git a/include/astra/Float32VolumeData3DMemory.h b/include/astra/Float32VolumeData3DMemory.h
index 619d83b..4a70f65 100644
--- a/include/astra/Float32VolumeData3DMemory.h
+++ b/include/astra/Float32VolumeData3DMemory.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FLOAT32VOLUMEDATA3DMEMORY
@@ -157,56 +156,7 @@ public:
*
* @return pointer to volume geometry.
*/
- CVolumeGeometry3D* getGeometry();
-
- /**
- * Gets a slice, containing all voxels with a given x (= column) index.
- */
- CFloat32VolumeData2D * fetchSliceX(int _iColumnIndex) const;
-
- /**
- * Gets a slice, containing all voxels with a given y (= row) index.
- */
- CFloat32VolumeData2D * fetchSliceY(int _iRowIndex) const;
-
- /**
- * Gets a slice, containing all voxels with a given z (= slice) index.
- */
- CFloat32VolumeData2D * fetchSliceZ(int _iSliceIndex) const;
-
- /**
- * Gets a slice, containing all voxels with a given x (= column) index.
- */
- void returnSliceX(int _iColumnIndex, CFloat32VolumeData2D * _pSliceData);
-
- /**
- * Gets a slice, containing all voxels with a given y (= row) index.
- */
- void returnSliceY(int _iRowIndex, CFloat32VolumeData2D * _pSliceData);
-
- /**
- * Copies data from a 2D slice containing all voxels with a given z (= slice) index to the
- * 3D memory stored in this class.
- */
- void returnSliceZ(int _iSliceIndex, CFloat32VolumeData2D * _pSliceData);
-
- /** This SLOW function returns a volume value stored a specific index in the array.
- * Reading values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @return The value the location specified by _iIndex
- */
- virtual float32 getVoxelValue(int _iIndex);
-
- /** This SLOW function stores a voxel value at a specific index in the array.
- * Writing values in this way might cause a lot of unnecessary memory operations, don't
- * use it in time-critical code.
- *
- * @param _iIndex Index in the array if the data were stored completely in main memory
- * @param _fValue The value to be stored at the location specified by _iIndex
- */
- virtual void setVoxelValue(int _iIndex, float32 _fValue);
+ CVolumeGeometry3D* getGeometry() const;
/**
* Overloaded Operator: data = data (pointwise)
@@ -219,7 +169,7 @@ public:
//----------------------------------------------------------------------------------------
// Get the projection geometry.
-inline CVolumeGeometry3D* CFloat32VolumeData3DMemory::getGeometry()
+inline CVolumeGeometry3D* CFloat32VolumeData3DMemory::getGeometry() const
{
ASTRA_ASSERT(m_bInitialized);
return m_pGeometry;
diff --git a/include/astra/ForwardProjectionAlgorithm.h b/include/astra/ForwardProjectionAlgorithm.h
index 4188010..02e8894 100644
--- a/include/astra/ForwardProjectionAlgorithm.h
+++ b/include/astra/ForwardProjectionAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FORWARDPROJECTIONALGORITHM
@@ -156,7 +155,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/Fourier.h b/include/astra/Fourier.h
index 68f9f38..4111c99 100644
--- a/include/astra/Fourier.h
+++ b/include/astra/Fourier.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_FOURIER
diff --git a/include/astra/GeometryUtil2D.h b/include/astra/GeometryUtil2D.h
index 2f03062..4d79353 100644
--- a/include/astra/GeometryUtil2D.h
+++ b/include/astra/GeometryUtil2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_GEOMETRYUTIL2D
diff --git a/include/astra/GeometryUtil3D.h b/include/astra/GeometryUtil3D.h
index e051240..0a75fab 100644
--- a/include/astra/GeometryUtil3D.h
+++ b/include/astra/GeometryUtil3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_GEOMETRYUTIL3D
diff --git a/include/astra/Globals.h b/include/astra/Globals.h
index 5dbac83..8375726 100644
--- a/include/astra/Globals.h
+++ b/include/astra/Globals.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_GLOBALS
@@ -54,23 +53,21 @@ $Id$
#include <iostream>
#include <fstream>
#include <math.h>
-#include <boost/static_assert.hpp>
-#include <boost/throw_exception.hpp>
//----------------------------------------------------------------------------------------
// macro's
#define ASTRA_TOOLBOXVERSION_MAJOR 1
-#define ASTRA_TOOLBOXVERSION_MINOR 7
+#define ASTRA_TOOLBOXVERSION_MINOR 8
#define ASTRA_TOOLBOXVERSION ((ASTRA_TOOLBOXVERSION_MAJOR)*100 + (ASTRA_TOOLBOXVERSION_MINOR))
-#define ASTRA_TOOLBOXVERSION_STRING "1.7.1"
+#define ASTRA_TOOLBOXVERSION_STRING "1.8"
#define ASTRA_ASSERT(a) assert(a)
-#define ASTRA_CONFIG_CHECK(value, type, msg) if (!(value)) { cout << "Configuration Error in " << type << ": " << msg << endl; return false; }
+#define ASTRA_CONFIG_CHECK(value, type, msg) if (!(value)) { std::cout << "Configuration Error in " << type << ": " << msg << std::endl; return false; }
-#define ASTRA_CONFIG_WARNING(type, msg) { cout << "Warning in " << type << ": " << msg << endl; }
+#define ASTRA_CONFIG_WARNING(type, msg) { std::cout << "Warning in " << type << ": " << msg << sdt::endl; }
#define ASTRA_DELETE(a) if (a) { delete a; a = NULL; }
@@ -228,16 +225,6 @@ namespace astra {
int m_iSliceIndex;
};
}
-//----------------------------------------------------------------------------------------
-// some toys
-
-// safe reinterpret cast
-template <class To, class From>
-To safe_reinterpret_cast(From from)
-{
- BOOST_STATIC_ASSERT(sizeof(From) <= sizeof(To));
- return reinterpret_cast<To>(from);
-}
//----------------------------------------------------------------------------------------
// functions for testing
diff --git a/include/astra/Logging.h b/include/astra/Logging.h
index 8e19ea4..78343a1 100644
--- a/include/astra/Logging.h
+++ b/include/astra/Logging.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_LOGGING
diff --git a/include/astra/ParallelBeamBlobKernelProjector2D.h b/include/astra/ParallelBeamBlobKernelProjector2D.h
index a718f56..12bee5f 100644
--- a/include/astra/ParallelBeamBlobKernelProjector2D.h
+++ b/include/astra/ParallelBeamBlobKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELBEAMBLOBPROJECTOR
diff --git a/include/astra/ParallelBeamBlobKernelProjector2D.inl b/include/astra/ParallelBeamBlobKernelProjector2D.inl
index c2aa193..e11c4d4 100644
--- a/include/astra/ParallelBeamBlobKernelProjector2D.inl
+++ b/include/astra/ParallelBeamBlobKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/include/astra/ParallelBeamLineKernelProjector2D.h b/include/astra/ParallelBeamLineKernelProjector2D.h
index 5a10021..e0b7b46 100644
--- a/include/astra/ParallelBeamLineKernelProjector2D.h
+++ b/include/astra/ParallelBeamLineKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELBEAMLINEKERNELPROJECTOR
diff --git a/include/astra/ParallelBeamLineKernelProjector2D.inl b/include/astra/ParallelBeamLineKernelProjector2D.inl
index b3e54f9..83c16d7 100644
--- a/include/astra/ParallelBeamLineKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLineKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#define policy_weight(p,rayindex,volindex,weight) if (p.pixelPrior(volindex)) { p.addWeight(rayindex, volindex, weight); p.pixelPosterior(volindex); }
diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.h b/include/astra/ParallelBeamLinearKernelProjector2D.h
index 8e25c38..3e81fa3 100644
--- a/include/astra/ParallelBeamLinearKernelProjector2D.h
+++ b/include/astra/ParallelBeamLinearKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELLINEARKERNELPROJECTOR
diff --git a/include/astra/ParallelBeamLinearKernelProjector2D.inl b/include/astra/ParallelBeamLinearKernelProjector2D.inl
index 9b2c7b1..2619a12 100644
--- a/include/astra/ParallelBeamLinearKernelProjector2D.inl
+++ b/include/astra/ParallelBeamLinearKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,8 +23,8 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
+
#define policy_weight(p,rayindex,volindex,weight) if (p.pixelPrior(volindex)) { p.addWeight(rayindex, volindex, weight); p.pixelPosterior(volindex); }
template <typename Policy>
diff --git a/include/astra/ParallelBeamStripKernelProjector2D.h b/include/astra/ParallelBeamStripKernelProjector2D.h
index 8fb665f..908df1f 100644
--- a/include/astra/ParallelBeamStripKernelProjector2D.h
+++ b/include/astra/ParallelBeamStripKernelProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELBEAMSTROKEKERNELPROJECTOR
diff --git a/include/astra/ParallelBeamStripKernelProjector2D.inl b/include/astra/ParallelBeamStripKernelProjector2D.inl
index e457316..3a21ed6 100644
--- a/include/astra/ParallelBeamStripKernelProjector2D.inl
+++ b/include/astra/ParallelBeamStripKernelProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
template <typename Policy>
diff --git a/include/astra/ParallelProjectionGeometry2D.h b/include/astra/ParallelProjectionGeometry2D.h
index ca67ba7..9625d35 100644
--- a/include/astra/ParallelProjectionGeometry2D.h
+++ b/include/astra/ParallelProjectionGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELPROJECTIONGEOMETRY2D
diff --git a/include/astra/ParallelProjectionGeometry3D.h b/include/astra/ParallelProjectionGeometry3D.h
index d95c050..aa86836 100644
--- a/include/astra/ParallelProjectionGeometry3D.h
+++ b/include/astra/ParallelProjectionGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELPROJECTIONGEOMETRY3D
diff --git a/include/astra/ParallelVecProjectionGeometry3D.h b/include/astra/ParallelVecProjectionGeometry3D.h
index ec91086..3d5ce23 100644
--- a/include/astra/ParallelVecProjectionGeometry3D.h
+++ b/include/astra/ParallelVecProjectionGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PARALLELVECPROJECTIONGEOMETRY3D
diff --git a/include/astra/PlatformDepSystemCode.h b/include/astra/PlatformDepSystemCode.h
index 580c393..4a37568 100644
--- a/include/astra/PlatformDepSystemCode.h
+++ b/include/astra/PlatformDepSystemCode.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef PLATFORMDEPSYSTEMCODE_H
diff --git a/include/astra/PluginAlgorithm.h b/include/astra/PluginAlgorithm.h
index cbd80fc..c114921 100644
--- a/include/astra/PluginAlgorithm.h
+++ b/include/astra/PluginAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PLUGINALGORITHM
diff --git a/include/astra/ProjectionGeometry2D.h b/include/astra/ProjectionGeometry2D.h
index b656d97..504f588 100644
--- a/include/astra/ProjectionGeometry2D.h
+++ b/include/astra/ProjectionGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PROJECTIONGEOMETRY2D
diff --git a/include/astra/ProjectionGeometry3D.h b/include/astra/ProjectionGeometry3D.h
index 0b60287..545abd1 100644
--- a/include/astra/ProjectionGeometry3D.h
+++ b/include/astra/ProjectionGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PROJECTIONGEOMETRY3D
diff --git a/include/astra/Projector2D.h b/include/astra/Projector2D.h
index c7a899d..8a5182a 100644
--- a/include/astra/Projector2D.h
+++ b/include/astra/Projector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef INC_ASTRA_PROJECTOR2D
diff --git a/include/astra/Projector2DImpl.inl b/include/astra/Projector2DImpl.inl
index 75b12d0..ffebb55 100644
--- a/include/astra/Projector2DImpl.inl
+++ b/include/astra/Projector2DImpl.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/include/astra/Projector3D.h b/include/astra/Projector3D.h
index 88ca2be..ef9ca63 100644
--- a/include/astra/Projector3D.h
+++ b/include/astra/Projector3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef INC_ASTRA_PROJECTOR3D
diff --git a/include/astra/ProjectorTypelist.h b/include/astra/ProjectorTypelist.h
index 4ab7e98..ea6a568 100644
--- a/include/astra/ProjectorTypelist.h
+++ b/include/astra/ProjectorTypelist.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_PROJECTORTYPELIST
@@ -32,9 +31,6 @@ $Id$
#include "Projector2D.h"
#include "TypeList.h"
-using namespace astra;
-using namespace astra::typelist;
-
// Projector2D
#include "Projector2D.h"
#include "ParallelBeamLineKernelProjector2D.h"
@@ -44,11 +40,12 @@ using namespace astra::typelist;
#include "SparseMatrixProjector2D.h"
#include "FanFlatBeamLineKernelProjector2D.h"
#include "FanFlatBeamStripKernelProjector2D.h"
-
-#ifdef ASTRA_CUDA
#include "CudaProjector2D.h"
+
namespace astra{
+#ifdef ASTRA_CUDA
+
typedef TYPELIST_8(
CFanFlatBeamLineKernelProjector2D,
CFanFlatBeamStripKernelProjector2D,
@@ -59,13 +56,9 @@ namespace astra{
CSparseMatrixProjector2D,
CCudaProjector2D)
Projector2DTypeList;
-}
-
-
#else
-namespace astra{
typedef TYPELIST_7(
CFanFlatBeamLineKernelProjector2D,
CFanFlatBeamStripKernelProjector2D,
@@ -75,30 +68,29 @@ namespace astra{
CParallelBeamStripKernelProjector2D,
CSparseMatrixProjector2D)
Projector2DTypeList;
-}
#endif
+}
+
// Projector3D
#include "Projector3D.h"
+#include "CudaProjector3D.h"
+
+namespace astra {
#ifdef ASTRA_CUDA
-#include "CudaProjector3D.h"
-namespace astra {
typedef TYPELIST_1(
CCudaProjector3D
)
Projector3DTypeList;
-}
-
#else
-namespace astra {
typedef TYPELIST_0 Projector3DTypeList;
-}
#endif
+}
#endif
diff --git a/include/astra/ReconstructionAlgorithm2D.h b/include/astra/ReconstructionAlgorithm2D.h
index ac87c4f..e105a7c 100644
--- a/include/astra/ReconstructionAlgorithm2D.h
+++ b/include/astra/ReconstructionAlgorithm2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_RECONSTRUCTIONALGORITHM2D
@@ -117,7 +116,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information.
*
diff --git a/include/astra/ReconstructionAlgorithm3D.h b/include/astra/ReconstructionAlgorithm3D.h
index 42b2ab4..0bbae2d 100644
--- a/include/astra/ReconstructionAlgorithm3D.h
+++ b/include/astra/ReconstructionAlgorithm3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_RECONSTRUCTIONALGORITHM3D
@@ -118,7 +117,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information.
*
diff --git a/include/astra/SartAlgorithm.h b/include/astra/SartAlgorithm.h
index cdae029..f1bd47a 100644
--- a/include/astra/SartAlgorithm.h
+++ b/include/astra/SartAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SARTALGORITHM
@@ -185,7 +184,7 @@ public:
*
* @return map with all boost::any object
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/Singleton.h b/include/astra/Singleton.h
index 9d3c088..b823c0f 100644
--- a/include/astra/Singleton.h
+++ b/include/astra/Singleton.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SINGLETON
@@ -82,15 +81,15 @@ class Singleton {
// libastra. This situation would cause issues when .mex files are unloaded.
#define DEFINE_SINGLETON(T) \
-template<> void Singleton<T >::construct() { assert(!m_singleton); m_singleton = new T(); } \
-template<> T* Singleton<T >::m_singleton = 0
+template<> T* Singleton<T >::m_singleton = 0; \
+template<> void Singleton<T >::construct() { assert(!m_singleton); m_singleton = new T(); }
// This is a hack to support statements like
// DEFINE_SINGLETON2(CTemplatedClass<C1, C2>);
#define DEFINE_SINGLETON2(A,B) \
-template<> void Singleton<A,B >::construct() { assert(!m_singleton); m_singleton = new A,B(); } \
-template<> A,B* Singleton<A,B >::m_singleton = 0
+template<> A,B* Singleton<A,B >::m_singleton = 0; \
+template<> void Singleton<A,B >::construct() { assert(!m_singleton); m_singleton = new A,B(); }
} // end namespace
diff --git a/include/astra/SirtAlgorithm.h b/include/astra/SirtAlgorithm.h
index 8044d09..a4b57f8 100644
--- a/include/astra/SirtAlgorithm.h
+++ b/include/astra/SirtAlgorithm.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SIRTALGORITHM
@@ -192,7 +191,7 @@ public:
*
* @return Map with all available identifier strings and their values.
*/
- virtual map<string,boost::any> getInformation();
+ virtual std::map<std::string,boost::any> getInformation();
/** Get a single piece of information represented as a boost::any
*
diff --git a/include/astra/SparseMatrix.h b/include/astra/SparseMatrix.h
index 585981c..1eb329f 100644
--- a/include/astra/SparseMatrix.h
+++ b/include/astra/SparseMatrix.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SPARSEMATRIX
diff --git a/include/astra/SparseMatrixProjectionGeometry2D.h b/include/astra/SparseMatrixProjectionGeometry2D.h
index d56f95e..26a43ca 100644
--- a/include/astra/SparseMatrixProjectionGeometry2D.h
+++ b/include/astra/SparseMatrixProjectionGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SPARSEMATRIXPROJECTIONGEOMETRY2D
diff --git a/include/astra/SparseMatrixProjector2D.h b/include/astra/SparseMatrixProjector2D.h
index 839fd2a..d871212 100644
--- a/include/astra/SparseMatrixProjector2D.h
+++ b/include/astra/SparseMatrixProjector2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SPARSEMATRIXPROJECTOR2D
diff --git a/include/astra/SparseMatrixProjector2D.inl b/include/astra/SparseMatrixProjector2D.inl
index 8246e42..af5aa15 100644
--- a/include/astra/SparseMatrixProjector2D.inl
+++ b/include/astra/SparseMatrixProjector2D.inl
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/include/astra/TypeList.h b/include/astra/TypeList.h
index 442bb25..57f072b 100644
--- a/include/astra/TypeList.h
+++ b/include/astra/TypeList.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_TYPELIST
@@ -60,95 +59,95 @@ namespace typelist {
//-----------------------------------------------------------------------------------------
// linearize typelist
- #define TYPELIST_0 NullType
- #define TYPELIST_1(T1) TypeList<T1, NullType>
- #define TYPELIST_2(T1,T2) TypeList<T1, TYPELIST_1(T2) >
- #define TYPELIST_3(T1,T2,T3) TypeList<T1, TYPELIST_2(T2,T3) >
- #define TYPELIST_4(T1,T2,T3,T4) TypeList<T1, TYPELIST_3(T2,T3,T4) >
- #define TYPELIST_5(T1,T2,T3,T4,T5) TypeList<T1, TYPELIST_4(T2,T3,T4,T5) >
- #define TYPELIST_6(T1,T2,T3,T4,T5,T6) TypeList<T1, TYPELIST_5(T2,T3,T4,T5,T6) >
- #define TYPELIST_7(T1,T2,T3,T4,T5,T6,T7) TypeList<T1, TYPELIST_6(T2,T3,T4,T5,T6,T7) >
- #define TYPELIST_8(T1,T2,T3,T4,T5,T6,T7,T8) TypeList<T1, TYPELIST_7(T2,T3,T4,T5,T6,T7,T8) >
- #define TYPELIST_9(T1,T2,T3,T4,T5,T6,T7,T8,T9) TypeList<T1, TYPELIST_8(T2,T3,T4,T5,T6,T7,T8,T9)>
+ #define TYPELIST_0 typelist::NullType
+ #define TYPELIST_1(T1) typelist::TypeList<T1, typelist::NullType>
+ #define TYPELIST_2(T1,T2) typelist::TypeList<T1, TYPELIST_1(T2) >
+ #define TYPELIST_3(T1,T2,T3) typelist::TypeList<T1, TYPELIST_2(T2,T3) >
+ #define TYPELIST_4(T1,T2,T3,T4) typelist::TypeList<T1, TYPELIST_3(T2,T3,T4) >
+ #define TYPELIST_5(T1,T2,T3,T4,T5) typelist::TypeList<T1, TYPELIST_4(T2,T3,T4,T5) >
+ #define TYPELIST_6(T1,T2,T3,T4,T5,T6) typelist::TypeList<T1, TYPELIST_5(T2,T3,T4,T5,T6) >
+ #define TYPELIST_7(T1,T2,T3,T4,T5,T6,T7) typelist::TypeList<T1, TYPELIST_6(T2,T3,T4,T5,T6,T7) >
+ #define TYPELIST_8(T1,T2,T3,T4,T5,T6,T7,T8) typelist::TypeList<T1, TYPELIST_7(T2,T3,T4,T5,T6,T7,T8) >
+ #define TYPELIST_9(T1,T2,T3,T4,T5,T6,T7,T8,T9) typelist::TypeList<T1, TYPELIST_8(T2,T3,T4,T5,T6,T7,T8,T9)>
#define TYPELIST_10(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10) \
- TypeList<T1, TYPELIST_9(T2,T3,T4,T5,T6,T7,T8,T9,T10) >
+ typelist::TypeList<T1, TYPELIST_9(T2,T3,T4,T5,T6,T7,T8,T9,T10) >
#define TYPELIST_11(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) \
- TypeList<T1, TYPELIST_10(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) >
+ typelist::TypeList<T1, TYPELIST_10(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11) >
#define TYPELIST_12(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) \
- TypeList<T1, TYPELIST_11(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) >
+ typelist::TypeList<T1, TYPELIST_11(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12) >
#define TYPELIST_13(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) \
- TypeList<T1, TYPELIST_12(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) >
+ typelist::TypeList<T1, TYPELIST_12(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13) >
#define TYPELIST_14(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) \
- TypeList<T1, TYPELIST_13(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) >
+ typelist::TypeList<T1, TYPELIST_13(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14) >
#define TYPELIST_15(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) \
- TypeList<T1, TYPELIST_14(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) >
+ typelist::TypeList<T1, TYPELIST_14(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15) >
#define TYPELIST_16(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) \
- TypeList<T1, TYPELIST_15(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) >
+ typelist::TypeList<T1, TYPELIST_15(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16) >
#define TYPELIST_17(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17) \
- TypeList<T1, TYPELIST_16(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17) >
+ typelist::TypeList<T1, TYPELIST_16(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17) >
#define TYPELIST_18(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18) \
- TypeList<T1, TYPELIST_17(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18) >
+ typelist::TypeList<T1, TYPELIST_17(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18) >
#define TYPELIST_19(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19) \
- TypeList<T1, TYPELIST_18(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19) >
+ typelist::TypeList<T1, TYPELIST_18(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19) >
#define TYPELIST_20(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20) \
- TypeList<T1, TYPELIST_19(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20) >
+ typelist::TypeList<T1, TYPELIST_19(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20) >
#define TYPELIST_21(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21) \
- TypeList<T1, TYPELIST_20(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21) >
+ typelist::TypeList<T1, TYPELIST_20(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21) >
#define TYPELIST_22(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22) \
- TypeList<T1, TYPELIST_21(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22) >
+ typelist::TypeList<T1, TYPELIST_21(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22) >
#define TYPELIST_23(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23) \
- TypeList<T1, TYPELIST_22(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23) >
+ typelist::TypeList<T1, TYPELIST_22(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23) >
#define TYPELIST_24(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24) \
- TypeList<T1, TYPELIST_23(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24) >
+ typelist::TypeList<T1, TYPELIST_23(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24) >
#define TYPELIST_25(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25) \
- TypeList<T1, TYPELIST_24(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25) >
+ typelist::TypeList<T1, TYPELIST_24(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25) >
#define TYPELIST_26(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26) \
- TypeList<T1, TYPELIST_25(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26) >
+ typelist::TypeList<T1, TYPELIST_25(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26) >
#define TYPELIST_27(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27) \
- TypeList<T1, TYPELIST_26(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27) >
+ typelist::TypeList<T1, TYPELIST_26(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27) >
#define TYPELIST_28(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28) \
- TypeList<T1, TYPELIST_27(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28) >
+ typelist::TypeList<T1, TYPELIST_27(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28) >
#define TYPELIST_29(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29) \
- TypeList<T1, TYPELIST_28(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29) >
+ typelist::TypeList<T1, TYPELIST_28(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29) >
#define TYPELIST_30(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30) \
- TypeList<T1, TYPELIST_29(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30) >
+ typelist::TypeList<T1, TYPELIST_29(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30) >
#define TYPELIST_31(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31) \
- TypeList<T1, TYPELIST_30(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31) >
+ typelist::TypeList<T1, TYPELIST_30(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31) >
#define TYPELIST_32(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32) \
- TypeList<T1, TYPELIST_31(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32) >
+ typelist::TypeList<T1, TYPELIST_31(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32) >
#define TYPELIST_33(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33) \
- TypeList<T1, TYPELIST_32(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33) >
+ typelist::TypeList<T1, TYPELIST_32(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33) >
#define TYPELIST_34(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34) \
- TypeList<T1, TYPELIST_33(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34) >
+ typelist::TypeList<T1, TYPELIST_33(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34) >
#define TYPELIST_35(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35) \
- TypeList<T1, TYPELIST_34(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35) >
+ typelist::TypeList<T1, TYPELIST_34(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35) >
#define TYPELIST_36(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36) \
- TypeList<T1, TYPELIST_35(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36) >
+ typelist::TypeList<T1, TYPELIST_35(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36) >
#define TYPELIST_37(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37) \
- TypeList<T1, TYPELIST_36(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37) >
+ typelist::TypeList<T1, TYPELIST_36(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37) >
#define TYPELIST_38(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38) \
- TypeList<T1, TYPELIST_37(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38) >
+ typelist::TypeList<T1, TYPELIST_37(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38) >
#define TYPELIST_39(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39) \
- TypeList<T1, TYPELIST_38(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39) >
+ typelist::TypeList<T1, TYPELIST_38(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39) >
#define TYPELIST_40(T1,T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40) \
- TypeList<T1, TYPELIST_39(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40) >
+ typelist::TypeList<T1, TYPELIST_39(T2,T3,T4,T5,T6,T7,T8,T9,T10,T11,T12,T13,T14,T15,T16,T17,T18,T19,T20,T21,T22,T23,T24,T25,T26,T27,T28,T29,T30,T31,T32,T33,T34,T35,T36,T37,T38,T39,T40) >
//-----------------------------------------------------------------------------------------
@@ -220,10 +219,10 @@ namespace typelist {
template <typename Base>
struct functor_find {
functor_find() { res = NULL; }
- bool operator() (string name) {
+ bool operator() (std::string name) {
return strcmp(tofind.c_str(), name.c_str()) == 0;
}
- string tofind;
+ std::string tofind;
Base* res;
};
diff --git a/include/astra/Utilities.h b/include/astra/Utilities.h
index 22adfe2..097fb11 100644
--- a/include/astra/Utilities.h
+++ b/include/astra/Utilities.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_UTILIES
diff --git a/include/astra/Vector3D.h b/include/astra/Vector3D.h
index 2dfc31d..8e7bebf 100644
--- a/include/astra/Vector3D.h
+++ b/include/astra/Vector3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_VECTOR3D
diff --git a/include/astra/VolumeGeometry2D.h b/include/astra/VolumeGeometry2D.h
index 28703d5..2b0a5ac 100644
--- a/include/astra/VolumeGeometry2D.h
+++ b/include/astra/VolumeGeometry2D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_VOLUMEGEOMETRY2D
diff --git a/include/astra/VolumeGeometry3D.h b/include/astra/VolumeGeometry3D.h
index ff94844..ff7fa88 100644
--- a/include/astra/VolumeGeometry3D.h
+++ b/include/astra/VolumeGeometry3D.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_VOLUMEGEOMETRY3D
diff --git a/include/astra/XMLDocument.h b/include/astra/XMLDocument.h
index eddd908..fc8b29f 100644
--- a/include/astra/XMLDocument.h
+++ b/include/astra/XMLDocument.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_XMLDOCUMENT
@@ -42,8 +41,6 @@ namespace rapidxml {
#include "Globals.h"
#include "XMLNode.h"
-using namespace std;
-
namespace astra {
/** This class encapsulates an XML Document of the Xerces DOM Parser.
@@ -65,14 +62,14 @@ public:
* @param sFilename Location of the XML file.
* @return XML Document containing the DOM tree
*/
- static XMLDocument* readFromFile(string sFilename);
+ static XMLDocument* readFromFile(std::string sFilename);
/** Construct an empty XML DOM tree with a specific root tag.
*
* @param sRootName Element name of the root tag.
* @return XML Document with an empty root node
*/
- static XMLDocument* createDocument(string sRootName);
+ static XMLDocument* createDocument(std::string sRootName);
/** Get the rootnode of the XML document
*
@@ -84,7 +81,7 @@ public:
*
* @param sFilename Location of the XML file.
*/
- void saveToFile(string sFilename);
+ void saveToFile(std::string sFilename);
/** convert and XML DOM tree to a string
*/
diff --git a/include/astra/XMLNode.h b/include/astra/XMLNode.h
index 7d1edf5..de5a052 100644
--- a/include/astra/XMLNode.h
+++ b/include/astra/XMLNode.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_XMLNODE
@@ -44,8 +43,6 @@ namespace rapidxml {
#include "Globals.h"
#include "Utilities.h"
-using namespace std;
-
namespace astra {
/**
@@ -74,14 +71,14 @@ public:
* @param _sName tagname of the requested child node
* @return first child node with the correct tagname, null pointer if it doesn't exist
*/
- XMLNode getSingleNode(string _sName) const;
+ XMLNode getSingleNode(std::string _sName) const;
/** Get all child XML nodes that have the tagname name
*
* @param _sName tagname of the requested child nodes
* @return list with all child nodes with the correct tagname
*/
- std::list<XMLNode> getNodes(string _sName) const;
+ std::list<XMLNode> getNodes(std::string _sName) const;
/** Get all child XML nodes
*
@@ -99,7 +96,7 @@ public:
*
* @return node content
*/
- string getContent() const;
+ std::string getContent() const;
/** Get the content of the XML node as an integer
*
@@ -123,15 +120,15 @@ public:
*
* @return node content
*/
- vector<string> getContentArray() const;
+ std::vector<std::string> getContentArray() const;
/** Get the content of the XML node as a stl container of float32 data.
* NB: A 2D matrix is returned as a linear list
*
* @return node content
*/
- vector<float32> getContentNumericalArray() const;
- vector<double> getContentNumericalArrayDouble() const;
+ std::vector<float32> getContentNumericalArray() const;
+ std::vector<double> getContentNumericalArrayDouble() const;
@@ -140,7 +137,7 @@ public:
* @param _sName of the attribute.
* @return attribute value, empty string if it doesn't exist.
*/
- bool hasAttribute(string _sName) const;
+ bool hasAttribute(std::string _sName) const;
/** Get the value of an attribute.
*
@@ -148,7 +145,7 @@ public:
* @param _sDefaultValue value to return if the attribute isn't found
* @return attribute value, _sDefaultValue if it doesn't exist.
*/
- string getAttribute(string _sName, string _sDefaultValue = "") const;
+ std::string getAttribute(std::string _sName, std::string _sDefaultValue = "") const;
/** Get the value of a numerical attribute.
*
@@ -156,9 +153,9 @@ public:
* @param _fDefaultValue value to return if the attribute isn't found
* @return attribute value, _fDefaultValue if it doesn't exist.
*/
- float32 getAttributeNumerical(string _sName, float32 _fDefaultValue = 0) const;
- double getAttributeNumericalDouble(string _sName, double _fDefaultValue = 0) const;
- int getAttributeInt(string _sName, int _fDefaultValue = 0) const;
+ float32 getAttributeNumerical(std::string _sName, float32 _fDefaultValue = 0) const;
+ double getAttributeNumericalDouble(std::string _sName, double _fDefaultValue = 0) const;
+ int getAttributeInt(std::string _sName, int _fDefaultValue = 0) const;
/** Get the value of a boolean attribute.
*
@@ -166,7 +163,7 @@ public:
* @param _bDefaultValue value to return if the attribute isn't found
* @return attribute value, _bDefaultValue if it doesn't exist.
*/
- bool getAttributeBool(string _sName, bool _bDefaultValue = false) const;
+ bool getAttributeBool(std::string _sName, bool _bDefaultValue = false) const;
@@ -176,7 +173,7 @@ public:
* @param _sKey option key
* @return true if option does exist
*/
- bool hasOption(string _sKey) const;
+ bool hasOption(std::string _sKey) const;
/** Get the value of an option within this XML Node
*
@@ -184,7 +181,7 @@ public:
* @param _sDefaultValue value to return if key isn't found
* @return option value, _sDefaultValue if the option doesn't exist
*/
- string getOption(string _sKey, string _sDefaultValue = "") const;
+ std::string getOption(std::string _sKey, std::string _sDefaultValue = "") const;
/** Get the value of an option within this XML Node
*
@@ -192,8 +189,8 @@ public:
* @param _fDefaultValue value to return if key isn't found
* @return option value, _fDefaultValue if the option doesn't exist
*/
- float32 getOptionNumerical(string _sKey, float32 _fDefaultValue = 0) const;
- int getOptionInt(string _sKey, int _fDefaultValue = 0) const;
+ float32 getOptionNumerical(std::string _sKey, float32 _fDefaultValue = 0) const;
+ int getOptionInt(std::string _sKey, int _fDefaultValue = 0) const;
/** Get the value of an option within this XML Node
*
@@ -201,14 +198,14 @@ public:
* @param _bDefaultValue value to return if key isn't found
* @return option value, _bDefaultValue if the option doesn't exist
*/
- bool getOptionBool(string _sKey, bool _bDefaultValue = false) const;
+ bool getOptionBool(std::string _sKey, bool _bDefaultValue = false) const;
/** Get the value of an option within this XML Node
*
* @param _sKey option key
* @return numerical array
*/
- vector<float32> getOptionNumericalArray(string _sKey) const;
+ std::vector<float32> getOptionNumericalArray(std::string _sKey) const;
@@ -219,7 +216,7 @@ public:
* @param _sNodeName the name of the new childnode
* @return new child node
*/
- XMLNode addChildNode(string _sNodeName);
+ XMLNode addChildNode(std::string _sNodeName);
/** Create a new XML node as a child to this one, also add some content:
* &lt;...&gt;&lt;_sNodeName&gt;_sValue&lt;/_sNodeName>&lt;/...&gt;
@@ -228,7 +225,7 @@ public:
* @param _sValue some node content
* @return new child node
*/
- XMLNode addChildNode(string _sNodeName, string _sValue);
+ XMLNode addChildNode(std::string _sNodeName, std::string _sValue);
/** Create a new XML node as a child to this one, also add some numerical content:
* &lt;...&gt;&lt;_sNodeName&gt;_sValue&lt;/_sNodeName>&lt;/...&gt;
@@ -237,7 +234,7 @@ public:
* @param _fValue some node content
* @return new child node
*/
- XMLNode addChildNode(string _sNodeName, float32 _fValue);
+ XMLNode addChildNode(std::string _sNodeName, float32 _fValue);
/** Create a new XML node as a child to this one, also add a list of numerical content:
* &lt;...&gt;&lt;_sNodeName&gt;_sValue&lt;/_sNodeName>&lt;/...&gt;
@@ -247,13 +244,13 @@ public:
* @param _iSize number of elements in _pfList
* @return new child node
*/
- XMLNode addChildNode(string _sNodeName, float32* _pfList, int _iSize);
+ XMLNode addChildNode(std::string _sNodeName, float32* _pfList, int _iSize);
/** Add some text to the node: &lt;...&gt;_sText&lt;/...&gt;
*
* @param _sText text to insert
*/
- void setContent(string _sText);
+ void setContent(std::string _sText);
/** Add a number to the node: &lt;...&gt;_sText&lt;/...&gt;
*
@@ -298,28 +295,28 @@ public:
* @param _sName name of the attribute
* @param _sValue value of the attribute
*/
- void addAttribute(string _sName, string _sValue);
+ void addAttribute(std::string _sName, std::string _sValue);
/** Add an attribute with numerical data to this node: &lt;... _sName="_fValue"&gt;
*
* @param _sName name of the attribute
* @param _sValue value of the attribute
*/
- void addAttribute(string _sName, float32 _fValue);
+ void addAttribute(std::string _sName, float32 _fValue);
/** Add an option node as a child: &lt;Option key="&lt;_sKey&gt;" value="&lt;_sValue&gt;"/>
*
* @param _sKey option key
* @param _sValue option value
*/
- void addOption(string _sKey, string _sValue);
+ void addOption(std::string _sKey, std::string _sValue);
/** Add an option node as a child: &lt;Option key="&lt;_sKey&gt;" value="&lt;_sValue&gt;"/>
*
* @param _sKey option key
* @param _sValue option value
*/
- void addOption(string _sKey, float32 _fValue);
+ void addOption(std::string _sKey, float32 _fValue);
/** Print to String
diff --git a/include/astra/swrap.h b/include/astra/swrap.h
index 612d1b6..cd479f3 100644
--- a/include/astra/swrap.h
+++ b/include/astra/swrap.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_SWRAP_H
diff --git a/lib/include/rapidxml/rapidxml.hpp b/lib/include/rapidxml/rapidxml.hpp
index ae91e08..ffa41c4 100644
--- a/lib/include/rapidxml/rapidxml.hpp
+++ b/lib/include/rapidxml/rapidxml.hpp
@@ -74,9 +74,9 @@ namespace rapidxml
public:
//! Constructs parse error
- parse_error(const char *what, void *where)
- : m_what(what)
- , m_where(where)
+ parse_error(const char *what_, void *where_)
+ : m_what(what_)
+ , m_where(where_)
{
}
diff --git a/matlab/algorithms/DART/DARTalgorithm.m b/matlab/algorithms/DART/DARTalgorithm.m
index fc707dd..34beeee 100644
--- a/matlab/algorithms/DART/DARTalgorithm.m
+++ b/matlab/algorithms/DART/DARTalgorithm.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef DARTalgorithm < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/IterativeTomography.m b/matlab/algorithms/DART/IterativeTomography.m
index c3e737f..df414a0 100644
--- a/matlab/algorithms/DART/IterativeTomography.m
+++ b/matlab/algorithms/DART/IterativeTomography.m
@@ -1,3 +1,13 @@
+%--------------------------------------------------------------------------
+% This file is part of the ASTRA Toolbox
+%
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
+% License: Open Source under GPLv3
+% Contact: astra@uantwerpen.be
+% Website: http://www.astra-toolbox.com/
+%--------------------------------------------------------------------------
+
classdef IterativeTomography < matlab.mixin.Copyable
% Algorithm class for 2D Iterative Tomography.
diff --git a/matlab/algorithms/DART/IterativeTomography3D.m b/matlab/algorithms/DART/IterativeTomography3D.m
index 29b963f..4a0b33a 100644
--- a/matlab/algorithms/DART/IterativeTomography3D.m
+++ b/matlab/algorithms/DART/IterativeTomography3D.m
@@ -1,3 +1,13 @@
+%--------------------------------------------------------------------------
+% This file is part of the ASTRA Toolbox
+%
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
+% License: Open Source under GPLv3
+% Contact: astra@uantwerpen.be
+% Website: http://www.astra-toolbox.com/
+%--------------------------------------------------------------------------
+
classdef IterativeTomography3D < matlab.mixin.Copyable
% Algorithm class for 3D Iterative Tomography.
diff --git a/matlab/algorithms/DART/Kernels.m b/matlab/algorithms/DART/Kernels.m
index 558f611..02200f7 100644
--- a/matlab/algorithms/DART/Kernels.m
+++ b/matlab/algorithms/DART/Kernels.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef Kernels
diff --git a/matlab/algorithms/DART/MaskingDefault.m b/matlab/algorithms/DART/MaskingDefault.m
index f91a6f5..cca143e 100644
--- a/matlab/algorithms/DART/MaskingDefault.m
+++ b/matlab/algorithms/DART/MaskingDefault.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef MaskingDefault < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/MaskingGPU.m b/matlab/algorithms/DART/MaskingGPU.m
index 7d31aa8..32859a2 100644
--- a/matlab/algorithms/DART/MaskingGPU.m
+++ b/matlab/algorithms/DART/MaskingGPU.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef MaskingGPU < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/OutputDefault.m b/matlab/algorithms/DART/OutputDefault.m
index 33e908b..cb9979c 100644
--- a/matlab/algorithms/DART/OutputDefault.m
+++ b/matlab/algorithms/DART/OutputDefault.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef OutputDefault < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/SegmentationDefault.m b/matlab/algorithms/DART/SegmentationDefault.m
index 98265c0..4c808d3 100644
--- a/matlab/algorithms/DART/SegmentationDefault.m
+++ b/matlab/algorithms/DART/SegmentationDefault.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef SegmentationDefault < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/SmoothingDefault.m b/matlab/algorithms/DART/SmoothingDefault.m
index 1974fa1..9d1ea9e 100644
--- a/matlab/algorithms/DART/SmoothingDefault.m
+++ b/matlab/algorithms/DART/SmoothingDefault.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef SmoothingDefault < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/SmoothingGPU.m b/matlab/algorithms/DART/SmoothingGPU.m
index 1249e19..7041f19 100644
--- a/matlab/algorithms/DART/SmoothingGPU.m
+++ b/matlab/algorithms/DART/SmoothingGPU.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef SmoothingGPU < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/StatisticsDefault.m b/matlab/algorithms/DART/StatisticsDefault.m
index 9d33256..02e877b 100644
--- a/matlab/algorithms/DART/StatisticsDefault.m
+++ b/matlab/algorithms/DART/StatisticsDefault.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef StatisticsDefault < matlab.mixin.Copyable
diff --git a/matlab/algorithms/DART/examples/example1.m b/matlab/algorithms/DART/examples/example1.m
index 791e440..25d5215 100644
--- a/matlab/algorithms/DART/examples/example1.m
+++ b/matlab/algorithms/DART/examples/example1.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
addpath('../');
diff --git a/matlab/algorithms/DART/examples/example2.m b/matlab/algorithms/DART/examples/example2.m
index 89660a5..85774e5 100644
--- a/matlab/algorithms/DART/examples/example2.m
+++ b/matlab/algorithms/DART/examples/example2.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
addpath('../');
diff --git a/matlab/algorithms/DART/examples/example3.m b/matlab/algorithms/DART/examples/example3.m
index cc80b0f..647ad2d 100644
--- a/matlab/algorithms/DART/examples/example3.m
+++ b/matlab/algorithms/DART/examples/example3.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
addpath('../');
diff --git a/matlab/algorithms/DART/tools/DARToptimizer.m b/matlab/algorithms/DART/tools/DARToptimizer.m
index 7aeabbe..424ff22 100644
--- a/matlab/algorithms/DART/tools/DARToptimizer.m
+++ b/matlab/algorithms/DART/tools/DARToptimizer.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef DARToptimizer < handle
diff --git a/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m b/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m
index 5bcf6e9..c641f87 100644
--- a/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m
+++ b/matlab/algorithms/DART/tools/DARToptimizerBoneStudy.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef DARToptimizerBoneStudy < handle
diff --git a/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m b/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m
index 64f3091..72b328f 100644
--- a/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m
+++ b/matlab/algorithms/DART/tools/ProjDiffOptimFunc.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef ProjDiffOptimFunc < handle
diff --git a/matlab/algorithms/DART/tools/dart_create_base_phantom.m b/matlab/algorithms/DART/tools/dart_create_base_phantom.m
index 4c7061e..acd4048 100644
--- a/matlab/algorithms/DART/tools/dart_create_base_phantom.m
+++ b/matlab/algorithms/DART/tools/dart_create_base_phantom.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
function base = dart_create_base_phantom(Im, angle_count, angle_range, gpu_core)
diff --git a/matlab/algorithms/DART/tools/dart_scheduler.m b/matlab/algorithms/DART/tools/dart_scheduler.m
index 007fcaa..4749fb1 100644
--- a/matlab/algorithms/DART/tools/dart_scheduler.m
+++ b/matlab/algorithms/DART/tools/dart_scheduler.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
function dart_scheduler(D_tmpl, iterations, settings)
diff --git a/matlab/algorithms/DART/tools/rNMPOptimFunc.m b/matlab/algorithms/DART/tools/rNMPOptimFunc.m
index 7649d7f..5eb92bf 100644
--- a/matlab/algorithms/DART/tools/rNMPOptimFunc.m
+++ b/matlab/algorithms/DART/tools/rNMPOptimFunc.m
@@ -1,11 +1,11 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2014, iMinds-Vision Lab, University of Antwerp
-% 2014, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
classdef rNMPOptimFunc < handle
diff --git a/matlab/mex/astra_mex_algorithm_c.cpp b/matlab/mex/astra_mex_algorithm_c.cpp
index ec7aa72..a9cd14b 100644
--- a/matlab/mex/astra_mex_algorithm_c.cpp
+++ b/matlab/mex/astra_mex_algorithm_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_algorithm_c.cpp
diff --git a/matlab/mex/astra_mex_algorithm_vc09.vcproj b/matlab/mex/astra_mex_algorithm_vc09.vcproj
deleted file mode 100644
index d5cebc0..0000000
--- a/matlab/mex/astra_mex_algorithm_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_algorithm"
- ProjectGUID="{056BF7A9-294D-487C-8CC3-BE629077CA94}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_algorithm_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_algorithm_vc11.vcxproj b/matlab/mex/astra_mex_algorithm_vc14.vcxproj
index c133e26..05b120f 100644
--- a/matlab/mex/astra_mex_algorithm_vc11.vcxproj
+++ b/matlab/mex/astra_mex_algorithm_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_algorithm</ProjectName>
- <ProjectGuid>{056BF7A9-294D-487C-8CC3-BE629077CA94}</ProjectGuid>
+ <ProjectGuid>{CE5EF874-830C-4C10-8651-CCA2A34ED9E4}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_c.cpp b/matlab/mex/astra_mex_c.cpp
index f499528..d9ff8f3 100644
--- a/matlab/mex/astra_mex_c.cpp
+++ b/matlab/mex/astra_mex_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_c.cpp
diff --git a/matlab/mex/astra_mex_data2d_c.cpp b/matlab/mex/astra_mex_data2d_c.cpp
index 6371c9e..3d3a253 100644
--- a/matlab/mex/astra_mex_data2d_c.cpp
+++ b/matlab/mex/astra_mex_data2d_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_data2d_c.cpp
diff --git a/matlab/mex/astra_mex_data2d_vc09.vcproj b/matlab/mex/astra_mex_data2d_vc09.vcproj
deleted file mode 100644
index 2c8a63f..0000000
--- a/matlab/mex/astra_mex_data2d_vc09.vcproj
+++ /dev/null
@@ -1,628 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_data2d"
- ProjectGUID="{E4092269-B19C-46F7-A84E-4F146CC70E44}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_data2d_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_data2d_vc11.vcxproj b/matlab/mex/astra_mex_data2d_vc14.vcxproj
index 636780a..6c5dccc 100644
--- a/matlab/mex/astra_mex_data2d_vc11.vcxproj
+++ b/matlab/mex/astra_mex_data2d_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_data2d</ProjectName>
- <ProjectGuid>{E4092269-B19C-46F7-A84E-4F146CC70E44}</ProjectGuid>
+ <ProjectGuid>{D2CDCDB3-7AD9-4853-8D87-BDB1DAD9C9C1}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_data3d_c.cpp b/matlab/mex/astra_mex_data3d_c.cpp
index fe4ce37..f0aa3c8 100644
--- a/matlab/mex/astra_mex_data3d_c.cpp
+++ b/matlab/mex/astra_mex_data3d_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_data3d_c.cpp
@@ -61,7 +60,7 @@ using namespace astra;
//-----------------------------------------------------------------------------------------
/**
* id = astra_mex_io_data('create', datatype, geometry, data);
- * datatype: ['-vol','-sino','-sinocone']
+ * datatype: ['-vol','-sino']
*/
void astra_mex_data3d_create(int& nlhs, mxArray* plhs[], int& nrhs, const mxArray* prhs[])
{
@@ -104,7 +103,6 @@ void astra_mex_data3d_create(int& nlhs, mxArray* plhs[], int& nrhs, const mxArra
copyMexToCFloat32Array(data, pDataObject3D->getData(),
pDataObject3D->getSize());
}
- pDataObject3D->updateStatistics();
// step4: store data object
int iIndex = CData3DManager::getSingleton().store(pDataObject3D);
@@ -163,8 +161,6 @@ void astra_mex_data3d_link(int& nlhs, mxArray* plhs[], int& nrhs, const mxArray*
return;
}
- //pDataObject3D->updateStatistics();
-
// step4: store data object
int iIndex = CData3DManager::getSingleton().store(pDataObject3D);
@@ -235,7 +231,6 @@ void astra_mex_data3d_store(int nlhs, mxArray* plhs[], int nrhs, const mxArray*
}
copyMexToCFloat32Array(prhs[2], pDataObject->getData(), pDataObject->getSize());
- pDataObject->updateStatistics();
}
void astra_mex_data3d_dimensions(int nlhs, mxArray* plhs[], int nrhs, const mxArray* prhs[])
diff --git a/matlab/mex/astra_mex_data3d_vc09.vcproj b/matlab/mex/astra_mex_data3d_vc09.vcproj
deleted file mode 100644
index fd861a3..0000000
--- a/matlab/mex/astra_mex_data3d_vc09.vcproj
+++ /dev/null
@@ -1,628 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_data3d"
- ProjectGUID="{0BEC029B-0929-4BF9-BD8B-9C9806A52065}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_data3d_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_data3d_vc11.vcxproj b/matlab/mex/astra_mex_data3d_vc14.vcxproj
index 1c3c620..8a10af7 100644
--- a/matlab/mex/astra_mex_data3d_vc11.vcxproj
+++ b/matlab/mex/astra_mex_data3d_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_data3d</ProjectName>
- <ProjectGuid>{0BEC029B-0929-4BF9-BD8B-9C9806A52065}</ProjectGuid>
+ <ProjectGuid>{2A7084C6-62ED-4235-85F4-094C17689DEB}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_direct_c.cpp b/matlab/mex/astra_mex_direct_c.cpp
index 38b3f59..d92a10c 100644
--- a/matlab/mex/astra_mex_direct_c.cpp
+++ b/matlab/mex/astra_mex_direct_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_direct_c.cpp
diff --git a/matlab/mex/astra_mex_direct_vc09.vcproj b/matlab/mex/astra_mex_direct_vc09.vcproj
deleted file mode 100644
index 5d27c65..0000000
--- a/matlab/mex/astra_mex_direct_vc09.vcproj
+++ /dev/null
@@ -1,628 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_direct"
- ProjectGUID="{85FE09A6-FA49-4314-A2B1-59D77C7442A8}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_direct_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexCopyDataHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexDataManagerHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_direct_vc11.vcxproj b/matlab/mex/astra_mex_direct_vc14.vcxproj
index bc2db62..c17d49b 100644
--- a/matlab/mex/astra_mex_direct_vc11.vcxproj
+++ b/matlab/mex/astra_mex_direct_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_direct</ProjectName>
- <ProjectGuid>{0F68F4E2-BE1B-4A9A-B101-AECF4C069CC7}</ProjectGuid>
+ <ProjectGuid>{47460476-912B-4313-8B10-BDF1D60A84C4}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_file_vc11.vcxproj b/matlab/mex/astra_mex_file_vc11.vcxproj
deleted file mode 100644
index 04925fe..0000000
--- a/matlab/mex/astra_mex_file_vc11.vcxproj
+++ /dev/null
@@ -1,289 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
- <ItemGroup Label="ProjectConfigurations">
- <ProjectConfiguration Include="Debug_CUDA|Win32">
- <Configuration>Debug_CUDA</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug_CUDA|x64">
- <Configuration>Debug_CUDA</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|Win32">
- <Configuration>Debug</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Debug|x64">
- <Configuration>Debug</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_CUDA|Win32">
- <Configuration>Release_CUDA</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release_CUDA|x64">
- <Configuration>Release_CUDA</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|Win32">
- <Configuration>Release</Configuration>
- <Platform>Win32</Platform>
- </ProjectConfiguration>
- <ProjectConfiguration Include="Release|x64">
- <Configuration>Release</Configuration>
- <Platform>x64</Platform>
- </ProjectConfiguration>
- </ItemGroup>
- <PropertyGroup Label="Globals">
- <ProjectName>astra_mex_file</ProjectName>
- <ProjectGuid>{649115B5-795E-4FCB-BFFE-ED3F07288060}</ProjectGuid>
- <RootNamespace>astraMatlab</RootNamespace>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
- <ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
- </PropertyGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
- <ImportGroup Label="ExtensionSettings">
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <ImportGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="PropertySheets">
- <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
- </ImportGroup>
- <PropertyGroup Label="UserMacros" />
- <PropertyGroup>
- <_ProjectFileVersion>11.0.60610.1</_ProjectFileVersion>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- <TargetName>$(ProjectName)_c</TargetName>
- <TargetExt>.mexw64</TargetExt>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <OutDir>$(SolutionDir)bin\$(Platform)\$(Configuration)\</OutDir>
- <IntDir>$(OutDir)obj\$(ProjectName)\</IntDir>
- </PropertyGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Astra32.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw32</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Astra64.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw64</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ASTRA_CUDA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- </ClCompile>
- <Link>
- <AdditionalDependencies>AstraCuda32.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw32</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">
- <ClCompile>
- <Optimization>MaxSpeed</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;$(CUDA_PATH)\include;..\..\lib\include;..\..\lib\include\cuda;..\..\include\;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ASTRA_CUDA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- </ClCompile>
- <Link>
- <AdditionalDependencies>AstraCuda64.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw64</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\x64\Release_CUDA;$(MATLAB_ROOT)\extern\lib\win64\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ASTRA_CUDA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>AstraCuda32D.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw32</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(CUDA_INC_PATH);$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <PreprocessorDefinitions>ASTRA_CUDA;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- <BrowseInformation>true</BrowseInformation>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>AstraCuda64D.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw64</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Astra32D.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw32</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- <GenerateDebugInformation>true</GenerateDebugInformation>
- </Link>
- </ItemDefinitionGroup>
- <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
- <Midl>
- <TargetEnvironment>X64</TargetEnvironment>
- </Midl>
- <ClCompile>
- <Optimization>Disabled</Optimization>
- <AdditionalIncludeDirectories>$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
- <OpenMPSupport>true</OpenMPSupport>
- </ClCompile>
- <Link>
- <AdditionalDependencies>Astra64D.lib;libmex.lib;libmx.lib;%(AdditionalDependencies)</AdditionalDependencies>
- <OutputFile>$(OutDir)$(ProjectName)_c.mexw64</OutputFile>
- <AdditionalLibraryDirectories>..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
- <ModuleDefinitionFile>mex.def</ModuleDefinitionFile>
- <TargetMachine>MachineX64</TargetMachine>
- </Link>
- </ItemDefinitionGroup>
- <ItemGroup>
- <ClCompile Include="astra_mex_file_c.cpp" />
- <ClCompile Include="mexHelpFunctions.cpp" />
- <ClCompile Include="mexCopyDataHelpFunctions.cpp">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">true</ExcludedFromBuild>
- </ClCompile>
- <ClCompile Include="mexDataManagerHelpFunctions.cpp" />
- </ItemGroup>
- <ItemGroup>
- <ClInclude Include="mexHelpFunctions.h" />
- <ClInclude Include="mexCopyDataHelpFunctions.h">
- <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'">true</ExcludedFromBuild>
- </ClInclude>
- <ClInclude Include="mexDataManagerHelpFunctions.h" />
- </ItemGroup>
- <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
-</Project> \ No newline at end of file
diff --git a/matlab/mex/astra_mex_log_c.cpp b/matlab/mex/astra_mex_log_c.cpp
index 905612c..18dc1d4 100644
--- a/matlab/mex/astra_mex_log_c.cpp
+++ b/matlab/mex/astra_mex_log_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_log_c.cpp
diff --git a/matlab/mex/astra_mex_log_vc09.vcproj b/matlab/mex/astra_mex_log_vc09.vcproj
deleted file mode 100644
index 0e0d469..0000000
--- a/matlab/mex/astra_mex_log_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_log"
- ProjectGUID="{CA2840B3-DA68-41B5-AC57-F5DFD20ED8F8}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_log_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_log_vc11.vcxproj b/matlab/mex/astra_mex_log_vc14.vcxproj
index 0a939cf..bb7ccb6 100644
--- a/matlab/mex/astra_mex_log_vc11.vcxproj
+++ b/matlab/mex/astra_mex_log_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_log</ProjectName>
- <ProjectGuid>{03B833F5-4FD6-4FBE-AAF4-E3305CD56D2E}</ProjectGuid>
+ <ProjectGuid>{88539382-66DB-4BBC-A48E-8B6B3CA6064F}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_matrix_c.cpp b/matlab/mex/astra_mex_matrix_c.cpp
index e07ddb6..99a7d0e 100644
--- a/matlab/mex/astra_mex_matrix_c.cpp
+++ b/matlab/mex/astra_mex_matrix_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_matrix_c.cpp
diff --git a/matlab/mex/astra_mex_matrix_vc09.vcproj b/matlab/mex/astra_mex_matrix_vc09.vcproj
deleted file mode 100644
index 3aa17a5..0000000
--- a/matlab/mex/astra_mex_matrix_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_matrix"
- ProjectGUID="{9D041710-2119-4230-BCF2-5FBE753FDE49}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_matrix_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_matrix_vc11.vcxproj b/matlab/mex/astra_mex_matrix_vc14.vcxproj
index abf86a7..389e516 100644
--- a/matlab/mex/astra_mex_matrix_vc11.vcxproj
+++ b/matlab/mex/astra_mex_matrix_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_matrix</ProjectName>
- <ProjectGuid>{9D041710-2119-4230-BCF2-5FBE753FDE49}</ProjectGuid>
+ <ProjectGuid>{6BFA8857-37EB-4E43-A97C-B860E21599F5}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_plugin_c.cpp b/matlab/mex/astra_mex_plugin_c.cpp
index 4ed534e..570e495 100644
--- a/matlab/mex/astra_mex_plugin_c.cpp
+++ b/matlab/mex/astra_mex_plugin_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_plugin_c.cpp
diff --git a/matlab/mex/astra_mex_projector3d_c.cpp b/matlab/mex/astra_mex_projector3d_c.cpp
index e25802c..3135939 100644
--- a/matlab/mex/astra_mex_projector3d_c.cpp
+++ b/matlab/mex/astra_mex_projector3d_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_projector3d_c.cpp
diff --git a/matlab/mex/astra_mex_projector3d_vc09.vcproj b/matlab/mex/astra_mex_projector3d_vc09.vcproj
deleted file mode 100644
index b9464a2..0000000
--- a/matlab/mex/astra_mex_projector3d_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_projector3d"
- ProjectGUID="{F94CCD79-AA11-42DF-AC8A-6C9D2238A883}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_projector3d_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_projector3d_vc11.vcxproj b/matlab/mex/astra_mex_projector3d_vc14.vcxproj
index 42eb0f1..5c56221 100644
--- a/matlab/mex/astra_mex_projector3d_vc11.vcxproj
+++ b/matlab/mex/astra_mex_projector3d_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_projector3d</ProjectName>
- <ProjectGuid>{F94CCD79-AA11-42DF-AC8A-6C9D2238A883}</ProjectGuid>
+ <ProjectGuid>{CA85BDA0-9BDD-495E-B200-BFE863EB6318}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_projector_c.cpp b/matlab/mex/astra_mex_projector_c.cpp
index bf701af..36a5704 100644
--- a/matlab/mex/astra_mex_projector_c.cpp
+++ b/matlab/mex/astra_mex_projector_c.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file astra_mex_projector_c.cpp
diff --git a/matlab/mex/astra_mex_projector_vc09.vcproj b/matlab/mex/astra_mex_projector_vc09.vcproj
deleted file mode 100644
index 05c207f..0000000
--- a/matlab/mex/astra_mex_projector_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex_projector"
- ProjectGUID="{4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_projector_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_projector_vc11.vcxproj b/matlab/mex/astra_mex_projector_vc14.vcxproj
index e944949..332fb4c 100644
--- a/matlab/mex/astra_mex_projector_vc11.vcxproj
+++ b/matlab/mex/astra_mex_projector_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex_projector</ProjectName>
- <ProjectGuid>{4DD6056F-8EEE-4C9A-B2A9-923F01A32E97}</ProjectGuid>
+ <ProjectGuid>{85ECCF1D-C5F6-4E0E-A4F9-0DE7C0B916B2}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/astra_mex_vc09.vcproj b/matlab/mex/astra_mex_vc09.vcproj
deleted file mode 100644
index e4d7d07..0000000
--- a/matlab/mex/astra_mex_vc09.vcproj
+++ /dev/null
@@ -1,612 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="astra_mex"
- ProjectGUID="{3FDA35E0-0D54-4663-A3E6-5ABA96F32221}"
- RootNamespace="astraMatlab"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="0"
- RuntimeLibrary="3"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="true"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;&quot;$(CUDA_INC_PATH)&quot;;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="ASTRA_CUDA;__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- EnableEnhancedInstructionSet="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw32"
- AdditionalLibraryDirectories="..\..\bin\win32;$(MATLAB_ROOT)\extern\lib\win32\microsoft;..\..\lib\win32"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="1"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)bin\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\$(ProjectName)"
- ConfigurationType="2"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="$(MATLAB_ROOT)\extern\include\;..\..\lib\include;..\..\include"
- PreprocessorDefinitions="__SSE2__"
- Optimization="2"
- RuntimeLibrary="2"
- OpenMP="true"
- AdditionalOptions="/MP"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib libmex.lib libmx.lib libut.lib"
- OutputFile="$(OutDir)\$(ProjectName)_c.mexw64"
- AdditionalLibraryDirectories="..\..\bin\x64;$(MATLAB_ROOT)\extern\lib\win64\microsoft;..\..\lib\x64"
- ModuleDefinitionFile="mex.def"
- GenerateDebugInformation="false"
- TargetMachine="17"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <File
- RelativePath=".\astra_mex_c.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexHelpFunctions.h"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.cpp"
- >
- </File>
- <File
- RelativePath=".\mexInitFunctions.h"
- >
- </File>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>
diff --git a/matlab/mex/astra_mex_vc11.vcxproj b/matlab/mex/astra_mex_vc14.vcxproj
index f1324b4..7ca3dbb 100644
--- a/matlab/mex/astra_mex_vc11.vcxproj
+++ b/matlab/mex/astra_mex_vc14.vcxproj
@@ -36,41 +36,41 @@
</ItemGroup>
<PropertyGroup Label="Globals">
<ProjectName>astra_mex</ProjectName>
- <ProjectGuid>{3FDA35E0-0D54-4663-A3E6-5ABA96F32221}</ProjectGuid>
+ <ProjectGuid>{6FDF72C4-A855-4F1C-A401-6500040B5E28}</ProjectGuid>
<RootNamespace>astraMatlab</RootNamespace>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release_CUDA|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
- <PlatformToolset>v110</PlatformToolset>
+ <PlatformToolset>v140</PlatformToolset>
</PropertyGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
<ImportGroup Label="ExtensionSettings">
diff --git a/matlab/mex/mexCopyDataHelpFunctions.cpp b/matlab/mex/mexCopyDataHelpFunctions.cpp
index 4db6abd..74f0538 100644
--- a/matlab/mex/mexCopyDataHelpFunctions.cpp
+++ b/matlab/mex/mexCopyDataHelpFunctions.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,19 +23,16 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "mexCopyDataHelpFunctions.h"
#include "mexHelpFunctions.h"
-#define HAVE_OMP
-
#define ROUND_DOWN(x, s) ((x) & ~((s)-1))
-#ifdef HAVE_OMP
-# include <omp.h>
+#ifdef _OPENMP
+#include <omp.h>
#endif
#if defined(__SSE2__)
diff --git a/matlab/mex/mexCopyDataHelpFunctions.h b/matlab/mex/mexCopyDataHelpFunctions.h
index 0853879..3ba4cb2 100644
--- a/matlab/mex/mexCopyDataHelpFunctions.h
+++ b/matlab/mex/mexCopyDataHelpFunctions.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef MEXCOPYDATAHELPFUNCTIONS_H_
diff --git a/matlab/mex/mexDataManagerHelpFunctions.cpp b/matlab/mex/mexDataManagerHelpFunctions.cpp
index 1794abb..c47ee27 100644
--- a/matlab/mex/mexDataManagerHelpFunctions.cpp
+++ b/matlab/mex/mexDataManagerHelpFunctions.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "mexDataManagerHelpFunctions.h"
@@ -42,10 +41,10 @@ $Id$
#ifdef USE_MATLAB_UNDOCUMENTED
extern "C" {
mxArray *mxCreateSharedDataCopy(const mxArray *pr);
-bool mxUnshareArray(const mxArray *pr, const bool noDeepCopy);
-mxArray *mxUnreference(const mxArray *pr);
+bool mxUnshareArray(mxArray *pr, bool noDeepCopy);
+mxArray *mxUnreference(mxArray *pr);
#if 0
-// Unsupported in Matlab R2014b
+// Unsupported in Matlab R2014b and later
bool mxIsSharedArray(const mxArray *pr);
#endif
}
@@ -66,12 +65,12 @@ public:
// First unshare the input array, so that we may modify it.
if (bUnshare) {
#if 0
- // Unsupported in Matlab R2014b
+ // Unsupported in Matlab R2014b and later
if (mxIsSharedArray(_pArray)) {
fprintf(stderr, "Performance note: unsharing shared array in link\n");
}
#endif
- mxUnshareArray(_pArray, false);
+ mxUnshareArray(const_cast<mxArray*>(_pArray), false);
//fprintf(stderr, "Unshared:\narray: %p\tdata: %p\n", (void*)_pArray, (void*)mxGetData(_pArray));
}
// Then create a (persistent) copy so the data won't be deleted
@@ -79,7 +78,7 @@ public:
m_pLink = mxCreateSharedDataCopy(_pArray);
//fprintf(stderr, "SharedDataCopy:\narray: %p\tdata: %p\n", (void*)m_pLink, (void*)mxGetData(m_pLink));
mexMakeArrayPersistent(m_pLink);
- m_fPtr = (float *)mxGetData(m_pLink);
+ m_fPtr = (float *)mxGetData(_pArray);
m_fPtr += iOffset;
}
virtual ~CFloat32CustomMemoryMatlab3D() {
@@ -167,17 +166,6 @@ checkDataSize(const mxArray * const mArray,
//-----------------------------------------------------------------------------------------
void
-updateStatistics(const std::vector<astra::CFloat32Data3DMemory *> & vecIn)
-{
- const size_t tot_size = vecIn.size();
- for (size_t count = 0; count < tot_size; count++)
- {
- vecIn[count]->updateStatistics();
- }
-}
-
-//-----------------------------------------------------------------------------------------
-void
getDataPointers(const std::vector<astra::CFloat32Data3DMemory *> & vecIn,
std::vector<astra::float32 *> & vecOut)
{
diff --git a/matlab/mex/mexDataManagerHelpFunctions.h b/matlab/mex/mexDataManagerHelpFunctions.h
index 0614e05..b7edb0f 100644
--- a/matlab/mex/mexDataManagerHelpFunctions.h
+++ b/matlab/mex/mexDataManagerHelpFunctions.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef MEXDATAMANAGERHELPFUNCTIONS_H_
@@ -51,8 +50,6 @@ bool checkDataSize(const mxArray * const, const astra::CProjectionGeometry3D * c
bool checkDataSize(const mxArray * const, const astra::CVolumeGeometry3D * const,
const mwIndex & zOffset);
-void updateStatistics(const std::vector<astra::CFloat32Data3DMemory *> &);
-
void getDataPointers(const std::vector<astra::CFloat32Data3DMemory *> &,
std::vector<astra::float32 *> &);
void getDataSizes(const std::vector<astra::CFloat32Data3DMemory *> &,
diff --git a/matlab/mex/mexHelpFunctions.cpp b/matlab/mex/mexHelpFunctions.cpp
index d957aea..7cab248 100644
--- a/matlab/mex/mexHelpFunctions.cpp
+++ b/matlab/mex/mexHelpFunctions.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
/** \file mexHelpFunctions.cpp
@@ -361,18 +360,18 @@ mxArray* stringToMxArray(std::string input)
StringUtil::splitString(col_strings, row_strings[0], ",");
// get dimensions
- int rows = row_strings.size();
- int cols = col_strings.size();
+ size_t rows = row_strings.size();
+ size_t cols = col_strings.size();
// init matrix
mxArray* pMatrix = mxCreateDoubleMatrix(rows, cols, mxREAL);
double* out = mxGetPr(pMatrix);
// loop elements
- for (unsigned int row = 0; row < rows; row++) {
+ for (size_t row = 0; row < rows; row++) {
StringUtil::splitString(col_strings, row_strings[row], ",");
// check size
- for (unsigned int col = 0; col < col_strings.size(); col++) {
+ for (size_t col = 0; col < col_strings.size(); col++) {
out[col*rows + row] = StringUtil::stringToFloat(col_strings[col]);
}
}
@@ -391,7 +390,7 @@ mxArray* stringToMxArray(std::string input)
double* out = mxGetPr(pVector);
// loop elements
- for (unsigned int i = 0; i < items.size(); i++) {
+ for (size_t i = 0; i < items.size(); i++) {
out[i] = StringUtil::stringToFloat(items[i]);
}
return pVector;
diff --git a/matlab/mex/mexHelpFunctions.h b/matlab/mex/mexHelpFunctions.h
index 07edc64..37ca894 100644
--- a/matlab/mex/mexHelpFunctions.h
+++ b/matlab/mex/mexHelpFunctions.h
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _INC_ASTRA_MEX_HELPFUNCTIONS
@@ -47,7 +46,7 @@ $Id$
#include "astra/XMLNode.h"
// utility functions
-string mexToString(const mxArray* pInput);
+std::string mexToString(const mxArray* pInput);
bool mexIsScalar(const mxArray* pInput);
void get3DMatrixDims(const mxArray* x, mwSize *dims);
@@ -56,7 +55,7 @@ mxArray* vectorToMxArray(std::vector<astra::float32> mInput);
mxArray* anyToMxArray(boost::any _any);
// turn a MATLAB struct into a Config object
-astra::Config* structToConfig(string rootname, const mxArray* pStruct);
+astra::Config* structToConfig(std::string rootname, const mxArray* pStruct);
bool structToXMLNode(astra::XMLNode node, const mxArray* pStruct);
bool optionsToXMLNode(astra::XMLNode node, const mxArray* pOptionStruct);
std::map<std::string, mxArray*> parseStruct(const mxArray* pInput);
diff --git a/matlab/mex/mexInitFunctions.h b/matlab/mex/mexInitFunctions.h
index f16e9c9..0415fb1 100644
--- a/matlab/mex/mexInitFunctions.h
+++ b/matlab/mex/mexInitFunctions.h
@@ -3,4 +3,4 @@
void initASTRAMex();
-#endif \ No newline at end of file
+#endif
diff --git a/matlab/mex/octave_support.cpp b/matlab/mex/octave_support.cpp
new file mode 100644
index 0000000..79556ee
--- /dev/null
+++ b/matlab/mex/octave_support.cpp
@@ -0,0 +1,44 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+*/
+
+#include <oct.h>
+
+extern "C" {
+
+bool utIsInterruptPending() {
+ return octave_signal_caught;
+}
+
+mxArray *mxCreateSharedDataCopy(const mxArray *) {
+ return 0;
+}
+
+bool mxUnshareArray(mxArray *, bool) {
+ return false;
+}
+
+}
diff --git a/matlab/tools/ROIselectfull.m b/matlab/tools/ROIselectfull.m
index a50c979..cc1eaa0 100644
--- a/matlab/tools/ROIselectfull.m
+++ b/matlab/tools/ROIselectfull.m
@@ -15,4 +15,4 @@ end
function A = Afstand(x1,y1,x2,y2)
A = sqrt((x1-x2).^2+(y1-y2).^2);
-end \ No newline at end of file
+end
diff --git a/matlab/tools/astra_add_noise_to_sino.m b/matlab/tools/astra_add_noise_to_sino.m
index 6ad9b50..c938507 100644
--- a/matlab/tools/astra_add_noise_to_sino.m
+++ b/matlab/tools/astra_add_noise_to_sino.m
@@ -15,13 +15,12 @@ function sinogram_out = astra_add_noise_to_sino(sinogram_in,I0)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
if numel(sinogram_in) == 1
sinogramRaw = astra_mex_data2d('get', sinogram_in);
diff --git a/matlab/tools/astra_clear.m b/matlab/tools/astra_clear.m
index 0dd180b..14f8e77 100644
--- a/matlab/tools/astra_clear.m
+++ b/matlab/tools/astra_clear.m
@@ -5,13 +5,12 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
astra_mex_data2d('clear');
astra_mex_data3d('clear');
diff --git a/matlab/tools/astra_create_backprojection.m b/matlab/tools/astra_create_backprojection.m
index dff51c6..263a684 100644
--- a/matlab/tools/astra_create_backprojection.m
+++ b/matlab/tools/astra_create_backprojection.m
@@ -13,13 +13,12 @@ function [vol_id, vol] = astra_create_backprojection(data, proj_id)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% get projection geometry
diff --git a/matlab/tools/astra_create_backprojection3d_cuda.m b/matlab/tools/astra_create_backprojection3d_cuda.m
index 88b4b4a..b060b39 100644
--- a/matlab/tools/astra_create_backprojection3d_cuda.m
+++ b/matlab/tools/astra_create_backprojection3d_cuda.m
@@ -15,13 +15,12 @@ function [vol_id, vol] = astra_create_backprojection3d_cuda(data, proj_geom, vol
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% store projection data
diff --git a/matlab/tools/astra_create_backprojection_cuda.m b/matlab/tools/astra_create_backprojection_cuda.m
index 7f8a6a6..04ea61b 100644
--- a/matlab/tools/astra_create_backprojection_cuda.m
+++ b/matlab/tools/astra_create_backprojection_cuda.m
@@ -14,13 +14,12 @@ function backProj = astra_create_backprojection_cuda(sinogramData, proj_geom, vo
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
- % Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- % 2014-2015, CWI, Amsterdam
+ % Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ % 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
- % Website: http://sf.net/projects/astra-toolbox
+ % Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
- % $Id$
recon_id = astra_mex_data2d('create', '-vol', vol_geom, 0);
sinogram_id = astra_mex_data2d('create', '-sino', proj_geom, sinogramData);
diff --git a/matlab/tools/astra_create_proj_geom.m b/matlab/tools/astra_create_proj_geom.m
index ff7d74d..01c9177 100644
--- a/matlab/tools/astra_create_proj_geom.m
+++ b/matlab/tools/astra_create_proj_geom.m
@@ -87,13 +87,12 @@ function proj_geom = astra_create_proj_geom(type, varargin)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
if strcmp(type,'parallel')
diff --git a/matlab/tools/astra_create_projector.m b/matlab/tools/astra_create_projector.m
index 9bbef9e..e0adac7 100644
--- a/matlab/tools/astra_create_projector.m
+++ b/matlab/tools/astra_create_projector.m
@@ -15,13 +15,12 @@ function proj_id = astra_create_projector(type, proj_geom, vol_geom, options)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -------------------------------------------------------------------------
-% $Id$
cfg_proj = astra_struct(type);
diff --git a/matlab/tools/astra_create_reconstruction.m b/matlab/tools/astra_create_reconstruction.m
index 76dba94..3362768 100644
--- a/matlab/tools/astra_create_reconstruction.m
+++ b/matlab/tools/astra_create_reconstruction.m
@@ -21,13 +21,12 @@ function [recon_id, recon] = astra_create_reconstruction(rec_type, proj_id, sino
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
if nargin <= 4
diff --git a/matlab/tools/astra_create_reconstruction_cuda.m b/matlab/tools/astra_create_reconstruction_cuda.m
index 7d0421c..ddcc5ee 100644
--- a/matlab/tools/astra_create_reconstruction_cuda.m
+++ b/matlab/tools/astra_create_reconstruction_cuda.m
@@ -22,13 +22,12 @@ function [recon_id, recon] = astra_create_reconstruction_cuda(rec_type, proj_geo
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
if numel(sinogram) == 1
diff --git a/matlab/tools/astra_create_sino.m b/matlab/tools/astra_create_sino.m
index d27e452..977664b 100644
--- a/matlab/tools/astra_create_sino.m
+++ b/matlab/tools/astra_create_sino.m
@@ -13,13 +13,12 @@ function [sino_id, sino] = astra_create_sino(data, proj_id)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% get projection geometry
diff --git a/matlab/tools/astra_create_sino3d_cuda.m b/matlab/tools/astra_create_sino3d_cuda.m
index 3a90084..34c82b4 100644
--- a/matlab/tools/astra_create_sino3d_cuda.m
+++ b/matlab/tools/astra_create_sino3d_cuda.m
@@ -15,13 +15,12 @@ function [sino_id, sino] = astra_create_sino3d_cuda(data, proj_geom, vol_geom)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% store volume
diff --git a/matlab/tools/astra_create_sino_cuda.m b/matlab/tools/astra_create_sino_cuda.m
index 64ebe54..2dfb82f 100644
--- a/matlab/tools/astra_create_sino_cuda.m
+++ b/matlab/tools/astra_create_sino_cuda.m
@@ -16,13 +16,12 @@ function [sino_id, sino] = astra_create_sino_cuda(data, proj_geom, vol_geom, gpu
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% store volume
diff --git a/matlab/tools/astra_create_sino_gpu.m b/matlab/tools/astra_create_sino_gpu.m
index 80be857..ca651ee 100644
--- a/matlab/tools/astra_create_sino_gpu.m
+++ b/matlab/tools/astra_create_sino_gpu.m
@@ -16,13 +16,12 @@ function [sino_id, sino] = astra_create_sino_gpu(data, proj_geom, vol_geom, gpu_
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% store volume
diff --git a/matlab/tools/astra_create_sino_sampling.m b/matlab/tools/astra_create_sino_sampling.m
index fad9e85..27c6d46 100644
--- a/matlab/tools/astra_create_sino_sampling.m
+++ b/matlab/tools/astra_create_sino_sampling.m
@@ -16,13 +16,12 @@ function [sino_id, sino] = astra_create_sino_sampling(data, proj_geom, vol_geom,
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% store volume
diff --git a/matlab/tools/astra_create_vol_geom.m b/matlab/tools/astra_create_vol_geom.m
index a3ba7de..bf24609 100644
--- a/matlab/tools/astra_create_vol_geom.m
+++ b/matlab/tools/astra_create_vol_geom.m
@@ -26,13 +26,12 @@ function vol_geom = astra_create_vol_geom(varargin)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
% astra_create_vol_geom([row_and_col_count ])
if numel(varargin) == 1 && numel(varargin{1}) == 1
diff --git a/matlab/tools/astra_data_op.m b/matlab/tools/astra_data_op.m
index b6ef0e2..5025ac5 100644
--- a/matlab/tools/astra_data_op.m
+++ b/matlab/tools/astra_data_op.m
@@ -8,4 +8,4 @@ cfg.option.GPUindex = gpu_core;
alg_id = astra_mex_algorithm('create',cfg);
astra_mex_algorithm('run',alg_id);
-astra_mex_algorithm('delete',alg_id); \ No newline at end of file
+astra_mex_algorithm('delete',alg_id);
diff --git a/matlab/tools/astra_data_op_mask.m b/matlab/tools/astra_data_op_mask.m
index d46c925..4e4e326 100644
--- a/matlab/tools/astra_data_op_mask.m
+++ b/matlab/tools/astra_data_op_mask.m
@@ -9,4 +9,4 @@ cfg.option.MaskId = mask;
alg_id = astra_mex_algorithm('create',cfg);
astra_mex_algorithm('run',alg_id);
-astra_mex_algorithm('delete',alg_id); \ No newline at end of file
+astra_mex_algorithm('delete',alg_id);
diff --git a/matlab/tools/astra_downsample_sinogram.m b/matlab/tools/astra_downsample_sinogram.m
index 1232a93..ac50abd 100644
--- a/matlab/tools/astra_downsample_sinogram.m
+++ b/matlab/tools/astra_downsample_sinogram.m
@@ -15,13 +15,12 @@ function [sinogram_new, proj_geom_new] = astra_downsample_sinogram(sinogram, pro
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if mod(size(sinogram,2),factor) ~= 0
disp('size of the sinogram must be a divisor of the factor');
diff --git a/matlab/tools/astra_imshow.m b/matlab/tools/astra_imshow.m
index 6069674..dbaac10 100644
--- a/matlab/tools/astra_imshow.m
+++ b/matlab/tools/astra_imshow.m
@@ -7,4 +7,4 @@ imshow(data,range);
if nargout >= 1
V = data;
-end \ No newline at end of file
+end
diff --git a/matlab/tools/astra_mex.m b/matlab/tools/astra_mex.m
index 9d6b2c7..aa6c3ea 100644
--- a/matlab/tools/astra_mex.m
+++ b/matlab/tools/astra_mex.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_algorithm.m b/matlab/tools/astra_mex_algorithm.m
index 0a42c8e..69e9c31 100644
--- a/matlab/tools/astra_mex_algorithm.m
+++ b/matlab/tools/astra_mex_algorithm.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_algorithm(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_algorithm_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_data2d.m b/matlab/tools/astra_mex_data2d.m
index fbc4c6b..6bdcb98 100644
--- a/matlab/tools/astra_mex_data2d.m
+++ b/matlab/tools/astra_mex_data2d.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_data2d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_data2d_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_data3d.m b/matlab/tools/astra_mex_data3d.m
index 1926774..44a02e9 100644
--- a/matlab/tools/astra_mex_data3d.m
+++ b/matlab/tools/astra_mex_data3d.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_data3d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_data3d_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_direct.m b/matlab/tools/astra_mex_direct.m
index 58c4fd2..ded3e9a 100644
--- a/matlab/tools/astra_mex_direct.m
+++ b/matlab/tools/astra_mex_direct.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_direct(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_direct_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_log.m b/matlab/tools/astra_mex_log.m
index 28cfa18..7c88145 100644
--- a/matlab/tools/astra_mex_log.m
+++ b/matlab/tools/astra_mex_log.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_log(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if size(varargin,2)==2 && (strcmp(varargin{1},'debug') || strcmp(varargin{1},'info') || strcmp(varargin{1},'warn') || strcmp(varargin{1},'error'))
d = dbstack(1);
if size(d,1)==0
@@ -30,4 +29,4 @@ else
varargout = cell(1,nargout);
[varargout{:}] = astra_mex_log_c(varargin{:});
end
-end \ No newline at end of file
+end
diff --git a/matlab/tools/astra_mex_matrix.m b/matlab/tools/astra_mex_matrix.m
index 2bc8210..eabbd4f 100644
--- a/matlab/tools/astra_mex_matrix.m
+++ b/matlab/tools/astra_mex_matrix.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_matrix(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_matrix_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_plugin.m b/matlab/tools/astra_mex_plugin.m
index 4159365..b5249dd 100644
--- a/matlab/tools/astra_mex_plugin.m
+++ b/matlab/tools/astra_mex_plugin.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_plugin(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_plugin_c(varargin{:});
if exist('ans','var')
@@ -21,4 +20,4 @@ if nargout == 0
else
varargout = cell(1,nargout);
[varargout{:}] = astra_mex_plugin_c(varargin{:});
-end \ No newline at end of file
+end
diff --git a/matlab/tools/astra_mex_projector.m b/matlab/tools/astra_mex_projector.m
index 5eaffd3..0d6829e 100644
--- a/matlab/tools/astra_mex_projector.m
+++ b/matlab/tools/astra_mex_projector.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_projector(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_projector_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_mex_projector3d.m b/matlab/tools/astra_mex_projector3d.m
index eaec7f2..f0deffb 100644
--- a/matlab/tools/astra_mex_projector3d.m
+++ b/matlab/tools/astra_mex_projector3d.m
@@ -6,13 +6,12 @@ function [varargout] = astra_mex_projector3d(varargin)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
if nargout == 0
astra_mex_projector3d_c(varargin{:});
if exist('ans','var')
diff --git a/matlab/tools/astra_projector_handle.m b/matlab/tools/astra_projector_handle.m
index 6b56300..ae1254a 100644
--- a/matlab/tools/astra_projector_handle.m
+++ b/matlab/tools/astra_projector_handle.m
@@ -5,11 +5,11 @@ classdef astra_projector_handle < handle
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
- % Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- % 2014-2015, CWI, Amsterdam
+ % Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ % 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
- % Website: http://sf.net/projects/astra-toolbox
+ % Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
properties
diff --git a/matlab/tools/astra_set_directory.m b/matlab/tools/astra_set_directory.m
index ae21aab..3a85f54 100644
--- a/matlab/tools/astra_set_directory.m
+++ b/matlab/tools/astra_set_directory.m
@@ -11,13 +11,12 @@ function in = astra_set_directory(in)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
a = find(in == '/' | in == '\');
for i = 1:numel(a)
diff --git a/matlab/tools/astra_set_gpu_index.m b/matlab/tools/astra_set_gpu_index.m
index 1f5bfdc..e9c9c45 100644
--- a/matlab/tools/astra_set_gpu_index.m
+++ b/matlab/tools/astra_set_gpu_index.m
@@ -6,13 +6,12 @@ function astra_set_gpu_index(index)
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
astra_mex('set_gpu_index', index);
diff --git a/matlab/tools/astra_struct.m b/matlab/tools/astra_struct.m
index b5bf48a..33f0a39 100644
--- a/matlab/tools/astra_struct.m
+++ b/matlab/tools/astra_struct.m
@@ -11,13 +11,12 @@ function res = astra_struct(type)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
res = struct();
res.options = struct();
diff --git a/matlab/tools/createOrderART.m b/matlab/tools/createOrderART.m
index b058ba5..5f1d73b 100644
--- a/matlab/tools/createOrderART.m
+++ b/matlab/tools/createOrderART.m
@@ -16,13 +16,12 @@ function rayOrder = createOrderART(proj_geom, mode)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
angle_count = length(proj_geom.projection_angles);
det_count = proj_geom.detector_count;
diff --git a/matlab/tools/downsample_sinogram.m b/matlab/tools/downsample_sinogram.m
index 1fb4ec8..a4122e8 100644
--- a/matlab/tools/downsample_sinogram.m
+++ b/matlab/tools/downsample_sinogram.m
@@ -9,4 +9,4 @@ function sinogram_out = downsample_sinogram(sinogram, ds)
for i = 2:ds
sinogram_out = sinogram_out + sinogram(:,i:ds:end,:);
end
- sinogram_out = sinogram_out / (ds*ds); \ No newline at end of file
+ sinogram_out = sinogram_out / (ds*ds);
diff --git a/matlab/tools/imreadgs.m b/matlab/tools/imreadgs.m
index 2920008..34ae9c9 100644
--- a/matlab/tools/imreadgs.m
+++ b/matlab/tools/imreadgs.m
@@ -12,13 +12,12 @@ function Im = imreadgs(filename)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
Im = double(imread(filename));
if size(Im,3) > 1
diff --git a/matlab/tools/imresize3D.m b/matlab/tools/imresize3D.m
index af6a810..21dc8cd 100644
--- a/matlab/tools/imresize3D.m
+++ b/matlab/tools/imresize3D.m
@@ -12,13 +12,12 @@ function out = imresize3D(in, s_out, method)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
out = zeros(s_out);
for i = 1:size(in,3)
diff --git a/matlab/tools/imscale.m b/matlab/tools/imscale.m
index 4a40e50..99b9f97 100644
--- a/matlab/tools/imscale.m
+++ b/matlab/tools/imscale.m
@@ -11,13 +11,12 @@ function out = imscale(in)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
mi = min(in(:));
ma = max(in(:));
diff --git a/matlab/tools/imwritesc.m b/matlab/tools/imwritesc.m
index 4b28a09..3963e75 100644
--- a/matlab/tools/imwritesc.m
+++ b/matlab/tools/imwritesc.m
@@ -11,12 +11,11 @@ function imwritesc(in, filename)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
imwrite(imscale(in),filename);
diff --git a/matlab/tools/kaiserBessel.m b/matlab/tools/kaiserBessel.m
index 14b9097..9eb892a 100644
--- a/matlab/tools/kaiserBessel.m
+++ b/matlab/tools/kaiserBessel.m
@@ -14,13 +14,12 @@ function res = kaiserBessel(m,alpha,a,r)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
sq = sqrt(1 - (r./a).^2);
diff --git a/matlab/tools/linspace2.m b/matlab/tools/linspace2.m
index 027e4f4..755c918 100644
--- a/matlab/tools/linspace2.m
+++ b/matlab/tools/linspace2.m
@@ -13,13 +13,12 @@ function out = linspace2(a,b,c)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
out = linspace(a,b,c+1);
out = out(1:end-1);
diff --git a/matlab/tools/opTomo.m b/matlab/tools/opTomo.m
index 04b3634..81de534 100644
--- a/matlab/tools/opTomo.m
+++ b/matlab/tools/opTomo.m
@@ -23,13 +23,12 @@
%--------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2014-2015, CWI, Amsterdam
+% Copyright: 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Author: Folkert Bleichrodt
% Contact: F.Bleichrodt@cwi.nl
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%--------------------------------------------------------------------------
-% $Id$
classdef opTomo < opSpot
diff --git a/matlab/tools/overlayImage.m b/matlab/tools/overlayImage.m
index 6b6361e..0ba2c63 100644
--- a/matlab/tools/overlayImage.m
+++ b/matlab/tools/overlayImage.m
@@ -11,13 +11,12 @@ function im = overlayImage(reconstruction, ground_truth)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
im(:,:,1) = reconstruction ./ max(reconstruction(:));
im(:,:,2) = ground_truth ./ max(ground_truth(:));
diff --git a/matlab/tools/rebin_fan2par.m b/matlab/tools/rebin_fan2par.m
index f30c8d5..b05ab82 100644
--- a/matlab/tools/rebin_fan2par.m
+++ b/matlab/tools/rebin_fan2par.m
@@ -19,13 +19,12 @@ function F = rebin_fan2par(RadonData, BetaDeg, D, thetaDeg)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
NpixPProj = size(RadonData,1); % aantal pixels per projectie
%if mod(size(Radondata,1),2)==0
diff --git a/matlab/tools/sliceExtractor.m b/matlab/tools/sliceExtractor.m
index c73f313..c4e0459 100644
--- a/matlab/tools/sliceExtractor.m
+++ b/matlab/tools/sliceExtractor.m
@@ -13,13 +13,12 @@ function slice = sliceExtractor(data, dir, slicenr)
%------------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
%------------------------------------------------------------------------
-% $Id$
slicenr = round(slicenr);
diff --git a/python/astra/PyAlgorithmFactory.pxd b/python/astra/PyAlgorithmFactory.pxd
index 256d7b2..5e335e4 100644
--- a/python/astra/PyAlgorithmFactory.pxd
+++ b/python/astra/PyAlgorithmFactory.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from libcpp cimport bool
from .PyIncludes cimport *
diff --git a/python/astra/PyAlgorithmManager.pxd b/python/astra/PyAlgorithmManager.pxd
index a99a807..dfc7961 100644
--- a/python/astra/PyAlgorithmManager.pxd
+++ b/python/astra/PyAlgorithmManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# --------------------------------------------------------------------
+
from libcpp.string cimport string
from libcpp cimport bool
from .PyIncludes cimport *
diff --git a/python/astra/PyData2DManager.pxd b/python/astra/PyData2DManager.pxd
index db8ec84..7cf60c7 100644
--- a/python/astra/PyData2DManager.pxd
+++ b/python/astra/PyData2DManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from .PyIncludes cimport *
diff --git a/python/astra/PyData3DManager.pxd b/python/astra/PyData3DManager.pxd
index 9264a82..250147e 100644
--- a/python/astra/PyData3DManager.pxd
+++ b/python/astra/PyData3DManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from .PyIncludes cimport *
diff --git a/python/astra/PyIncludes.pxd b/python/astra/PyIncludes.pxd
index 61425c9..1c7973a 100644
--- a/python/astra/PyIncludes.pxd
+++ b/python/astra/PyIncludes.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp cimport bool
from libcpp.string cimport string
from .PyXMLDocument cimport XMLNode
@@ -30,246 +30,266 @@ from .PyXMLDocument cimport XMLNode
include "config.pxi"
cdef extern from "astra/Globals.h" namespace "astra":
- ctypedef float float32
- ctypedef double float64
- ctypedef unsigned short int uint16
- ctypedef signed short int sint16
- ctypedef unsigned char uchar8
- ctypedef signed char schar8
- ctypedef int int32
- ctypedef short int int16
+ ctypedef float float32
+ ctypedef double float64
+ ctypedef unsigned short int uint16
+ ctypedef signed short int sint16
+ ctypedef unsigned char uchar8
+ ctypedef signed char schar8
+ ctypedef int int32
+ ctypedef short int int16
cdef extern from "astra/Config.h" namespace "astra":
- cdef cppclass Config:
- Config()
- void initialize(string rootname)
- XMLNode self
+ cdef cppclass Config:
+ Config()
+ void initialize(string rootname)
+ XMLNode self
cdef extern from "astra/VolumeGeometry2D.h" namespace "astra":
- cdef cppclass CVolumeGeometry2D:
- bool initialize(Config)
- int getGridColCount()
- int getGridRowCount()
- int getGridTotCount()
- float32 getWindowLengthX()
- float32 getWindowLengthY()
- float32 getWindowArea()
- float32 getPixelLengthX()
- float32 getPixelLengthY()
- float32 getPixelArea()
- float32 getWindowMinX()
- float32 getWindowMinY()
- float32 getWindowMaxX()
- float32 getWindowMaxY()
- Config* getConfiguration()
- bool isEqual(CVolumeGeometry2D*)
+ cdef cppclass CVolumeGeometry2D:
+ bool initialize(Config)
+ int getGridColCount()
+ int getGridRowCount()
+ int getGridTotCount()
+ float32 getWindowLengthX()
+ float32 getWindowLengthY()
+ float32 getWindowArea()
+ float32 getPixelLengthX()
+ float32 getPixelLengthY()
+ float32 getPixelArea()
+ float32 getWindowMinX()
+ float32 getWindowMinY()
+ float32 getWindowMaxX()
+ float32 getWindowMaxY()
+ Config* getConfiguration()
+ bool isEqual(CVolumeGeometry2D*)
cdef extern from "astra/Float32Data2D.h" namespace "astra":
- cdef cppclass CFloat32CustomMemory:
- pass
+ cdef cppclass CFloat32CustomMemory:
+ pass
cdef extern from "astra/Float32VolumeData2D.h" namespace "astra":
- cdef cppclass CFloat32VolumeData2D:
- CFloat32VolumeData2D(CVolumeGeometry2D*)
- CFloat32VolumeData2D(CVolumeGeometry2D*, CFloat32CustomMemory*)
- CVolumeGeometry2D * getGeometry()
- int getWidth()
- int getHeight()
- void changeGeometry(CVolumeGeometry2D*)
- Config* getConfiguration()
+ cdef cppclass CFloat32VolumeData2D:
+ CFloat32VolumeData2D(CVolumeGeometry2D*)
+ CFloat32VolumeData2D(CVolumeGeometry2D*, CFloat32CustomMemory*)
+ CVolumeGeometry2D * getGeometry()
+ int getWidth()
+ int getHeight()
+ void changeGeometry(CVolumeGeometry2D*)
+ Config* getConfiguration()
cdef extern from "astra/ProjectionGeometry2D.h" namespace "astra":
- cdef cppclass CProjectionGeometry2D:
- CProjectionGeometry2D()
- bool initialize(Config)
- int getDetectorCount()
- int getProjectionAngleCount()
- bool isOfType(string)
- float32 getProjectionAngle(int)
- float32 getDetectorWidth()
- Config* getConfiguration()
- bool isEqual(CProjectionGeometry2D*)
+ cdef cppclass CProjectionGeometry2D:
+ CProjectionGeometry2D()
+ bool initialize(Config)
+ int getDetectorCount()
+ int getProjectionAngleCount()
+ bool isOfType(string)
+ float32 getProjectionAngle(int)
+ float32 getDetectorWidth()
+ Config* getConfiguration()
+ bool isEqual(CProjectionGeometry2D*)
cdef extern from "astra/Float32Data2D.h" namespace "astra::CFloat32Data2D":
- cdef enum TWOEDataType "astra::CFloat32Data2D::EDataType":
- TWOPROJECTION "astra::CFloat32Data2D::PROJECTION"
- TWOVOLUME "astra::CFloat32Data2D::VOLUME"
+ cdef enum TWOEDataType "astra::CFloat32Data2D::EDataType":
+ TWOPROJECTION "astra::CFloat32Data2D::PROJECTION"
+ TWOVOLUME "astra::CFloat32Data2D::VOLUME"
cdef extern from "astra/Float32Data3D.h" namespace "astra::CFloat32Data3D":
- cdef enum THREEEDataType "astra::CFloat32Data3D::EDataType":
- THREEPROJECTION "astra::CFloat32Data3D::PROJECTION"
- THREEVOLUME "astra::CFloat32Data3D::VOLUME"
+ cdef enum THREEEDataType "astra::CFloat32Data3D::EDataType":
+ THREEPROJECTION "astra::CFloat32Data3D::PROJECTION"
+ THREEVOLUME "astra::CFloat32Data3D::VOLUME"
cdef extern from "astra/Float32Data2D.h" namespace "astra":
- cdef cppclass CFloat32Data2D:
- bool isInitialized()
- int getSize()
- float32 *getData()
- float32 **getData2D()
- int getWidth()
- int getHeight()
- TWOEDataType getType()
+ cdef cppclass CFloat32Data2D:
+ bool isInitialized()
+ int getSize()
+ float32 *getData()
+ float32 **getData2D()
+ int getWidth()
+ int getHeight()
+ TWOEDataType getType()
cdef extern from "astra/SparseMatrixProjectionGeometry2D.h" namespace "astra":
- cdef cppclass CSparseMatrixProjectionGeometry2D:
- CSparseMatrixProjectionGeometry2D()
+ cdef cppclass CSparseMatrixProjectionGeometry2D:
+ CSparseMatrixProjectionGeometry2D()
cdef extern from "astra/FanFlatProjectionGeometry2D.h" namespace "astra":
- cdef cppclass CFanFlatProjectionGeometry2D:
- CFanFlatProjectionGeometry2D()
+ cdef cppclass CFanFlatProjectionGeometry2D:
+ CFanFlatProjectionGeometry2D()
cdef extern from "astra/FanFlatVecProjectionGeometry2D.h" namespace "astra":
- cdef cppclass CFanFlatVecProjectionGeometry2D:
- CFanFlatVecProjectionGeometry2D()
+ cdef cppclass CFanFlatVecProjectionGeometry2D:
+ CFanFlatVecProjectionGeometry2D()
cdef extern from "astra/ParallelVecProjectionGeometry2D.h" namespace "astra":
cdef cppclass CParallelVecProjectionGeometry2D:
CParallelVecProjectionGeometry2D()
cdef extern from "astra/ParallelProjectionGeometry2D.h" namespace "astra":
- cdef cppclass CParallelProjectionGeometry2D:
- CParallelProjectionGeometry2D()
+ cdef cppclass CParallelProjectionGeometry2D:
+ CParallelProjectionGeometry2D()
cdef extern from "astra/Float32ProjectionData2D.h" namespace "astra":
- cdef cppclass CFloat32ProjectionData2D:
- CFloat32ProjectionData2D(CProjectionGeometry2D*)
- CFloat32ProjectionData2D(CProjectionGeometry2D*, CFloat32CustomMemory*)
- CProjectionGeometry2D * getGeometry()
- void changeGeometry(CProjectionGeometry2D*)
- int getDetectorCount()
- int getAngleCount()
+ cdef cppclass CFloat32ProjectionData2D:
+ CFloat32ProjectionData2D(CProjectionGeometry2D*)
+ CFloat32ProjectionData2D(CProjectionGeometry2D*, CFloat32CustomMemory*)
+ CProjectionGeometry2D * getGeometry()
+ void changeGeometry(CProjectionGeometry2D*)
+ int getDetectorCount()
+ int getAngleCount()
cdef extern from "astra/Algorithm.h" namespace "astra":
- cdef cppclass CAlgorithm:
- bool initialize(Config)
- void run(int) nogil
- bool isInitialized()
+ cdef cppclass CAlgorithm:
+ bool initialize(Config)
+ void run(int) nogil
+ bool isInitialized()
cdef extern from "astra/ReconstructionAlgorithm2D.h" namespace "astra":
- cdef cppclass CReconstructionAlgorithm2D:
- bool getResidualNorm(float32&)
+ cdef cppclass CReconstructionAlgorithm2D:
+ bool getResidualNorm(float32&)
cdef extern from "astra/Projector2D.h" namespace "astra":
- cdef cppclass CProjector2D:
- bool isInitialized()
- CProjectionGeometry2D* getProjectionGeometry()
- CVolumeGeometry2D* getVolumeGeometry()
- CSparseMatrix* getMatrix()
+ cdef cppclass CProjector2D:
+ bool isInitialized()
+ CProjectionGeometry2D* getProjectionGeometry()
+ CVolumeGeometry2D* getVolumeGeometry()
+ CSparseMatrix* getMatrix()
cdef extern from "astra/Projector3D.h" namespace "astra":
- cdef cppclass CProjector3D:
- bool isInitialized()
- CProjectionGeometry3D* getProjectionGeometry()
- CVolumeGeometry3D* getVolumeGeometry()
+ cdef cppclass CProjector3D:
+ bool isInitialized()
+ CProjectionGeometry3D* getProjectionGeometry()
+ CVolumeGeometry3D* getVolumeGeometry()
IF HAVE_CUDA==True:
- cdef extern from "astra/CudaProjector3D.h" namespace "astra":
- cdef cppclass CCudaProjector3D
+ cdef extern from "astra/CudaProjector3D.h" namespace "astra":
+ cdef cppclass CCudaProjector3D
+
+ cdef extern from "astra/CudaProjector2D.h" namespace "astra":
+ cdef cppclass CCudaProjector2D
+
+ cdef extern from "astra/Float32Data3DGPU.h" namespace "astraCUDA3d":
+ cdef cppclass MemHandle3D:
+ pass
- cdef extern from "astra/CudaProjector2D.h" namespace "astra":
- cdef cppclass CCudaProjector2D
+ cdef extern from "astra/Float32Data3DGPU.h" namespace "astraCUDA3d":
+ cdef MemHandle3D wrapHandle(float *D_ptr, unsigned int x, unsigned int y, unsigned int z, unsigned int pitch)
cdef extern from "astra/SparseMatrix.h" namespace "astra":
- cdef cppclass CSparseMatrix:
- CSparseMatrix(unsigned int,unsigned int,unsigned long)
- unsigned int m_iWidth
- unsigned int m_iHeight
- unsigned long m_lSize
- bool isInitialized()
- float32* m_pfValues
- unsigned int* m_piColIndices
- unsigned long* m_plRowStarts
+ cdef cppclass CSparseMatrix:
+ CSparseMatrix(unsigned int,unsigned int,unsigned long)
+ unsigned int m_iWidth
+ unsigned int m_iHeight
+ unsigned long m_lSize
+ bool isInitialized()
+ float32* m_pfValues
+ unsigned int* m_piColIndices
+ unsigned long* m_plRowStarts
+
+cdef extern from "astra/Float32Data3D.h" namespace "astra":
+ cdef cppclass CFloat32Data3D:
+ bool isInitialized()
+ int getSize()
+ int getWidth()
+ int getHeight()
+ int getDepth()
+
cdef extern from "astra/Float32Data3DMemory.h" namespace "astra":
- cdef cppclass CFloat32Data3DMemory:
- CFloat32Data3DMemory()
- bool isInitialized()
- int getSize()
- int getWidth()
- int getHeight()
- int getDepth()
- void updateStatistics()
- float32 *getData()
- float32 ***getData3D()
- THREEEDataType getType()
+ cdef cppclass CFloat32Data3DMemory(CFloat32Data3D):
+ CFloat32Data3DMemory()
+ void updateStatistics()
+ float32 *getData()
+ float32 ***getData3D()
+ THREEEDataType getType()
cdef extern from "astra/VolumeGeometry3D.h" namespace "astra":
- cdef cppclass CVolumeGeometry3D:
- CVolumeGeometry3D()
- bool initialize(Config)
- Config * getConfiguration()
- int getGridColCount()
- int getGridRowCount()
- int getGridSliceCount()
+ cdef cppclass CVolumeGeometry3D:
+ CVolumeGeometry3D()
+ bool initialize(Config)
+ Config * getConfiguration()
+ int getGridColCount()
+ int getGridRowCount()
+ int getGridSliceCount()
cdef extern from "astra/ProjectionGeometry3D.h" namespace "astra":
- cdef cppclass CProjectionGeometry3D:
- CProjectionGeometry3D()
- bool initialize(Config)
- Config * getConfiguration()
- int getProjectionCount()
- int getDetectorColCount()
- int getDetectorRowCount()
+ cdef cppclass CProjectionGeometry3D:
+ CProjectionGeometry3D()
+ bool initialize(Config)
+ Config * getConfiguration()
+ int getProjectionCount()
+ int getDetectorColCount()
+ int getDetectorRowCount()
cdef extern from "astra/Float32VolumeData3DMemory.h" namespace "astra":
- cdef cppclass CFloat32VolumeData3DMemory:
- CFloat32VolumeData3DMemory(CVolumeGeometry3D*)
- CFloat32VolumeData3DMemory(CVolumeGeometry3D*, CFloat32CustomMemory*)
- CVolumeGeometry3D* getGeometry()
- void changeGeometry(CVolumeGeometry3D*)
- int getRowCount()
- int getColCount()
- int getSliceCount()
- bool isInitialized()
-
-
+ cdef cppclass CFloat32VolumeData3DMemory:
+ CFloat32VolumeData3DMemory(CVolumeGeometry3D*)
+ CFloat32VolumeData3DMemory(CVolumeGeometry3D*, CFloat32CustomMemory*)
+ CVolumeGeometry3D* getGeometry()
+ void changeGeometry(CVolumeGeometry3D*)
+ int getRowCount()
+ int getColCount()
+ int getSliceCount()
+ bool isInitialized()
cdef extern from "astra/ParallelProjectionGeometry3D.h" namespace "astra":
- cdef cppclass CParallelProjectionGeometry3D:
- CParallelProjectionGeometry3D()
+ cdef cppclass CParallelProjectionGeometry3D:
+ CParallelProjectionGeometry3D()
cdef extern from "astra/ParallelVecProjectionGeometry3D.h" namespace "astra":
- cdef cppclass CParallelVecProjectionGeometry3D:
- CParallelVecProjectionGeometry3D()
+ cdef cppclass CParallelVecProjectionGeometry3D:
+ CParallelVecProjectionGeometry3D()
cdef extern from "astra/ConeProjectionGeometry3D.h" namespace "astra":
- cdef cppclass CConeProjectionGeometry3D:
- CConeProjectionGeometry3D()
- bool initialize(Config)
+ cdef cppclass CConeProjectionGeometry3D:
+ CConeProjectionGeometry3D()
+ bool initialize(Config)
cdef extern from "astra/ConeVecProjectionGeometry3D.h" namespace "astra":
- cdef cppclass CConeVecProjectionGeometry3D:
- CConeVecProjectionGeometry3D()
+ cdef cppclass CConeVecProjectionGeometry3D:
+ CConeVecProjectionGeometry3D()
cdef extern from "astra/Float32ProjectionData3DMemory.h" namespace "astra":
- cdef cppclass CFloat32ProjectionData3DMemory:
- CFloat32ProjectionData3DMemory(CProjectionGeometry3D*)
- CFloat32ProjectionData3DMemory(CConeProjectionGeometry3D*)
- CFloat32ProjectionData3DMemory(CProjectionGeometry3D*, CFloat32CustomMemory*)
- CFloat32ProjectionData3DMemory(CConeProjectionGeometry3D*, CFloat32CustomMemory*)
- CProjectionGeometry3D* getGeometry()
- void changeGeometry(CProjectionGeometry3D*)
- int getDetectorColCount()
- int getDetectorRowCount()
- int getAngleCount()
- bool isInitialized()
+ cdef cppclass CFloat32ProjectionData3DMemory:
+ CFloat32ProjectionData3DMemory(CProjectionGeometry3D*)
+ CFloat32ProjectionData3DMemory(CConeProjectionGeometry3D*)
+ CFloat32ProjectionData3DMemory(CProjectionGeometry3D*, CFloat32CustomMemory*)
+ CFloat32ProjectionData3DMemory(CConeProjectionGeometry3D*, CFloat32CustomMemory*)
+ CProjectionGeometry3D* getGeometry()
+ void changeGeometry(CProjectionGeometry3D*)
+ int getDetectorColCount()
+ int getDetectorRowCount()
+ int getAngleCount()
+ bool isInitialized()
-cdef extern from "astra/Float32Data3D.h" namespace "astra":
- cdef cppclass CFloat32Data3D:
- CFloat32Data3D()
- bool isInitialized()
- int getSize()
- int getWidth()
- int getHeight()
- int getDepth()
- void updateStatistics()
+IF HAVE_CUDA==True:
+ cdef extern from "astra/Float32VolumeData3DGPU.h" namespace "astra":
+ cdef cppclass CFloat32VolumeData3DGPU:
+ CFloat32VolumeData3DGPU(CVolumeGeometry3D*, MemHandle3D)
+ CVolumeGeometry3D* getGeometry()
+ void changeGeometry(CVolumeGeometry3D*)
+ int getRowCount()
+ int getColCount()
+ int getSliceCount()
+ bool isInitialized()
+
+ cdef extern from "astra/Float32ProjectionData3DGPU.h" namespace "astra":
+ cdef cppclass CFloat32ProjectionData3DGPU:
+ CFloat32ProjectionData3DGPU(CProjectionGeometry3D*, MemHandle3D)
+ CProjectionGeometry3D* getGeometry()
+ void changeGeometry(CProjectionGeometry3D*)
+ int getRowCount()
+ int getColCount()
+ int getSliceCount()
+ bool isInitialized()
diff --git a/python/astra/PyIndexManager.pxd b/python/astra/PyIndexManager.pxd
index c1ad502..5eeff02 100644
--- a/python/astra/PyIndexManager.pxd
+++ b/python/astra/PyIndexManager.pxd
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/PyMatrixManager.pxd b/python/astra/PyMatrixManager.pxd
index b2b84c4..38ad7f1 100644
--- a/python/astra/PyMatrixManager.pxd
+++ b/python/astra/PyMatrixManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from .PyIncludes cimport *
diff --git a/python/astra/PyProjector2DFactory.pxd b/python/astra/PyProjector2DFactory.pxd
index 3314544..8c751fc 100644
--- a/python/astra/PyProjector2DFactory.pxd
+++ b/python/astra/PyProjector2DFactory.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from libcpp cimport bool
from .PyIncludes cimport *
diff --git a/python/astra/PyProjector2DManager.pxd b/python/astra/PyProjector2DManager.pxd
index 92176ba..86bd3cf 100644
--- a/python/astra/PyProjector2DManager.pxd
+++ b/python/astra/PyProjector2DManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from .PyIncludes cimport *
diff --git a/python/astra/PyProjector3DFactory.pxd b/python/astra/PyProjector3DFactory.pxd
index bcbce94..345678b 100644
--- a/python/astra/PyProjector3DFactory.pxd
+++ b/python/astra/PyProjector3DFactory.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from libcpp cimport bool
from .PyIncludes cimport *
diff --git a/python/astra/PyProjector3DManager.pxd b/python/astra/PyProjector3DManager.pxd
index b1eac6b..cdd739a 100644
--- a/python/astra/PyProjector3DManager.pxd
+++ b/python/astra/PyProjector3DManager.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
from .PyIncludes cimport *
diff --git a/python/astra/PyXMLDocument.pxd b/python/astra/PyXMLDocument.pxd
index 033b8ef..dbd84d5 100644
--- a/python/astra/PyXMLDocument.pxd
+++ b/python/astra/PyXMLDocument.pxd
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
# distutils: language = c++
# distutils: libraries = astra
diff --git a/python/astra/__init__.py b/python/astra/__init__.py
index 515d9a2..b73fff5 100644
--- a/python/astra/__init__.py
+++ b/python/astra/__init__.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import matlab as m
from .creators import astra_dict,create_vol_geom, create_proj_geom, create_backprojection, create_sino, create_reconstruction, create_projector,create_sino3d_gpu, create_backprojection3d_gpu
from .functions import data_op, add_noise_to_sino, clear, move_vol_geom
@@ -35,9 +35,12 @@ from . import projector
from . import projector3d
from . import matrix
from . import plugin
+from . import plugins
from . import log
from .optomo import OpTomo
+__version__ = '1.8'
+
import os
if 'ASTRA_GPU_INDEX' in os.environ:
diff --git a/python/astra/algorithm.py b/python/astra/algorithm.py
index 46cfccc..b6dfb95 100644
--- a/python/astra/algorithm.py
+++ b/python/astra/algorithm.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
from . import algorithm_c as a
diff --git a/python/astra/algorithm_c.pyx b/python/astra/algorithm_c.pyx
index 4e96578..0a48de8 100644
--- a/python/astra/algorithm_c.pyx
+++ b/python/astra/algorithm_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -44,7 +44,7 @@ from .utils import wrap_from_bytes
cdef CAlgorithmManager * manAlg = <CAlgorithmManager * >PyAlgorithmManager.getSingletonPtr()
cdef extern from *:
- CReconstructionAlgorithm2D * dynamic_cast_recAlg "dynamic_cast<CReconstructionAlgorithm2D*>" (CAlgorithm * ) except NULL
+ CReconstructionAlgorithm2D * dynamic_cast_recAlg "dynamic_cast<astra::CReconstructionAlgorithm2D*>" (CAlgorithm * ) except NULL
def create(config):
diff --git a/python/astra/astra.py b/python/astra/astra.py
index 61c26ee..3804d51 100644
--- a/python/astra/astra.py
+++ b/python/astra/astra.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
from . import astra_c as a
@@ -38,17 +37,6 @@ def use_cuda():
"""
return a.use_cuda()
-
-def version(printToScreen=False):
- """Check version of the ASTRA Toolbox.
-
- :param printToScreen: If ``True``, print version string. If ``False``, return version integer.
- :type printToScreen: :class:`bool`
- :returns: :class:`string` or :class:`int` -- The version string or integer.
-
- """
- return a.version(printToScreen)
-
def set_gpu_index(idx, memory=0):
"""Set default GPU index to use.
diff --git a/python/astra/astra_c.pyx b/python/astra/astra_c.pyx
index 8e30e69..6de10da 100644
--- a/python/astra/astra_c.pyx
+++ b/python/astra/astra_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -37,8 +37,6 @@ cimport PyIndexManager
from .PyIndexManager cimport CAstraObjectManagerBase
cdef extern from "astra/Globals.h" namespace "astra":
- int getVersion()
- string getVersionString()
bool cudaEnabled()
IF HAVE_CUDA==True:
@@ -74,13 +72,6 @@ def credits():
def use_cuda():
return cudaEnabled()
-
-def version(printToScreen=False):
- if printToScreen:
- six.print_(wrap_from_bytes(getVersionString()))
- else:
- return getVersion()
-
IF HAVE_CUDA==True:
def set_gpu_index(idx, memory=0):
import collections
diff --git a/python/astra/creators.py b/python/astra/creators.py
index 82fd9d1..4ddaf0c 100644
--- a/python/astra/creators.py
+++ b/python/astra/creators.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import six
import numpy as np
@@ -272,7 +271,7 @@ This method can be called in a number of ways:
elif intype == 'cone':
if len(args) < 7:
raise Exception('not enough variables: astra_create_proj_geom(cone, detector_spacing_x, detector_spacing_y, det_row_count, det_col_count, angles, source_origin, origin_det)')
- return {'type': 'cone','DetectorSpacingX':args[0], 'DetectorSpacingY':args[1], 'DetectorRowCount':args[2],'DetectorColCount':args[3],'ProjectionAngles':args[4],'DistanceOriginSource': args[5],'DistanceOriginDetector':args[6]}
+ return {'type': 'cone','DetectorSpacingX':args[0], 'DetectorSpacingY':args[1], 'DetectorRowCount':args[2],'DetectorColCount':args[3],'ProjectionAngles':args[4],'DistanceOriginSource': args[5],'DistanceOriginDetector':args[6]}
elif intype == 'cone_vec':
if len(args) < 3:
raise Exception('not enough variables: astra_create_proj_geom(cone_vec, det_row_count, det_col_count, V)')
@@ -547,8 +546,8 @@ def create_reconstruction(rec_type, proj_id, sinogram, iterations=1, use_mask='n
return recon_id
-def create_projector(proj_type, proj_geom, vol_geom):
- """Create a 2D projector.
+def create_projector(proj_type, proj_geom, vol_geom, options=None):
+ """Create a 2D or 3D projector.
:param proj_type: Projector type, such as ``'line'``, ``'linear'``, ...
:type proj_type: :class:`string`
@@ -556,6 +555,8 @@ def create_projector(proj_type, proj_geom, vol_geom):
:type proj_geom: :class:`dict`
:param vol_geom: Volume geometry.
:type vol_geom: :class:`dict`
+:param options: Projector options structure defining ``'VoxelSuperSampling'``, ``'DetectorSuperSampling'``.
+:type options: :class:`dict`
:returns: :class:`int` -- The ID of the projector.
"""
@@ -564,6 +565,8 @@ def create_projector(proj_type, proj_geom, vol_geom):
cfg = astra_dict(proj_type)
cfg['ProjectionGeometry'] = proj_geom
cfg['VolumeGeometry'] = vol_geom
+ if options is not None:
+ cfg['options'] = options
types3d = ['linear3d', 'linearcone', 'cuda3d']
if proj_type in types3d:
return projector3d.create(cfg)
diff --git a/python/astra/data2d.py b/python/astra/data2d.py
index f119f05..674161d 100644
--- a/python/astra/data2d.py
+++ b/python/astra/data2d.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import data2d_c as d
import numpy as np
diff --git a/python/astra/data2d_c.pyx b/python/astra/data2d_c.pyx
index 2242d3b..1b1125d 100644
--- a/python/astra/data2d_c.pyx
+++ b/python/astra/data2d_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -83,8 +83,10 @@ def create(datatype, geometry, data=None, link=False):
cdef CFloat32Data2D * pDataObject2D
cdef CFloat32CustomMemory * pCustom
- if link and data.shape!=geom_size(geometry):
- raise Exception("The dimensions of the data do not match those specified in the geometry.")
+ if link:
+ geom_shape = geom_size(geometry)
+ if data.shape != geom_shape:
+ raise ValueError("The dimensions of the data do not match those specified in the geometry: {} != {}".format(data.shape, geom_shape))
if datatype == '-vol':
cfg = utils.dictToConfig(six.b('VolumeGeometry'), geometry)
@@ -92,7 +94,7 @@ def create(datatype, geometry, data=None, link=False):
if not pGeometry.initialize(cfg[0]):
del cfg
del pGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
if link:
pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
pDataObject2D = <CFloat32Data2D * > new CFloat32VolumeData2D(pGeometry, pCustom)
@@ -116,7 +118,7 @@ def create(datatype, geometry, data=None, link=False):
if not ppGeometry.initialize(cfg[0]):
del cfg
del ppGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
if link:
pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
pDataObject2D = <CFloat32Data2D * > new CFloat32ProjectionData2D(ppGeometry, pCustom)
@@ -125,11 +127,11 @@ def create(datatype, geometry, data=None, link=False):
del ppGeometry
del cfg
else:
- raise Exception("Invalid datatype. Please specify '-vol' or '-sino'.")
+ raise ValueError("Invalid datatype. Please specify '-vol' or '-sino'.")
if not pDataObject2D.isInitialized():
del pDataObject2D
- raise Exception("Couldn't initialize data object.")
+ raise RuntimeError("Couldn't initialize data object.")
if not link: fillDataObject(pDataObject2D, data)
@@ -140,6 +142,10 @@ cdef fillDataObject(CFloat32Data2D * obj, data):
fillDataObjectScalar(obj, 0)
else:
if isinstance(data, np.ndarray):
+ obj_shape = (obj.getHeight(), obj.getWidth())
+ if data.shape != obj_shape:
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry: {} != {}".format(data.shape, obj_shape))
fillDataObjectArray(obj, np.ascontiguousarray(data,dtype=np.float32))
else:
fillDataObjectScalar(obj, np.float32(data))
@@ -152,18 +158,15 @@ cdef fillDataObjectScalar(CFloat32Data2D * obj, float s):
@cython.boundscheck(False)
@cython.wraparound(False)
cdef fillDataObjectArray(CFloat32Data2D * obj, float [:,::1] data):
- if (not data.shape[0] == obj.getHeight()) or (not data.shape[1] == obj.getWidth()):
- raise Exception(
- "The dimensions of the data do not match those specified in the geometry.")
cdef float [:,::1] cView = <float[:data.shape[0],:data.shape[1]]> obj.getData2D()[0]
cView[:] = data
cdef CFloat32Data2D * getObject(i) except NULL:
cdef CFloat32Data2D * pDataObject = man2d.get(i)
if pDataObject == NULL:
- raise Exception("Data object not found")
+ raise ValueError("Data object not found")
if not pDataObject.isInitialized():
- raise Exception("Data object not initialized properly.")
+ raise RuntimeError("Data object not initialized properly.")
return pDataObject
@@ -182,15 +185,15 @@ def get_geometry(i):
pDataObject3 = <CFloat32VolumeData2D * >pDataObject
geom = utils.configToDict(pDataObject3.getGeometry().getConfiguration())
else:
- raise Exception("Not a known data object")
+ raise RuntimeError("Not a known data object")
return geom
cdef CProjector2D * getProjector(i) except NULL:
cdef CProjector2D * proj = manProj.get(i)
if proj == NULL:
- raise Exception("Projector not initialized.")
+ raise RuntimeError("Projector not initialized.")
if not proj.isInitialized():
- raise Exception("Projector not initialized.")
+ raise RuntimeError("Projector not initialized.")
return proj
def check_compatible(i, proj_id):
@@ -205,7 +208,7 @@ def check_compatible(i, proj_id):
pDataObject3 = <CFloat32VolumeData2D * >pDataObject
return pDataObject3.getGeometry().isEqual(proj.getVolumeGeometry())
else:
- raise Exception("Not a known data object")
+ raise RuntimeError("Not a known data object")
def change_geometry(i, geom):
cdef Config *cfg
@@ -231,12 +234,14 @@ def change_geometry(i, geom):
if not ppGeometry.initialize(cfg[0]):
del cfg
del ppGeometry
- raise Exception('Geometry class not initialized.')
- if (ppGeometry.getDetectorCount() != pDataObject2.getDetectorCount() or ppGeometry.getProjectionAngleCount() != pDataObject2.getAngleCount()):
+ raise RuntimeError('Geometry class not initialized.')
+ geom_shape = (ppGeometry.getProjectionAngleCount(), ppGeometry.getDetectorCount())
+ obj_shape = (pDataObject2.getAngleCount(), pDataObject2.getDetectorCount())
+ if geom_shape != obj_shape:
del ppGeometry
del cfg
- raise Exception(
- "The dimensions of the data do not match those specified in the geometry.")
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry: {} != {}", obj_shape, geom_shape)
pDataObject2.changeGeometry(ppGeometry)
del ppGeometry
del cfg
@@ -247,17 +252,19 @@ def change_geometry(i, geom):
if not pGeometry.initialize(cfg[0]):
del cfg
del pGeometry
- raise Exception('Geometry class not initialized.')
- if (pGeometry.getGridColCount() != pDataObject3.getWidth() or pGeometry.getGridRowCount() != pDataObject3.getHeight()):
+ raise RuntimeError('Geometry class not initialized.')
+ geom_shape = (pGeometry.getGridRowCount(), pGeometry.getGridColCount())
+ obj_shape = (pDataObject3.getHeight(), pDataObject3.getWidth())
+ if geom_shape != obj_shape:
del cfg
del pGeometry
- raise Exception(
- 'The dimensions of the data do not match those specified in the geometry.')
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry: {} != {}", obj_shape, geom_shape)
pDataObject3.changeGeometry(pGeometry)
del cfg
del pGeometry
else:
- raise Exception("Not a known data object")
+ raise RuntimeError("Not a known data object")
@cython.boundscheck(False)
@cython.wraparound(False)
@@ -278,7 +285,7 @@ def get_shared(i):
def get_single(i):
- raise Exception("Not yet implemented")
+ raise NotImplementedError("Not yet implemented")
def info():
diff --git a/python/astra/data3d.py b/python/astra/data3d.py
index f143659..ecb99d0 100644
--- a/python/astra/data3d.py
+++ b/python/astra/data3d.py
@@ -1,31 +1,33 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import data3d_c as d
import numpy as np
+from .pythonutils import GPULink
+
def create(datatype,geometry,data=None):
"""Create a 3D object.
@@ -52,12 +54,13 @@ def link(datatype, geometry, data):
:returns: :class:`int` -- the ID of the constructed object.
"""
- if not isinstance(data,np.ndarray):
- raise ValueError("Input should be a numpy array")
- if not data.dtype==np.float32:
- raise ValueError("Numpy array should be float32")
- if not (data.flags['C_CONTIGUOUS'] and data.flags['ALIGNED']):
- raise ValueError("Numpy array should be C_CONTIGUOUS and ALIGNED")
+ if not isinstance(data,np.ndarray) and not isinstance(data,GPULink):
+ raise TypeError("Input should be a numpy ndarray or GPULink object")
+ if isinstance(data, np.ndarray):
+ if data.dtype != np.float32:
+ raise ValueError("Numpy array should be float32")
+ if not (data.flags['C_CONTIGUOUS'] and data.flags['ALIGNED']):
+ raise ValueError("Numpy array should be C_CONTIGUOUS and ALIGNED")
return d.create(datatype,geometry,data,True)
diff --git a/python/astra/data3d_c.pyx b/python/astra/data3d_c.pyx
index 811d1e4..78ed620 100644
--- a/python/astra/data3d_c.pyx
+++ b/python/astra/data3d_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -45,12 +45,17 @@ from .PyXMLDocument cimport XMLDocument
cimport utils
from .utils import wrap_from_bytes
-from .pythonutils import geom_size
+from .pythonutils import geom_size, GPULink
import operator
from six.moves import reduce
+include "config.pxi"
+
+cdef extern from "Python.h":
+ void* PyLong_AsVoidPtr(object)
+
cdef CData3DManager * man3d = <CData3DManager * >PyData3DManager.getSingletonPtr()
@@ -65,12 +70,22 @@ def create(datatype,geometry,data=None, link=False):
cdef Config *cfg
cdef CVolumeGeometry3D * pGeometry
cdef CProjectionGeometry3D * ppGeometry
- cdef CFloat32Data3DMemory * pDataObject3D
+ cdef CFloat32Data3D * pDataObject3D
cdef CConeProjectionGeometry3D* pppGeometry
- cdef CFloat32CustomMemory * pCustom
+ cdef CFloat32CustomMemory * pCustom = NULL
+ IF HAVE_CUDA==True:
+ cdef MemHandle3D hnd
- if link and data.shape!=geom_size(geometry):
- raise Exception("The dimensions of the data do not match those specified in the geometry.")
+ if link:
+ geom_shape = geom_size(geometry)
+ if isinstance(data, np.ndarray):
+ data_shape = data.shape
+ elif isinstance(data, GPULink):
+ data_shape = ( data.z, data.y, data.x )
+ else:
+ raise TypeError("data should be a numpy.ndarray or a GPULink object")
+ if geom_shape != data_shape:
+ raise ValueError("The dimensions of the data do not match those specified in the geometry: {} != {}".format(data_shape, geom_shape))
if datatype == '-vol':
cfg = utils.dictToConfig(six.b('VolumeGeometry'), geometry)
@@ -78,15 +93,25 @@ def create(datatype,geometry,data=None, link=False):
if not pGeometry.initialize(cfg[0]):
del cfg
del pGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
if link:
- pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
- pDataObject3D = <CFloat32Data3DMemory * > new CFloat32VolumeData3DMemory(pGeometry, pCustom)
+ if isinstance(data, np.ndarray):
+ pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
+ pDataObject3D = <CFloat32Data3D * > new CFloat32VolumeData3DMemory(pGeometry, pCustom)
+ elif isinstance(data, GPULink):
+ IF HAVE_CUDA==True:
+ s = geom_size(geometry)
+ hnd = wrapHandle(<float*>PyLong_AsVoidPtr(data.ptr), data.x, data.y, data.z, data.pitch/4)
+ pDataObject3D = <CFloat32Data3D * > new CFloat32VolumeData3DGPU(pGeometry, hnd)
+ ELSE:
+ raise NotImplementedError("CUDA support is not enabled in ASTRA")
+ else:
+ raise TypeError("data should be a numpy.ndarray or a GPULink object")
else:
- pDataObject3D = <CFloat32Data3DMemory * > new CFloat32VolumeData3DMemory(pGeometry)
+ pDataObject3D = <CFloat32Data3D * > new CFloat32VolumeData3DMemory(pGeometry)
del cfg
del pGeometry
- elif datatype == '-sino' or datatype == '-proj3d':
+ elif datatype == '-sino' or datatype == '-proj3d' or datatype == '-sinocone':
cfg = utils.dictToConfig(six.b('ProjectionGeometry'), geometry)
tpe = wrap_from_bytes(cfg.self.getAttribute(six.b('type')))
if (tpe == "parallel3d"):
@@ -98,41 +123,38 @@ def create(datatype,geometry,data=None, link=False):
elif (tpe == "cone_vec"):
ppGeometry = <CProjectionGeometry3D*> new CConeVecProjectionGeometry3D();
else:
- raise Exception("Invalid geometry type.")
+ raise ValueError("Invalid geometry type.")
if not ppGeometry.initialize(cfg[0]):
del cfg
del ppGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
if link:
- pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
- pDataObject3D = <CFloat32Data3DMemory * > new CFloat32ProjectionData3DMemory(ppGeometry, pCustom)
+ if isinstance(data, np.ndarray):
+ pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
+ pDataObject3D = <CFloat32Data3D * > new CFloat32ProjectionData3DMemory(ppGeometry, pCustom)
+ elif isinstance(data, GPULink):
+ IF HAVE_CUDA==True:
+ s = geom_size(geometry)
+ hnd = wrapHandle(<float*>PyLong_AsVoidPtr(data.ptr), data.x, data.y, data.z, data.pitch/4)
+ pDataObject3D = <CFloat32Data3D * > new CFloat32ProjectionData3DGPU(ppGeometry, hnd)
+ ELSE:
+ raise NotImplementedError("CUDA support is not enabled in ASTRA")
+ else:
+ raise TypeError("data should be a numpy.ndarray or a GPULink object")
else:
pDataObject3D = <CFloat32Data3DMemory * > new CFloat32ProjectionData3DMemory(ppGeometry)
del ppGeometry
del cfg
- elif datatype == "-sinocone":
- cfg = utils.dictToConfig(six.b('ProjectionGeometry'), geometry)
- pppGeometry = new CConeProjectionGeometry3D()
- if not pppGeometry.initialize(cfg[0]):
- del cfg
- del pppGeometry
- raise Exception('Geometry class not initialized.')
- if link:
- pCustom = <CFloat32CustomMemory*> new CFloat32CustomPython(data)
- pDataObject3D = <CFloat32Data3DMemory * > new CFloat32ProjectionData3DMemory(pppGeometry, pCustom)
- else:
- pDataObject3D = <CFloat32Data3DMemory * > new CFloat32ProjectionData3DMemory(pppGeometry)
else:
- raise Exception("Invalid datatype. Please specify '-vol' or '-proj3d'.")
+ raise ValueError("Invalid datatype. Please specify '-vol' or '-proj3d'.")
if not pDataObject3D.isInitialized():
del pDataObject3D
- raise Exception("Couldn't initialize data object.")
-
- if not link: fillDataObject(pDataObject3D, data)
+ raise RuntimeError("Couldn't initialize data object.")
- pDataObject3D.updateStatistics()
+ if not link:
+ fillDataObject(dynamic_cast_mem(pDataObject3D), data)
return man3d.store(<CFloat32Data3D*>pDataObject3D)
@@ -147,7 +169,7 @@ def get_geometry(i):
pDataObject3 = <CFloat32VolumeData3DMemory * >pDataObject
geom = utils.configToDict(pDataObject3.getGeometry().getConfiguration())
else:
- raise Exception("Not a known data object")
+ raise RuntimeError("Not a known data object")
return geom
def change_geometry(i, geom):
@@ -168,18 +190,18 @@ def change_geometry(i, geom):
elif (tpe == "cone_vec"):
ppGeometry = <CProjectionGeometry3D*> new CConeVecProjectionGeometry3D();
else:
- raise Exception("Invalid geometry type.")
+ raise ValueError("Invalid geometry type.")
if not ppGeometry.initialize(cfg[0]):
del cfg
del ppGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
del cfg
- if (ppGeometry.getDetectorColCount() != pDataObject2.getDetectorColCount() or \
- ppGeometry.getProjectionCount() != pDataObject2.getAngleCount() or \
- ppGeometry.getDetectorRowCount() != pDataObject2.getDetectorRowCount()):
+ geom_shape = (ppGeometry.getDetectorRowCount(), ppGeometry.getProjectionCount(), ppGeometry.getDetectorColCount())
+ obj_shape = (pDataObject2.getDetectorRowCount(), pDataObject2.getAngleCount(), pDataObject2.getDetectorColCount())
+ if geom_shape != obj_shape:
del ppGeometry
- raise Exception(
- "The dimensions of the data do not match those specified in the geometry.")
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry: {} != {}".format(obj_shape, geom_shape))
pDataObject2.changeGeometry(ppGeometry)
del ppGeometry
@@ -190,19 +212,19 @@ def change_geometry(i, geom):
if not pGeometry.initialize(cfg[0]):
del cfg
del pGeometry
- raise Exception('Geometry class not initialized.')
+ raise RuntimeError('Geometry class not initialized.')
del cfg
- if (pGeometry.getGridColCount() != pDataObject3.getColCount() or \
- pGeometry.getGridRowCount() != pDataObject3.getRowCount() or \
- pGeometry.getGridSliceCount() != pDataObject3.getSliceCount()):
+ geom_shape = (pGeometry.getGridSliceCount(), pGeometry.getGridRowCount(), pGeometry.getGridColCount())
+ obj_shape = (pDataObject3.getSliceCount(), pDataObject3.getRowCount(), pDataObject3.getColCount())
+ if geom_shape != obj_shape:
del pGeometry
- raise Exception(
- "The dimensions of the data do not match those specified in the geometry.")
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry.".format(obj_shape, geom_shape))
pDataObject3.changeGeometry(pGeometry)
del pGeometry
else:
- raise Exception("Not a known data object")
+ raise RuntimeError("Not a known data object")
cdef fillDataObject(CFloat32Data3DMemory * obj, data):
@@ -210,6 +232,10 @@ cdef fillDataObject(CFloat32Data3DMemory * obj, data):
fillDataObjectScalar(obj, 0)
else:
if isinstance(data, np.ndarray):
+ obj_shape = (obj.getDepth(), obj.getHeight(), obj.getWidth())
+ if data.shape != obj_shape:
+ raise ValueError(
+ "The dimensions of the data do not match those specified in the geometry: {} != {}".format(data.shape, obj_shape))
fillDataObjectArray(obj, np.ascontiguousarray(data,dtype=np.float32))
else:
fillDataObjectScalar(obj, np.float32(data))
@@ -222,18 +248,15 @@ cdef fillDataObjectScalar(CFloat32Data3DMemory * obj, float s):
@cython.boundscheck(False)
@cython.wraparound(False)
cdef fillDataObjectArray(CFloat32Data3DMemory * obj, float [:,:,::1] data):
- if (not data.shape[0] == obj.getDepth()) or (not data.shape[1] == obj.getHeight()) or (not data.shape[2] == obj.getWidth()):
- raise Exception(
- "The dimensions of the data do not match those specified in the geometry.")
cdef float [:,:,::1] cView = <float[:data.shape[0],:data.shape[1],:data.shape[2]]> obj.getData3D()[0][0]
cView[:] = data
cdef CFloat32Data3D * getObject(i) except NULL:
cdef CFloat32Data3D * pDataObject = man3d.get(i)
if pDataObject == NULL:
- raise Exception("Data object not found")
+ raise ValueError("Data object not found")
if not pDataObject.isInitialized():
- raise Exception("Data object not initialized properly.")
+ raise RuntimeError("Data object not initialized properly.")
return pDataObject
@cython.boundscheck(False)
@@ -256,7 +279,7 @@ def get_shared(i):
return np.PyArray_SimpleNewFromData(3,shape,np.NPY_FLOAT32,<void *>pDataObject.getData3D()[0][0])
def get_single(i):
- raise Exception("Not yet implemented")
+ raise NotImplementedError("Not yet implemented")
def store(i,data):
cdef CFloat32Data3D * pDataObject = getObject(i)
diff --git a/python/astra/experimental.pyx b/python/astra/experimental.pyx
index 9bb73a2..0af3118 100644
--- a/python/astra/experimental.pyx
+++ b/python/astra/experimental.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -36,12 +36,20 @@ IF HAVE_CUDA==True:
cdef extern from "astra/CompositeGeometryManager.h" namespace "astra":
cdef cppclass CCompositeGeometryManager:
- bool doFP(CProjector3D *, vector[CFloat32VolumeData3DMemory *], vector[CFloat32ProjectionData3DMemory *])
- bool doBP(CProjector3D *, vector[CFloat32VolumeData3DMemory *], vector[CFloat32ProjectionData3DMemory *])
+ bool doFP(CProjector3D *, vector[CFloat32VolumeData3D *], vector[CFloat32ProjectionData3D *])
+ bool doBP(CProjector3D *, vector[CFloat32VolumeData3D *], vector[CFloat32ProjectionData3D *])
cdef extern from *:
- CFloat32VolumeData3DMemory * dynamic_cast_vol_mem "dynamic_cast<astra::CFloat32VolumeData3DMemory*>" (CFloat32Data3D * ) except NULL
- CFloat32ProjectionData3DMemory * dynamic_cast_proj_mem "dynamic_cast<astra::CFloat32ProjectionData3DMemory*>" (CFloat32Data3D * ) except NULL
+ CFloat32VolumeData3D * dynamic_cast_vol_mem "dynamic_cast<astra::CFloat32VolumeData3D*>" (CFloat32Data3D * ) except NULL
+ CFloat32ProjectionData3D * dynamic_cast_proj_mem "dynamic_cast<astra::CFloat32ProjectionData3D*>" (CFloat32Data3D * ) except NULL
+
+ cdef extern from "astra/Float32ProjectionData3D.h" namespace "astra":
+ cdef cppclass CFloat32ProjectionData3D:
+ bool isInitialized()
+ cdef extern from "astra/Float32VolumeData3D.h" namespace "astra":
+ cdef cppclass CFloat32VolumeData3D:
+ bool isInitialized()
+
cimport PyProjector3DManager
from .PyProjector3DManager cimport CProjector3DManager
@@ -52,9 +60,9 @@ IF HAVE_CUDA==True:
cdef CData3DManager * man3d = <CData3DManager * >PyData3DManager.getSingletonPtr()
def do_composite(projector_id, vol_ids, proj_ids, t):
- cdef vector[CFloat32VolumeData3DMemory *] vol
- cdef CFloat32VolumeData3DMemory * pVolObject
- cdef CFloat32ProjectionData3DMemory * pProjObject
+ cdef vector[CFloat32VolumeData3D *] vol
+ cdef CFloat32VolumeData3D * pVolObject
+ cdef CFloat32ProjectionData3D * pProjObject
for v in vol_ids:
pVolObject = dynamic_cast_vol_mem(man3d.get(v))
if pVolObject == NULL:
@@ -62,7 +70,7 @@ IF HAVE_CUDA==True:
if not pVolObject.isInitialized():
raise Exception("Data object not initialized properly")
vol.push_back(pVolObject)
- cdef vector[CFloat32ProjectionData3DMemory *] proj
+ cdef vector[CFloat32ProjectionData3D *] proj
for v in proj_ids:
pProjObject = dynamic_cast_proj_mem(man3d.get(v))
if pProjObject == NULL:
diff --git a/python/astra/extrautils.pyx b/python/astra/extrautils.pyx
index 2c7771e..248c6ee 100644
--- a/python/astra/extrautils.pyx
+++ b/python/astra/extrautils.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -26,19 +26,19 @@
def clipCircle(img):
- cdef int i,j
- cdef double x2,y2,mid,bnd
- cdef long sz,sz2
- sz = img.shape[0]
- sz2 = sz*sz
- bnd = sz2/4.
- mid = (sz-1.)/2.
- nDel=0
- for i in range(sz):
- for j in range(sz):
- x2 = (i-mid)*(i-mid)
- y2 = (j-mid)*(j-mid)
- if x2+y2>bnd:
- img[i,j]=0
- nDel=nDel+1
- return nDel
+ cdef int i,j
+ cdef double x2,y2,mid,bnd
+ cdef long sz,sz2
+ sz = img.shape[0]
+ sz2 = sz*sz
+ bnd = sz2/4.
+ mid = (sz-1.)/2.
+ nDel=0
+ for i in range(sz):
+ for j in range(sz):
+ x2 = (i-mid)*(i-mid)
+ y2 = (j-mid)*(j-mid)
+ if x2+y2>bnd:
+ img[i,j]=0
+ nDel=nDel+1
+ return nDel
diff --git a/python/astra/functions.py b/python/astra/functions.py
index 9927eee..b3a470d 100644
--- a/python/astra/functions.py
+++ b/python/astra/functions.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-# Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-# Author: Daniel M. Pelt
-# Contact: D.M.Pelt@cwi.nl
-# Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-# This file is part of the Python interface to the
-# All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-# The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# (at your option) any later version.
#
-# The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
"""Additional functions for PyAstraToolbox.
.. moduleauthor:: Daniel M. Pelt <D.M.Pelt@cwi.nl>
diff --git a/python/astra/log.py b/python/astra/log.py
index 3ec0df5..a54ed08 100644
--- a/python/astra/log.py
+++ b/python/astra/log.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
from . import log_c as l
@@ -150,4 +149,4 @@ def setOutputFile(filename, level):
:param level: Logging level to use (DEBUG, INFO, WARN, or ERROR).
:type level: :class:`int`
"""
- l.log_setOutputFile(filename, level) \ No newline at end of file
+ l.log_setOutputFile(filename, level)
diff --git a/python/astra/log_c.pyx b/python/astra/log_c.pyx
index 0d187e9..0757d0c 100644
--- a/python/astra/log_c.pyx
+++ b/python/astra/log_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/matlab.py b/python/astra/matlab.py
index 83b345d..c96931e 100644
--- a/python/astra/matlab.py
+++ b/python/astra/matlab.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
"""This module implements a MATLAB-like interface to the ASTRA Toolbox.
Note that all functions are called with a :class:`string` as the first
diff --git a/python/astra/matrix.py b/python/astra/matrix.py
index 27e4823..eeb873c 100644
--- a/python/astra/matrix.py
+++ b/python/astra/matrix.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import matrix_c as m
def delete(ids):
diff --git a/python/astra/matrix_c.pyx b/python/astra/matrix_c.pyx
index f5c0938..ba20b10 100644
--- a/python/astra/matrix_c.pyx
+++ b/python/astra/matrix_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/optomo.py b/python/astra/optomo.py
index dde719e..74f34e5 100644
--- a/python/astra/optomo.py
+++ b/python/astra/optomo.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
from . import data2d
from . import data3d
diff --git a/python/astra/plugin.py b/python/astra/plugin.py
index 3e3528d..56c2761 100644
--- a/python/astra/plugin.py
+++ b/python/astra/plugin.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
from . import plugin_c as p
from . import log
@@ -118,4 +117,4 @@ def get_help(name):
:returns: :class:`str` -- Help string (docstring).
"""
- return p.get_help(name) \ No newline at end of file
+ return p.get_help(name)
diff --git a/python/astra/plugin_c.pyx b/python/astra/plugin_c.pyx
index ee04853..3853cec 100644
--- a/python/astra/plugin_c.pyx
+++ b/python/astra/plugin_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/plugins/__init__.py b/python/astra/plugins/__init__.py
new file mode 100644
index 0000000..88a68cb
--- /dev/null
+++ b/python/astra/plugins/__init__.py
@@ -0,0 +1,29 @@
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
+#
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
+#
+# This file is part of the ASTRA Toolbox.
+#
+#
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+#
+# -----------------------------------------------------------------------
+
+
+from .sirt import SIRTPlugin
+from .cgls import CGLSPlugin
+
diff --git a/python/astra/plugins/cgls.py b/python/astra/plugins/cgls.py
new file mode 100644
index 0000000..5268f51
--- /dev/null
+++ b/python/astra/plugins/cgls.py
@@ -0,0 +1,99 @@
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
+#
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
+#
+# This file is part of the ASTRA Toolbox.
+#
+#
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+#
+# -----------------------------------------------------------------------
+
+
+import astra
+import numpy as np
+import six
+
+class CGLSPlugin(astra.plugin.base):
+ """CGLS."""
+
+ astra_name = "CGLS-PLUGIN"
+
+ def initialize(self,cfg):
+ self.W = astra.OpTomo(cfg['ProjectorId'])
+ self.vid = cfg['ReconstructionDataId']
+ self.sid = cfg['ProjectionDataId']
+
+ try:
+ v = astra.data2d.get_shared(self.vid)
+ s = astra.data2d.get_shared(self.sid)
+ self.data_mod = astra.data2d
+ except Exception:
+ v = astra.data3d.get_shared(self.vid)
+ s = astra.data3d.get_shared(self.sid)
+ self.data_mod = astra.data3d
+
+ def run(self, its):
+ v = self.data_mod.get_shared(self.vid)
+ s = self.data_mod.get_shared(self.sid)
+ z = np.zeros(v.shape, dtype=np.float32)
+ p = np.zeros(v.shape, dtype=np.float32)
+ r = np.zeros(s.shape, dtype=np.float32)
+ w = np.zeros(s.shape, dtype=np.float32)
+ W = self.W
+
+ # r = s - W*v
+ W.FP(v, out=w)
+ r[:] = s
+ r -= w
+
+ # p = W'*r
+ W.BP(r, out=p)
+
+ # gamma = <p,p>
+ gamma = np.dot(p.ravel(), p.ravel())
+
+ for i in range(its):
+ # w = W * p
+ W.FP(p, out=w)
+
+ # alpha = gamma / <w,w>
+ alpha = gamma / np.dot(w.ravel(), w.ravel())
+
+ # v += alpha * p
+ z[:] = p
+ z *= alpha
+ v += z
+
+ # r -= alpha * w
+ w *= -alpha;
+ r += w
+
+ # z = W' * r
+ W.BP(r, out=z)
+
+ # beta = <z,z> / gamma
+ newgamma = np.dot(z.ravel(), z.ravel())
+ beta = newgamma / gamma
+
+ # gamma = <z,z>
+ gamma = newgamma
+
+ # p = z + beta * p
+ p *= beta
+ p += z
+
diff --git a/python/astra/plugins/sirt.py b/python/astra/plugins/sirt.py
new file mode 100644
index 0000000..5238399
--- /dev/null
+++ b/python/astra/plugins/sirt.py
@@ -0,0 +1,90 @@
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
+#
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
+#
+# This file is part of the ASTRA Toolbox.
+#
+#
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+#
+# -----------------------------------------------------------------------
+
+
+import astra
+import numpy as np
+import six
+
+class SIRTPlugin(astra.plugin.base):
+ """SIRT.
+
+ Options:
+
+ 'Relaxation': relaxation factor (optional)
+ 'MinConstraint': constrain values to at least this (optional)
+ 'MaxConstraint': constrain values to at most this (optional)
+ """
+
+ astra_name = "SIRT-PLUGIN"
+
+ def initialize(self,cfg, Relaxation = 1, MinConstraint = None, MaxConstraint = None):
+ self.W = astra.OpTomo(cfg['ProjectorId'])
+ self.vid = cfg['ReconstructionDataId']
+ self.sid = cfg['ProjectionDataId']
+ self.min_constraint = MinConstraint
+ self.max_constraint = MaxConstraint
+
+ try:
+ v = astra.data2d.get_shared(self.vid)
+ s = astra.data2d.get_shared(self.sid)
+ self.data_mod = astra.data2d
+ except Exception:
+ v = astra.data3d.get_shared(self.vid)
+ s = astra.data3d.get_shared(self.sid)
+ self.data_mod = astra.data3d
+
+ self.R = self.W * np.ones(v.shape,dtype=np.float32).ravel();
+ self.R[self.R < 0.000001] = np.Inf
+ self.R = 1 / self.R
+ self.R = self.R.reshape(s.shape)
+
+ self.mrC = self.W.T * np.ones(s.shape,dtype=np.float32).ravel();
+ self.mrC[self.mrC < 0.000001] = np.Inf
+ self.mrC = -Relaxation / self.mrC
+ self.mrC = self.mrC.reshape(v.shape)
+
+
+ def run(self, its):
+ v = self.data_mod.get_shared(self.vid)
+ s = self.data_mod.get_shared(self.sid)
+ tv = np.zeros(v.shape, dtype=np.float32)
+ ts = np.zeros(s.shape, dtype=np.float32)
+ W = self.W
+ mrC = self.mrC
+ R = self.R
+ for i in range(its):
+ W.FP(v,out=ts)
+ ts -= s
+ ts *= R # ts = R * (W*v - s)
+
+ W.BP(ts,out=tv)
+ tv *= mrC
+
+ v += tv # v = v - rel * C * W' * ts
+
+ if self.min_constraint is not None or self.max_constraint is not None:
+ v.clip(min=self.min_constraint, max=self.max_constraint, out=v)
+
diff --git a/python/astra/projector.py b/python/astra/projector.py
index e370e5a..878e011 100644
--- a/python/astra/projector.py
+++ b/python/astra/projector.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import projector_c as p
def create(config):
diff --git a/python/astra/projector3d.py b/python/astra/projector3d.py
index d1086b9..9befa3f 100644
--- a/python/astra/projector3d.py
+++ b/python/astra/projector3d.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from . import projector3d_c as p
def create(config):
diff --git a/python/astra/projector3d_c.pyx b/python/astra/projector3d_c.pyx
index e355e38..98eccc1 100644
--- a/python/astra/projector3d_c.pyx
+++ b/python/astra/projector3d_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/projector_c.pyx b/python/astra/projector_c.pyx
index 53d38c3..be529da 100644
--- a/python/astra/projector_c.pyx
+++ b/python/astra/projector_c.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/astra/pythonutils.py b/python/astra/pythonutils.py
index 8ea4af5..27fa8fd 100644
--- a/python/astra/pythonutils.py
+++ b/python/astra/pythonutils.py
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-# Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-# Author: Daniel M. Pelt
-# Contact: D.M.Pelt@cwi.nl
-# Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-# This file is part of the Python interface to the
-# All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-# The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# (at your option) any later version.
#
-# The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
"""Additional purely Python functions for PyAstraToolbox.
.. moduleauthor:: Daniel M. Pelt <D.M.Pelt@cwi.nl>
@@ -61,3 +61,21 @@ def geom_size(geom, dim=None):
s = s[dim]
return s
+
+class GPULink(object):
+ """Utility class for astra.data3d.link with a CUDA pointer
+
+ The CUDA pointer ptr must point to an array of floats.
+
+ x is the fastest-changing coordinate, z the slowest-changing.
+
+ pitch is the width in bytes of the memory block. For a contiguous
+ memory block, pitch is equal to sizeof(float) * x. For a memory block
+ allocated by cudaMalloc3D, pitch is the pitch as returned by cudaMalloc3D.
+ """
+ def __init__(self, ptr, x, y, z, pitch):
+ self.ptr = ptr
+ self.x = x
+ self.y = y
+ self.z = z
+ self.pitch = pitch
diff --git a/python/astra/src/PythonPluginAlgorithm.cpp b/python/astra/src/PythonPluginAlgorithm.cpp
index 893db94..69b3d06 100644
--- a/python/astra/src/PythonPluginAlgorithm.cpp
+++ b/python/astra/src/PythonPluginAlgorithm.cpp
@@ -4,7 +4,7 @@ Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
diff --git a/python/astra/src/PythonPluginAlgorithm.h b/python/astra/src/PythonPluginAlgorithm.h
index ea4c6fb..dacd0e4 100644
--- a/python/astra/src/PythonPluginAlgorithm.h
+++ b/python/astra/src/PythonPluginAlgorithm.h
@@ -4,7 +4,7 @@ Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
diff --git a/python/astra/utils.pxd b/python/astra/utils.pxd
index ca84836..695081f 100644
--- a/python/astra/utils.pxd
+++ b/python/astra/utils.pxd
@@ -1,28 +1,28 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
+
from libcpp.string cimport string
cimport PyXMLDocument
diff --git a/python/astra/utils.pyx b/python/astra/utils.pyx
index 34d1902..a40916b 100644
--- a/python/astra/utils.pyx
+++ b/python/astra/utils.pyx
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
diff --git a/python/builder.py b/python/builder.py
index dcd62d8..ec0bd23 100644
--- a/python/builder.py
+++ b/python/builder.py
@@ -3,7 +3,7 @@
# 2013-2016, CWI, Amsterdam
#
# Contact: astra@uantwerpen.be
-# Website: http://sf.net/projects/astra-toolbox
+# Website: http://www.astra-toolbox.com/
#
# This file is part of the ASTRA Toolbox.
#
@@ -21,72 +21,72 @@
# You should have received a copy of the GNU General Public License
# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
-import sys
import os
import numpy as np
-from distutils.version import LooseVersion
from distutils.core import setup
-from distutils.extension import Extension
+from pkg_resources import parse_version
from Cython.Distutils import build_ext
from Cython.Build import cythonize
import Cython
-if LooseVersion(Cython.__version__)<LooseVersion('0.13'): raise ImportError("Cython version should be at least 0.13")
-usecuda=False
-try:
- if os.environ['CPPFLAGS'].find('-DASTRA_CUDA')!=-1:
- usecuda=True
-except KeyError:
- pass
-try:
- if os.environ['CL'].find('/DASTRA_CUDA')!=-1:
- usecuda=True
-except KeyError:
- pass
+if parse_version(Cython.__version__) < parse_version('0.13'):
+ raise ImportError('Cython version should be at least 0.13')
+
+use_cuda = ('-DASTRA_CUDA' in os.environ.get('CPPFLAGS', '') or
+ '/DASTRA_CUDA' in os.environ.get('CL', ''))
+self_path = os.path.dirname(os.path.abspath(__file__))
-cfgToWrite = 'DEF HAVE_CUDA=' + str(usecuda) + "\n"
-cfgHasToBeUpdated = True
+cfg_string = 'DEF HAVE_CUDA=' + str(use_cuda) + '\n'
+update_cfg = True
try:
- cfg = open('astra/config.pxi','r')
- cfgIn = cfg.read()
- cfg.close()
- if cfgIn==cfgToWrite:
- cfgHasToBeUpdated = False
+ with open(os.path.join(self_path, 'astra', 'config.pxi'), 'r') as cfg:
+ cfg_fromfile = cfg.read()
+ if cfg_fromfile == cfg_string:
+ update_cfg = False
except IOError:
pass
-if cfgHasToBeUpdated:
- cfg = open('astra/config.pxi','w')
- cfg.write(cfgToWrite)
- cfg.close()
+if update_cfg:
+ with open(os.path.join(self_path, 'astra', 'config.pxi'), 'w') as cfg:
+ cfg.write(cfg_string)
+
+pkgdata = {}
+if os.environ.get('ASTRA_INSTALL_LIBRARY_AS_DATA', ''):
+ pkgdata['astra'] = [os.environ['ASTRA_INSTALL_LIBRARY_AS_DATA']]
-cmdclass = { }
-ext_modules = [ ]
+cmdclass = {}
+ext_modules = []
-ext_modules = cythonize("astra/*.pyx", language_level=2)
-cmdclass = { 'build_ext': build_ext }
+ext_modules = cythonize(os.path.join(self_path, 'astra', '*.pyx'),
+ language_level=2)
+cmdclass = {'build_ext': build_ext}
for m in ext_modules:
- if m.name == 'astra.plugin_c':
- m.sources.append('astra/src/PythonPluginAlgorithm.cpp')
+ if m.name == 'astra.plugin_c':
+ m.sources.append(os.path.join(self_path, 'astra', 'src',
+ 'PythonPluginAlgorithm.cpp'))
-setup (name = 'PyASTRAToolbox',
- version = '1.7.1',
- description = 'Python interface to the ASTRA-Toolbox',
- author='D.M. Pelt',
- author_email='D.M.Pelt@cwi.nl',
- url='http://sf.net/projects/astra-toolbox',
- #ext_package='astra',
- #ext_modules = cythonize(Extension("astra/*.pyx",extra_compile_args=extra_compile_args,extra_linker_args=extra_compile_args)),
- license='GPLv3',
- ext_modules = ext_modules,
- include_dirs=[np.get_include()],
- cmdclass = cmdclass,
- #ext_modules = [Extension("astra","astra/astra.pyx")],
- packages=['astra'],
- requires=["numpy"],
- )
+setup(name='astra-toolbox',
+ version='1.8',
+ description='Python interface to the ASTRA Toolbox',
+ author='D.M. Pelt',
+ author_email='D.M.Pelt@cwi.nl',
+ url='https://github.com/astra-toolbox/astra-toolbox',
+ # ext_package='astra',
+ # ext_modules = cythonize(
+ # Extension("astra/*.pyx",
+ # extra_compile_args=extra_compile_args,
+ # extra_linker_args=extra_compile_args)),
+ license='GPLv3',
+ ext_modules=ext_modules,
+ include_dirs=[np.get_include()],
+ cmdclass=cmdclass,
+ # ext_modules = [Extension("astra","astra/astra.pyx")],
+ packages=['astra', 'astra.plugins'],
+ package_data=pkgdata,
+ requires=['numpy', 'scipy', 'six'],
+ )
diff --git a/python/conda/astra-toolbox/bld.bat b/python/conda/astra-toolbox/bld.bat
new file mode 100644
index 0000000..15777ce
--- /dev/null
+++ b/python/conda/astra-toolbox/bld.bat
@@ -0,0 +1,33 @@
+@echo off
+
+set R=%SRC_DIR%
+
+set B_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
+call "%B_VC%\vcvars64.bat"
+
+set B_BV=1_62
+set B_BOOST=D:\wjp\boost_%B_BV%_0
+
+cd /D "%B_BOOST%\lib64-msvc-14.0"
+
+mkdir "%R%\lib\x64"
+mkdir "%R%\bin\x64\Release_CUDA"
+
+copy boost_unit_test_framework-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_chrono-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_date_time-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_system-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_thread-vc140-mt-%B_BV%.lib %R%\lib\x64
+
+cd %B_BOOST%
+
+xcopy /i /e /q boost "%R%\lib\include\boost"
+
+cd /D %R%
+
+cd python
+
+set VS90COMNTOOLS=%VS140COMNTOOLS%
+set CL=/DASTRA_CUDA /DASTRA_PYTHON "/I%R%\include" "/I%R%\lib\include" "/I%CUDA_PATH%\include"
+copy "%CONDA_PREFIX%\Library\lib\AstraCuda64.lib" astra.lib
+python builder.py build_ext --compiler=msvc install
diff --git a/python/conda/astra-toolbox/build.sh b/python/conda/astra-toolbox/build.sh
new file mode 100644
index 0000000..951fd88
--- /dev/null
+++ b/python/conda/astra-toolbox/build.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+cd $SRC_DIR/python/
+CPPFLAGS="-DASTRA_CUDA -DASTRA_PYTHON $CPPFLAGS -I$SRC_DIR/ -I$SRC_DIR/include -I$CUDA_ROOT/include" CC=$CC python ./builder.py build install
diff --git a/python/conda/meta.yaml b/python/conda/astra-toolbox/meta.yaml
index e6a7f52..942397e 100644
--- a/python/conda/meta.yaml
+++ b/python/conda/astra-toolbox/meta.yaml
@@ -1,35 +1,41 @@
package:
name: astra-toolbox
- version: '1.8b'
+ version: '1.8'
source:
git_url: https://github.com/astra-toolbox/astra-toolbox.git
- #git_tag: v1.7.1 # Change to 1.8 after release
+ git_tag: v1.8
build:
number: 0
script_env:
- - CUDA_ROOT
- - MAKEOPTS
+ - CC # [not win]
+ - CUDA_ROOT # [not win]
test:
imports:
- astra
+ requires:
+ # To avoid large downloads just for testing after build phase
+ - nomkl # [not win]
+
requirements:
build:
- python
- cython >=0.13
+ - nomkl # [not win]
- numpy
- scipy
- six
+ - libastra ==1.8
run:
- python
- - numpy
+ - numpy x.x
- scipy
- six
- - libastra ==1.8b
+ - libastra ==1.8
about:
diff --git a/python/conda/build.sh b/python/conda/build.sh
deleted file mode 100644
index 13ae3f8..0000000
--- a/python/conda/build.sh
+++ /dev/null
@@ -1,8 +0,0 @@
-cd build/linux
-./autogen.sh
-./configure --with-python --with-cuda=$CUDA_ROOT --prefix=$PREFIX
-if [ $MAKEOPTS == '<UNDEFINED>' ]
- then
- MAKEOPTS=""
-fi
-make $MAKEOPTS python-root-install \ No newline at end of file
diff --git a/python/conda/libastra/bld.bat b/python/conda/libastra/bld.bat
new file mode 100644
index 0000000..29b894a
--- /dev/null
+++ b/python/conda/libastra/bld.bat
@@ -0,0 +1,33 @@
+@echo off
+
+set R=%SRC_DIR%
+
+set B_VC=C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64
+call "%B_VC%\vcvars64.bat"
+
+set B_BV=1_62
+set B_BOOST=D:\wjp\boost_%B_BV%_0
+
+cd /D "%B_BOOST%\lib64-msvc-14.0"
+
+mkdir "%R%\lib\x64"
+mkdir "%R%\bin\x64\Release_CUDA"
+
+copy boost_unit_test_framework-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_chrono-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_date_time-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_system-vc140-mt-%B_BV%.lib %R%\lib\x64
+copy libboost_thread-vc140-mt-%B_BV%.lib %R%\lib\x64
+
+cd %B_BOOST%
+
+xcopy /i /e /q boost "%R%\lib\include\boost"
+
+cd /D %R%
+
+msbuild astra_vc14.sln /p:Configuration=Release_CUDA /p:Platform=x64 /t:astra_vc14
+
+copy bin\x64\Release_CUDA\AstraCuda64.dll "%CONDA_PREFIX%\Library\bin"
+copy bin\x64\Release_CUDA\AstraCuda64.lib "%CONDA_PREFIX%\Library\lib"
+copy "%CUDA_PATH%\bin\cudart64_80.dll" "%CONDA_PREFIX%\Library\bin"
+copy "%CUDA_PATH%\bin\cufft64_80.dll" "%CONDA_PREFIX%\Library\bin"
diff --git a/python/conda/libastra/build.sh b/python/conda/libastra/build.sh
index e1d9700..304c053 100644
--- a/python/conda/libastra/build.sh
+++ b/python/conda/libastra/build.sh
@@ -1,15 +1,29 @@
-cd build/linux
-./autogen.sh
-./configure --with-cuda=$CUDA_ROOT --prefix=$PREFIX
-if [ $MAKEOPTS == '<UNDEFINED>' ]
- then
- MAKEOPTS=""
-fi
-make $MAKEOPTS install-libraries
-LIBPATH=lib
-if [ $ARCH == 64 ]
- then
- LIBPATH+=64
-fi
-cp -P $CUDA_ROOT/$LIBPATH/libcudart.so.* $PREFIX/lib
-cp -P $CUDA_ROOT/$LIBPATH/libcufft.so.* $PREFIX/lib
+#!/bin/sh
+
+cd $SRC_DIR/build/linux
+
+$SRC_DIR/build/linux/autogen.sh
+
+# Add C++11 to compiler flags if nvcc supports it, mostly to work around a boost bug
+NVCC=$CUDA_ROOT/bin/nvcc
+echo "int main(){return 0;}" > $CONDA_PREFIX/test.cu
+$NVCC $CONDA_PREFIX/test.cu -ccbin $CC --std=c++11 -o $CONDA_PREFIX/test.out > /dev/null 2>&1 && EXTRA_NVCCFLAGS="--std=c++11" || true
+rm -f $CONDA_PREFIX/test.out
+
+$SRC_DIR/build/linux/configure --with-install-type=prefix --with-cuda=$CUDA_ROOT --prefix=$CONDA_PREFIX NVCCFLAGS="-ccbin $CC -I$CONDA_PREFIX/include $EXTRA_NVCCFLAGS" CC=$CC CXX=$CXX CPPFLAGS="-I$CONDA_PREFIX/include"
+
+make install-libraries
+
+
+test -d $CUDA_ROOT/lib64 && LIBPATH="$CUDA_ROOT/lib64" || LIBPATH="$CUDA_ROOT/lib"
+
+case `uname` in
+ Darwin*)
+ cp -P $LIBPATH/libcudart.*.dylib $CONDA_PREFIX/lib
+ cp -P $LIBPATH/libcufft.*.dylib $CONDA_PREFIX/lib
+ ;;
+ *)
+ cp -P $LIBPATH/libcudart.so.* $CONDA_PREFIX/lib
+ cp -P $LIBPATH/libcufft.so.* $CONDA_PREFIX/lib
+ ;;
+esac
diff --git a/python/conda/libastra/meta.yaml b/python/conda/libastra/meta.yaml
index 73fa0d7..68cf47a 100644
--- a/python/conda/libastra/meta.yaml
+++ b/python/conda/libastra/meta.yaml
@@ -1,16 +1,28 @@
package:
name: libastra
- version: '1.8b'
+ version: '1.8'
source:
git_url: https://github.com/astra-toolbox/astra-toolbox.git
- #git_tag: v1.7.1 # Change to 1.8 after release
+ git_tag: v1.8
build:
number: 0
script_env:
- - CUDA_ROOT
- - MAKEOPTS
+ - CC # [not win]
+ - CXX # [not win]
+ - CUDA_ROOT # [not win]
+
+requirements:
+ build:
+ - vs2015_runtime # [win]
+ - boost # [osx]
+ - automake # [osx]
+ - autoconf # [osx]
+ - libtool # [osx]
+
+ run:
+ - vs2015_runtime # [win]
about:
home: http://www.astra-toolbox.com
diff --git a/python/conda/linux_release/README.txt b/python/conda/linux_release/README.txt
new file mode 100644
index 0000000..12cfcbb
--- /dev/null
+++ b/python/conda/linux_release/README.txt
@@ -0,0 +1,2 @@
+This directory contains a Docker container based environment for building linux release packages for conda.
+
diff --git a/python/conda/linux_release/buildenv/Dockerfile b/python/conda/linux_release/buildenv/Dockerfile
new file mode 100644
index 0000000..c73e4b9
--- /dev/null
+++ b/python/conda/linux_release/buildenv/Dockerfile
@@ -0,0 +1,15 @@
+FROM debian:7
+ENV PATH /root/miniconda3/bin:$PATH
+ENV DEBIAN_FRONTEND noninteractive
+# http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run
+ADD cuda_5.5.22_linux_64.run /root/
+# https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh
+ADD Miniconda3-4.2.12-Linux-x86_64.sh /root/
+RUN apt-get update
+RUN apt-get install -y perl-modules build-essential autoconf libtool automake libboost-dev git
+RUN /bin/bash /root/Miniconda3-4.2.12-Linux-x86_64.sh -b
+RUN /bin/bash /root/cuda_5.5.22_linux_64.run -toolkit -silent
+RUN conda install -y conda-build
+ENV CUDA_ROOT /usr/local/cuda
+ENV CC gcc
+ENV CXX g++
diff --git a/python/conda/linux_release/builder/Dockerfile b/python/conda/linux_release/builder/Dockerfile
new file mode 100644
index 0000000..2404609
--- /dev/null
+++ b/python/conda/linux_release/builder/Dockerfile
@@ -0,0 +1,17 @@
+FROM astra-build-env
+ARG BUILD_NUMBER=
+WORKDIR /root
+RUN git clone --depth 1 https://github.com/astra-toolbox/astra-toolbox
+RUN [ -z $BUILD_NUMBER ] || perl -pi -e "s/^(\s*number:\s*)[0-9]+$/\${1}$BUILD_NUMBER/" astra-toolbox/python/conda/libastra/meta.yaml astra-toolbox/python/conda/astra-toolbox/meta.yaml
+RUN conda-build --python=3.5 astra-toolbox/python/conda/libastra
+RUN conda-build --python 2.7 --numpy 1.8 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 2.7 --numpy 1.9 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 2.7 --numpy 1.10 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 2.7 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 2.7 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.5 --numpy 1.9 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.5 --numpy 1.10 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.5 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.5 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.6 --numpy 1.11 astra-toolbox/python/conda/astra-toolbox
+RUN conda-build --python 3.6 --numpy 1.12 astra-toolbox/python/conda/astra-toolbox
diff --git a/python/conda/linux_release/release.sh b/python/conda/linux_release/release.sh
new file mode 100644
index 0000000..cf62bd5
--- /dev/null
+++ b/python/conda/linux_release/release.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+
+D=`mktemp -d`
+
+[ -f buildenv/cuda_5.5.22_linux_64.run ] || (cd buildenv; wget http://developer.download.nvidia.com/compute/cuda/5_5/rel/installers/cuda_5.5.22_linux_64.run )
+[ -f buildenv/Miniconda3-4.2.12-Linux-x86_64.sh ] || (cd buildenv; wget https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh )
+
+docker build -t astra-build-env buildenv
+#docker build --no-cache --build-arg=BUILD_NUMBER=0 -t astra-builder builder
+docker build --no-cache -t astra-builder builder
+
+docker run --name astra-build-cnt -v $D:/out:z astra-builder /bin/bash -c "cp /root/miniconda3/conda-bld/linux-64/*astra* /out"
+
+mkdir -p pkgs
+mv $D/* pkgs
+rmdir $D
+
+docker rm astra-build-cnt
+docker rmi astra-builder
+
diff --git a/samples/matlab/s001_sinogram_par2d.m b/samples/matlab/s001_sinogram_par2d.m
index 4494e7b..0295cdf 100644
--- a/samples/matlab/s001_sinogram_par2d.m
+++ b/samples/matlab/s001_sinogram_par2d.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
% Create a basic 256x256 square volume geometry
diff --git a/samples/matlab/s002_data2d.m b/samples/matlab/s002_data2d.m
index a91071f..b082cb3 100644
--- a/samples/matlab/s002_data2d.m
+++ b/samples/matlab/s002_data2d.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s003_gpu_reconstruction.m b/samples/matlab/s003_gpu_reconstruction.m
index efb5c68..d98f720 100644
--- a/samples/matlab/s003_gpu_reconstruction.m
+++ b/samples/matlab/s003_gpu_reconstruction.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s004_cpu_reconstruction.m b/samples/matlab/s004_cpu_reconstruction.m
index f25cd2b..96f892a 100644
--- a/samples/matlab/s004_cpu_reconstruction.m
+++ b/samples/matlab/s004_cpu_reconstruction.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s005_3d_geometry.m b/samples/matlab/s005_3d_geometry.m
index 4b7360b..227dccd 100644
--- a/samples/matlab/s005_3d_geometry.m
+++ b/samples/matlab/s005_3d_geometry.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(64, 64, 64);
diff --git a/samples/matlab/s006_3d_data.m b/samples/matlab/s006_3d_data.m
index 32d88cc..dd45550 100644
--- a/samples/matlab/s006_3d_data.m
+++ b/samples/matlab/s006_3d_data.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
% Create a 3D volume geometry.
diff --git a/samples/matlab/s007_3d_reconstruction.m b/samples/matlab/s007_3d_reconstruction.m
index fc9aca6..17c5d8c 100644
--- a/samples/matlab/s007_3d_reconstruction.m
+++ b/samples/matlab/s007_3d_reconstruction.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(128, 128, 128);
diff --git a/samples/matlab/s008_gpu_selection.m b/samples/matlab/s008_gpu_selection.m
index a9e152d..7a24028 100644
--- a/samples/matlab/s008_gpu_selection.m
+++ b/samples/matlab/s008_gpu_selection.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s009_projection_matrix.m b/samples/matlab/s009_projection_matrix.m
index efda0d2..645986b 100644
--- a/samples/matlab/s009_projection_matrix.m
+++ b/samples/matlab/s009_projection_matrix.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s010_supersampling.m b/samples/matlab/s010_supersampling.m
index 148f6ad..86a973d 100644
--- a/samples/matlab/s010_supersampling.m
+++ b/samples/matlab/s010_supersampling.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s011_object_info.m b/samples/matlab/s011_object_info.m
index 61ecb83..85665fd 100644
--- a/samples/matlab/s011_object_info.m
+++ b/samples/matlab/s011_object_info.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
% Create two volume geometries
diff --git a/samples/matlab/s012_masks.m b/samples/matlab/s012_masks.m
index d3611a6..26d48a2 100644
--- a/samples/matlab/s012_masks.m
+++ b/samples/matlab/s012_masks.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
diff --git a/samples/matlab/s013_constraints.m b/samples/matlab/s013_constraints.m
index d72195c..07bdb05 100644
--- a/samples/matlab/s013_constraints.m
+++ b/samples/matlab/s013_constraints.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
% In this example we will create a reconstruction constrained to
diff --git a/samples/matlab/s014_FBP.m b/samples/matlab/s014_FBP.m
index faf91fb..fb91a41 100644
--- a/samples/matlab/s014_FBP.m
+++ b/samples/matlab/s014_FBP.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s015_fp_bp.m b/samples/matlab/s015_fp_bp.m
index 8cc417e..56c5ed4 100644
--- a/samples/matlab/s015_fp_bp.m
+++ b/samples/matlab/s015_fp_bp.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
diff --git a/samples/matlab/s016_plots.m b/samples/matlab/s016_plots.m
index 1455c6d..56f47d8 100644
--- a/samples/matlab/s016_plots.m
+++ b/samples/matlab/s016_plots.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
vol_geom = astra_create_vol_geom(256, 256);
diff --git a/samples/matlab/s017_opTomo.m b/samples/matlab/s017_opTomo.m
index 891a93d..71f8d55 100644
--- a/samples/matlab/s017_opTomo.m
+++ b/samples/matlab/s017_opTomo.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
% This sample illustrates the use of opTomo.
diff --git a/samples/matlab/s020_3d_multiGPU.m b/samples/matlab/s020_3d_multiGPU.m
index bade325..46b984e 100644
--- a/samples/matlab/s020_3d_multiGPU.m
+++ b/samples/matlab/s020_3d_multiGPU.m
@@ -1,11 +1,11 @@
% -----------------------------------------------------------------------
% This file is part of the ASTRA Toolbox
%
-% Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
-% 2014-2015, CWI, Amsterdam
+% Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+% 2014-2016, CWI, Amsterdam
% License: Open Source under GPLv3
% Contact: astra@uantwerpen.be
-% Website: http://sf.net/projects/astra-toolbox
+% Website: http://www.astra-toolbox.com/
% -----------------------------------------------------------------------
diff --git a/samples/python/s001_sinogram_par2d.py b/samples/python/s001_sinogram_par2d.py
index 1d1b912..11ca748 100644
--- a/samples/python/s001_sinogram_par2d.py
+++ b/samples/python/s001_sinogram_par2d.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s002_data2d.py b/samples/python/s002_data2d.py
index 35fb91f..b7fc969 100644
--- a/samples/python/s002_data2d.py
+++ b/samples/python/s002_data2d.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s003_gpu_reconstruction.py b/samples/python/s003_gpu_reconstruction.py
index 07b38ef..1a94b55 100644
--- a/samples/python/s003_gpu_reconstruction.py
+++ b/samples/python/s003_gpu_reconstruction.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s004_cpu_reconstruction.py b/samples/python/s004_cpu_reconstruction.py
index 8385cf8..3b6ffbe 100644
--- a/samples/python/s004_cpu_reconstruction.py
+++ b/samples/python/s004_cpu_reconstruction.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s005_3d_geometry.py b/samples/python/s005_3d_geometry.py
index a7f7a3d..cd48b1e 100644
--- a/samples/python/s005_3d_geometry.py
+++ b/samples/python/s005_3d_geometry.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
try:
from six.moves import range
diff --git a/samples/python/s006_3d_data.py b/samples/python/s006_3d_data.py
index 5178179..50efd99 100644
--- a/samples/python/s006_3d_data.py
+++ b/samples/python/s006_3d_data.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s007_3d_reconstruction.py b/samples/python/s007_3d_reconstruction.py
index 40e9556..85d029a 100644
--- a/samples/python/s007_3d_reconstruction.py
+++ b/samples/python/s007_3d_reconstruction.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s008_gpu_selection.py b/samples/python/s008_gpu_selection.py
index a180802..9fa9d49 100644
--- a/samples/python/s008_gpu_selection.py
+++ b/samples/python/s008_gpu_selection.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s009_projection_matrix.py b/samples/python/s009_projection_matrix.py
index e20d58c..dccaa4b 100644
--- a/samples/python/s009_projection_matrix.py
+++ b/samples/python/s009_projection_matrix.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s010_supersampling.py b/samples/python/s010_supersampling.py
index 1a337bc..42d7296 100644
--- a/samples/python/s010_supersampling.py
+++ b/samples/python/s010_supersampling.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s011_object_info.py b/samples/python/s011_object_info.py
index 02f387a..3442a9f 100644
--- a/samples/python/s011_object_info.py
+++ b/samples/python/s011_object_info.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
diff --git a/samples/python/s012_masks.py b/samples/python/s012_masks.py
index 0f667b0..073515f 100644
--- a/samples/python/s012_masks.py
+++ b/samples/python/s012_masks.py
@@ -1,29 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
-
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s013_constraints.py b/samples/python/s013_constraints.py
index 8b63d5e..ca8b2d8 100644
--- a/samples/python/s013_constraints.py
+++ b/samples/python/s013_constraints.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s014_FBP.py b/samples/python/s014_FBP.py
index 2f8e388..051eff7 100644
--- a/samples/python/s014_FBP.py
+++ b/samples/python/s014_FBP.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s015_fp_bp.py b/samples/python/s015_fp_bp.py
index ff0b30a..5d5e945 100644
--- a/samples/python/s015_fp_bp.py
+++ b/samples/python/s015_fp_bp.py
@@ -1,29 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
-
+# -----------------------------------------------------------------------
# This example demonstrates using the FP and BP primitives with Matlab's lsqr
# solver. Calls to FP (astra.create_sino) and
diff --git a/samples/python/s016_plots.py b/samples/python/s016_plots.py
index 8a8ba64..cc2a53a 100644
--- a/samples/python/s016_plots.py
+++ b/samples/python/s016_plots.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
try:
from six.moves import range
diff --git a/samples/python/s017_OpTomo.py b/samples/python/s017_OpTomo.py
index 214e9a7..b568570 100644
--- a/samples/python/s017_OpTomo.py
+++ b/samples/python/s017_OpTomo.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s018_plugin.py b/samples/python/s018_plugin.py
index 85b5486..dbd9274 100644
--- a/samples/python/s018_plugin.py
+++ b/samples/python/s018_plugin.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2015 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
@@ -124,6 +123,14 @@ if __name__=='__main__':
# We can also use OpTomo to call the plugin
rec_op = W.reconstruct('LANDWEBER-PLUGIN', sinogram, 100, extraOptions={'Relaxation':1.5})
+
+ # ASTRA also comes with built-in plugins:
+ astra.plugin.register(astra.plugins.SIRTPlugin)
+ astra.plugin.register(astra.plugins.CGLSPlugin)
+ rec_sirt = W.reconstruct('SIRT-PLUGIN', sinogram, 100, extraOptions={'Relaxation':1.5})
+ rec_cgls = W.reconstruct('CGLS-PLUGIN', sinogram, 100)
+
+
import pylab as pl
pl.gray()
pl.figure(1)
@@ -132,6 +139,10 @@ if __name__=='__main__':
pl.imshow(rec_rel,vmin=0,vmax=1)
pl.figure(3)
pl.imshow(rec_op,vmin=0,vmax=1)
+ pl.figure(4)
+ pl.imshow(rec_sirt,vmin=0,vmax=1)
+ pl.figure(5)
+ pl.imshow(rec_cgls,vmin=0,vmax=1)
pl.show()
# Clean up.
diff --git a/samples/python/s019_experimental_multires.py b/samples/python/s019_experimental_multires.py
index cf38e53..1aff223 100644
--- a/samples/python/s019_experimental_multires.py
+++ b/samples/python/s019_experimental_multires.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s020_3d_multiGPU.py b/samples/python/s020_3d_multiGPU.py
index d6799c4..11a1e11 100644
--- a/samples/python/s020_3d_multiGPU.py
+++ b/samples/python/s020_3d_multiGPU.py
@@ -1,28 +1,27 @@
-#-----------------------------------------------------------------------
-#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
#
-#Author: Daniel M. Pelt
-#Contact: D.M.Pelt@cwi.nl
-#Website: http://dmpelt.github.io/pyastratoolbox/
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
#
+# This file is part of the ASTRA Toolbox.
#
-#This file is part of the Python interface to the
-#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
#
-#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
-#it under the terms of the GNU General Public License as published by
-#the Free Software Foundation, either version 3 of the License, or
-#(at your option) any later version.
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
#
-#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
-#but WITHOUT ANY WARRANTY; without even the implied warranty of
-#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-#GNU General Public License for more details.
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
#
-#You should have received a copy of the GNU General Public License
-#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#
-#-----------------------------------------------------------------------
+# -----------------------------------------------------------------------
import astra
import numpy as np
diff --git a/samples/python/s021_pygpu.py b/samples/python/s021_pygpu.py
new file mode 100644
index 0000000..db6584b
--- /dev/null
+++ b/samples/python/s021_pygpu.py
@@ -0,0 +1,72 @@
+# -----------------------------------------------------------------------
+# Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+# 2013-2016, CWI, Amsterdam
+#
+# Contact: astra@uantwerpen.be
+# Website: http://www.astra-toolbox.com/
+#
+# This file is part of the ASTRA Toolbox.
+#
+#
+# The ASTRA Toolbox is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# The ASTRA Toolbox is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+#
+# -----------------------------------------------------------------------
+
+import astra
+import numpy as np
+import pygpu
+import pylab
+
+# Initialize pygpu
+ctx = pygpu.init('cuda')
+pygpu.set_default_context(ctx)
+
+vol_geom = astra.create_vol_geom(128, 128, 128)
+angles = np.linspace(0, 2 * np.pi, 180, False)
+proj_geom = astra.create_proj_geom('cone', 1.0, 1.0, 128, 192, angles, 1000, 0)
+
+# Create a simple hollow cube phantom, as a pygpu gpuarray
+vol_gpuarr = pygpu.gpuarray.zeros(astra.functions.geom_size(vol_geom), dtype='float32')
+vol_gpuarr[17:113, 17:113, 17:113] = 1
+vol_gpuarr[33:97, 33:97, 33:97] = 0
+
+# Create a pygpu gpuarray for the output projection data
+proj_gpuarr = pygpu.gpuarray.zeros(astra.functions.geom_size(proj_geom), dtype='float32')
+
+# Create the astra GPULink objects and create astra data3d objects from them
+z, y, x = proj_gpuarr.shape
+proj_data_link = astra.data3d.GPULink(proj_gpuarr.gpudata, x, y, z,
+ proj_gpuarr.strides[-2])
+z, y, x = vol_gpuarr.shape
+vol_link = astra.data3d.GPULink(vol_gpuarr.gpudata, x, y, z,
+ vol_gpuarr.strides[-2])
+
+proj_id = astra.data3d.link('-sino', proj_geom, proj_data_link)
+vol_id = astra.data3d.link('-vol', vol_geom, vol_link)
+
+# Run a 3D FP
+cfg = astra.astra_dict('FP3D_CUDA')
+cfg['VolumeDataId'] = vol_id
+cfg['ProjectionDataId'] = proj_id
+alg_id = astra.algorithm.create(cfg)
+astra.algorithm.run(alg_id)
+
+pylab.figure(1)
+pylab.gray()
+pylab.imshow(proj_gpuarr[:, 20, :])
+pylab.show()
+
+astra.algorithm.delete(alg_id)
+astra.data3d.delete(vol_id)
+astra.data3d.delete(proj_id)
diff --git a/src/Algorithm.cpp b/src/Algorithm.cpp
index 7b61b8c..5b53d1a 100644
--- a/src/Algorithm.cpp
+++ b/src/Algorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Algorithm.h"
diff --git a/src/ArtAlgorithm.cpp b/src/ArtAlgorithm.cpp
index 526c263..adec638 100644
--- a/src/ArtAlgorithm.cpp
+++ b/src/ArtAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ArtAlgorithm.h"
diff --git a/src/AstraObjectFactory.cpp b/src/AstraObjectFactory.cpp
index 35132d0..0e09d05 100644
--- a/src/AstraObjectFactory.cpp
+++ b/src/AstraObjectFactory.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/AstraObjectFactory.h"
@@ -32,8 +31,8 @@ using namespace std;
namespace astra {
-DEFINE_SINGLETON2(CAstraObjectFactory<CAlgorithm, AlgorithmTypeList>);
-DEFINE_SINGLETON2(CAstraObjectFactory<CProjector2D, Projector2DTypeList>);
-DEFINE_SINGLETON2(CAstraObjectFactory<CProjector3D, Projector3DTypeList>);
+DEFINE_SINGLETON2(CAstraObjectFactory<CAlgorithm, AlgorithmTypeList>)
+DEFINE_SINGLETON2(CAstraObjectFactory<CProjector2D, Projector2DTypeList>)
+DEFINE_SINGLETON2(CAstraObjectFactory<CProjector3D, Projector3DTypeList>)
} // end namespace
diff --git a/src/AstraObjectManager.cpp b/src/AstraObjectManager.cpp
index 46eae4b..274601d 100644
--- a/src/AstraObjectManager.cpp
+++ b/src/AstraObjectManager.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/AstraObjectManager.h"
@@ -31,13 +30,13 @@ $Id$
namespace astra {
-DEFINE_SINGLETON(CProjector2DManager);
-DEFINE_SINGLETON(CProjector3DManager);
-DEFINE_SINGLETON(CData2DManager);
-DEFINE_SINGLETON(CData3DManager);
-DEFINE_SINGLETON(CAlgorithmManager);
-DEFINE_SINGLETON(CMatrixManager);
+DEFINE_SINGLETON(CProjector2DManager)
+DEFINE_SINGLETON(CProjector3DManager)
+DEFINE_SINGLETON(CData2DManager)
+DEFINE_SINGLETON(CData3DManager)
+DEFINE_SINGLETON(CAlgorithmManager)
+DEFINE_SINGLETON(CMatrixManager)
-DEFINE_SINGLETON(CAstraIndexManager);
+DEFINE_SINGLETON(CAstraIndexManager)
} // end namespace
diff --git a/src/AsyncAlgorithm.cpp b/src/AsyncAlgorithm.cpp
index b265f59..54083a3 100644
--- a/src/AsyncAlgorithm.cpp
+++ b/src/AsyncAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/AsyncAlgorithm.h"
diff --git a/src/BackProjectionAlgorithm.cpp b/src/BackProjectionAlgorithm.cpp
index c9beee1..c510858 100644
--- a/src/BackProjectionAlgorithm.cpp
+++ b/src/BackProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/BackProjectionAlgorithm.h"
diff --git a/src/CglsAlgorithm.cpp b/src/CglsAlgorithm.cpp
index 1ca2549..621e004 100644
--- a/src/CglsAlgorithm.cpp
+++ b/src/CglsAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CglsAlgorithm.h"
diff --git a/src/CompositeGeometryManager.cpp b/src/CompositeGeometryManager.cpp
index 7c4f8e6..a4dace2 100644
--- a/src/CompositeGeometryManager.cpp
+++ b/src/CompositeGeometryManager.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -39,6 +39,8 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#include "astra/CudaProjector3D.h"
#include "astra/Float32ProjectionData3DMemory.h"
#include "astra/Float32VolumeData3DMemory.h"
+#include "astra/Float32ProjectionData3DGPU.h"
+#include "astra/Float32VolumeData3DGPU.h"
#include "astra/Logging.h"
#include "../cuda/3d/mem3d.h"
@@ -97,6 +99,127 @@ CCompositeGeometryManager::CCompositeGeometryManager()
// (First approach: 0.5/0.5)
+
+
+
+class _AstraExport CFloat32CustomGPUMemory {
+public:
+ astraCUDA3d::MemHandle3D hnd; // Only required to be valid between allocate/free
+ virtual bool allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, astraCUDA3d::Mem3DZeroMode zero)=0;
+ virtual bool copyToGPUMemory(const astraCUDA3d::SSubDimensions3D &pos)=0;
+ virtual bool copyFromGPUMemory(const astraCUDA3d::SSubDimensions3D &pos)=0;
+ virtual bool freeGPUMemory()=0;
+ virtual ~CFloat32CustomGPUMemory() { }
+};
+
+class CFloat32ExistingGPUMemory : public astra::CFloat32CustomGPUMemory {
+public:
+ CFloat32ExistingGPUMemory(CFloat32Data3DGPU *d);
+ virtual bool allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, astraCUDA3d::Mem3DZeroMode zero);
+ virtual bool copyToGPUMemory(const astraCUDA3d::SSubDimensions3D &pos);
+ virtual bool copyFromGPUMemory(const astraCUDA3d::SSubDimensions3D &pos);
+ virtual bool freeGPUMemory();
+
+protected:
+ unsigned int x, y, z;
+};
+
+class CFloat32DefaultGPUMemory : public astra::CFloat32CustomGPUMemory {
+public:
+ CFloat32DefaultGPUMemory(CFloat32Data3DMemory* d) {
+ ptr = d->getData();
+ }
+ virtual bool allocateGPUMemory(unsigned int x, unsigned int y, unsigned int z, astraCUDA3d::Mem3DZeroMode zero) {
+ hnd = astraCUDA3d::allocateGPUMemory(x, y, z, zero);
+ return (bool)hnd;
+ }
+ virtual bool copyToGPUMemory(const astraCUDA3d::SSubDimensions3D &pos) {
+ return astraCUDA3d::copyToGPUMemory(ptr, hnd, pos);
+ }
+ virtual bool copyFromGPUMemory(const astraCUDA3d::SSubDimensions3D &pos) {
+ return astraCUDA3d::copyFromGPUMemory(ptr, hnd, pos);
+ }
+ virtual bool freeGPUMemory() {
+ return astraCUDA3d::freeGPUMemory(hnd);
+ }
+
+protected:
+ float *ptr;
+};
+
+
+
+CFloat32ExistingGPUMemory::CFloat32ExistingGPUMemory(CFloat32Data3DGPU *d)
+{
+ hnd = d->getHandle();
+ x = d->getWidth();
+ y = d->getHeight();
+ z = d->getDepth();
+}
+
+bool CFloat32ExistingGPUMemory::allocateGPUMemory(unsigned int x_, unsigned int y_, unsigned int z_, astraCUDA3d::Mem3DZeroMode zero) {
+ assert(x_ == x);
+ assert(y_ == y);
+ assert(z_ == z);
+
+ if (zero == astraCUDA3d::INIT_ZERO)
+ return astraCUDA3d::zeroGPUMemory(hnd, x, y, z);
+ else
+ return true;
+}
+bool CFloat32ExistingGPUMemory::copyToGPUMemory(const astraCUDA3d::SSubDimensions3D &pos) {
+ assert(pos.nx == x);
+ assert(pos.ny == y);
+ assert(pos.nz == z);
+ assert(pos.pitch == x);
+ assert(pos.subx == 0);
+ assert(pos.suby == 0);
+ assert(pos.subnx == x);
+ assert(pos.subny == y);
+
+ // These are less necessary than x/y, but allowing access to
+ // subvolumes needs an interface change
+ assert(pos.subz == 0);
+ assert(pos.subnz == z);
+
+ return true;
+}
+bool CFloat32ExistingGPUMemory::copyFromGPUMemory(const astraCUDA3d::SSubDimensions3D &pos) {
+ assert(pos.nx == x);
+ assert(pos.ny == y);
+ assert(pos.nz == z);
+ assert(pos.pitch == x);
+ assert(pos.subx == 0);
+ assert(pos.suby == 0);
+ assert(pos.subnx == x);
+ assert(pos.subny == y);
+
+ // These are less necessary than x/y, but allowing access to
+ // subvolumes needs an interface change
+ assert(pos.subz == 0);
+ assert(pos.subnz == z);
+
+ return true;
+}
+bool CFloat32ExistingGPUMemory::freeGPUMemory() {
+ return true;
+}
+
+
+CFloat32CustomGPUMemory * createGPUMemoryHandler(CFloat32Data3D *d) {
+ CFloat32Data3DMemory *dMem = dynamic_cast<CFloat32Data3DMemory*>(d);
+ CFloat32Data3DGPU *dGPU = dynamic_cast<CFloat32Data3DGPU*>(d);
+
+ if (dMem)
+ return new CFloat32DefaultGPUMemory(dMem);
+ else
+ return new CFloat32ExistingGPUMemory(dGPU);
+}
+
+
+
+
+
bool CCompositeGeometryManager::splitJobs(TJobSet &jobs, size_t maxSize, int div, TJobSet &split)
{
int maxBlockDim = astraCUDA3d::maxBlockDimension();
@@ -205,6 +328,7 @@ static std::pair<double, double> reduceProjectionVertical(const CVolumeGeometry3
// reduce self to only cover intersection with projection of VolumePart
// (Project corners of volume, take bounding box)
+ assert(pProjGeom->getProjectionCount() > 0);
for (int i = 0; i < pProjGeom->getProjectionCount(); ++i) {
double vol_u[8];
@@ -280,7 +404,7 @@ CCompositeGeometryManager::CVolumePart::~CVolumePart()
delete pGeom;
}
-void CCompositeGeometryManager::CVolumePart::getDims(size_t &x, size_t &y, size_t &z)
+void CCompositeGeometryManager::CVolumePart::getDims(size_t &x, size_t &y, size_t &z) const
{
if (!pGeom) {
x = y = z = 0;
@@ -292,13 +416,28 @@ void CCompositeGeometryManager::CVolumePart::getDims(size_t &x, size_t &y, size_
z = pGeom->getGridSliceCount();
}
-size_t CCompositeGeometryManager::CPart::getSize()
+size_t CCompositeGeometryManager::CPart::getSize() const
{
size_t x, y, z;
getDims(x, y, z);
return x * y * z;
}
+bool CCompositeGeometryManager::CPart::isFull() const
+{
+ size_t x, y, z;
+ getDims(x, y, z);
+ return x == (size_t)pData->getWidth() &&
+ y == (size_t)pData->getHeight() &&
+ z == (size_t)pData->getDepth();
+}
+
+bool CCompositeGeometryManager::CPart::canSplitAndReduce() const
+{
+ return dynamic_cast<CFloat32Data3DMemory *>(pData) != 0;
+}
+
+
static bool testVolumeRange(const std::pair<double, double>& fullRange,
const CVolumeGeometry3D *pVolGeom,
@@ -334,6 +473,9 @@ static bool testVolumeRange(const std::pair<double, double>& fullRange,
CCompositeGeometryManager::CPart* CCompositeGeometryManager::CVolumePart::reduce(const CPart *_other)
{
+ if (!canSplitAndReduce())
+ return clone();
+
const CProjectionPart *other = dynamic_cast<const CProjectionPart *>(_other);
assert(other);
@@ -654,7 +796,7 @@ static CProjectionGeometry3D* getSubProjectionGeometryV(const CProjectionGeometr
// - maybe all approximately the same size?
void CCompositeGeometryManager::CVolumePart::splitX(CCompositeGeometryManager::TPartList& out, size_t maxSize, size_t maxDim, int div)
{
- if (true) {
+ if (canSplitAndReduce()) {
// Split in vertical direction only at first, until we figure out
// a model for splitting in other directions
@@ -664,7 +806,7 @@ void CCompositeGeometryManager::CVolumePart::splitX(CCompositeGeometryManager::T
size_t blockSize = computeLinearSplit(m, div, sliceCount);
int rem = blockSize - (sliceCount % blockSize);
- if (rem == blockSize)
+ if ((size_t)rem == blockSize)
rem = 0;
ASTRA_DEBUG("From %d to %d step %d", -(rem / 2), sliceCount, blockSize);
@@ -698,12 +840,14 @@ void CCompositeGeometryManager::CVolumePart::splitX(CCompositeGeometryManager::T
out.push_back(boost::shared_ptr<CPart>(sub));
}
+ } else {
+ out.push_back(boost::shared_ptr<CPart>(clone()));
}
}
void CCompositeGeometryManager::CVolumePart::splitY(CCompositeGeometryManager::TPartList& out, size_t maxSize, size_t maxDim, int div)
{
- if (true) {
+ if (canSplitAndReduce()) {
// Split in vertical direction only at first, until we figure out
// a model for splitting in other directions
@@ -713,7 +857,7 @@ void CCompositeGeometryManager::CVolumePart::splitY(CCompositeGeometryManager::T
size_t blockSize = computeLinearSplit(m, div, sliceCount);
int rem = blockSize - (sliceCount % blockSize);
- if (rem == blockSize)
+ if ((size_t)rem == blockSize)
rem = 0;
ASTRA_DEBUG("From %d to %d step %d", -(rem / 2), sliceCount, blockSize);
@@ -747,12 +891,14 @@ void CCompositeGeometryManager::CVolumePart::splitY(CCompositeGeometryManager::T
out.push_back(boost::shared_ptr<CPart>(sub));
}
+ } else {
+ out.push_back(boost::shared_ptr<CPart>(clone()));
}
}
void CCompositeGeometryManager::CVolumePart::splitZ(CCompositeGeometryManager::TPartList& out, size_t maxSize, size_t maxDim, int div)
{
- if (true) {
+ if (canSplitAndReduce()) {
// Split in vertical direction only at first, until we figure out
// a model for splitting in other directions
@@ -762,7 +908,7 @@ void CCompositeGeometryManager::CVolumePart::splitZ(CCompositeGeometryManager::T
size_t blockSize = computeLinearSplit(m, div, sliceCount);
int rem = blockSize - (sliceCount % blockSize);
- if (rem == blockSize)
+ if ((size_t)rem == blockSize)
rem = 0;
ASTRA_DEBUG("From %d to %d step %d", -(rem / 2), sliceCount, blockSize);
@@ -796,6 +942,8 @@ void CCompositeGeometryManager::CVolumePart::splitZ(CCompositeGeometryManager::T
out.push_back(boost::shared_ptr<CPart>(sub));
}
+ } else {
+ out.push_back(boost::shared_ptr<CPart>(clone()));
}
}
@@ -815,7 +963,7 @@ CCompositeGeometryManager::CProjectionPart::~CProjectionPart()
delete pGeom;
}
-void CCompositeGeometryManager::CProjectionPart::getDims(size_t &x, size_t &y, size_t &z)
+void CCompositeGeometryManager::CProjectionPart::getDims(size_t &x, size_t &y, size_t &z) const
{
if (!pGeom) {
x = y = z = 0;
@@ -831,6 +979,9 @@ void CCompositeGeometryManager::CProjectionPart::getDims(size_t &x, size_t &y, s
CCompositeGeometryManager::CPart* CCompositeGeometryManager::CProjectionPart::reduce(const CPart *_other)
{
+ if (!canSplitAndReduce())
+ return clone();
+
const CVolumePart *other = dynamic_cast<const CVolumePart *>(_other);
assert(other);
@@ -868,7 +1019,7 @@ CCompositeGeometryManager::CPart* CCompositeGeometryManager::CProjectionPart::re
void CCompositeGeometryManager::CProjectionPart::splitX(CCompositeGeometryManager::TPartList &out, size_t maxSize, size_t maxDim, int div)
{
- if (true) {
+ if (canSplitAndReduce()) {
// Split in vertical direction only at first, until we figure out
// a model for splitting in other directions
@@ -878,7 +1029,7 @@ void CCompositeGeometryManager::CProjectionPart::splitX(CCompositeGeometryManage
size_t blockSize = computeLinearSplit(m, div, sliceCount);
int rem = blockSize - (sliceCount % blockSize);
- if (rem == blockSize)
+ if ((size_t)rem == blockSize)
rem = 0;
ASTRA_DEBUG("From %d to %d step %d", -(rem / 2), sliceCount, blockSize);
@@ -903,6 +1054,8 @@ void CCompositeGeometryManager::CProjectionPart::splitX(CCompositeGeometryManage
out.push_back(boost::shared_ptr<CPart>(sub));
}
+ } else {
+ out.push_back(boost::shared_ptr<CPart>(clone()));
}
}
@@ -914,7 +1067,7 @@ void CCompositeGeometryManager::CProjectionPart::splitY(CCompositeGeometryManage
void CCompositeGeometryManager::CProjectionPart::splitZ(CCompositeGeometryManager::TPartList &out, size_t maxSize, size_t maxDim, int div)
{
- if (true) {
+ if (canSplitAndReduce()) {
// Split in vertical direction only at first, until we figure out
// a model for splitting in other directions
@@ -924,7 +1077,7 @@ void CCompositeGeometryManager::CProjectionPart::splitZ(CCompositeGeometryManage
size_t blockSize = computeLinearSplit(m, div, sliceCount);
int rem = blockSize - (sliceCount % blockSize);
- if (rem == blockSize)
+ if ((size_t)rem == blockSize)
rem = 0;
ASTRA_DEBUG("From %d to %d step %d", -(rem / 2), sliceCount, blockSize);
@@ -949,6 +1102,8 @@ void CCompositeGeometryManager::CProjectionPart::splitZ(CCompositeGeometryManage
out.push_back(boost::shared_ptr<CPart>(sub));
}
+ } else {
+ out.push_back(boost::shared_ptr<CPart>(clone()));
}
}
@@ -959,8 +1114,8 @@ CCompositeGeometryManager::CProjectionPart* CCompositeGeometryManager::CProjecti
}
CCompositeGeometryManager::SJob CCompositeGeometryManager::createJobFP(CProjector3D *pProjector,
- CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData)
+ CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData)
{
ASTRA_DEBUG("CCompositeGeometryManager::createJobFP");
// Create single job for FP
@@ -992,8 +1147,8 @@ CCompositeGeometryManager::SJob CCompositeGeometryManager::createJobFP(CProjecto
}
CCompositeGeometryManager::SJob CCompositeGeometryManager::createJobBP(CProjector3D *pProjector,
- CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData)
+ CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData)
{
ASTRA_DEBUG("CCompositeGeometryManager::createJobBP");
// Create single job for BP
@@ -1022,8 +1177,8 @@ CCompositeGeometryManager::SJob CCompositeGeometryManager::createJobBP(CProjecto
return BP;
}
-bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData)
+bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData)
{
TJobList L;
L.push_back(createJobFP(pProjector, pVolData, pProjData));
@@ -1031,8 +1186,8 @@ bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, CFloat32VolumeDat
return doJobs(L);
}
-bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData)
+bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData)
{
TJobList L;
L.push_back(createJobBP(pProjector, pVolData, pProjData));
@@ -1041,8 +1196,9 @@ bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, CFloat32VolumeDat
}
-bool CCompositeGeometryManager::doFDK(CProjector3D *pProjector, CFloat32VolumeData3DMemory *pVolData,
- CFloat32ProjectionData3DMemory *pProjData, bool bShortScan)
+bool CCompositeGeometryManager::doFDK(CProjector3D *pProjector, CFloat32VolumeData3D *pVolData,
+ CFloat32ProjectionData3D *pProjData, bool bShortScan,
+ const float *pfFilter)
{
if (!dynamic_cast<CConeProjectionGeometry3D*>(pProjData->getGeometry())) {
ASTRA_ERROR("CCompositeGeometryManager::doFDK: cone geometry required");
@@ -1052,6 +1208,7 @@ bool CCompositeGeometryManager::doFDK(CProjector3D *pProjector, CFloat32VolumeDa
SJob job = createJobBP(pProjector, pVolData, pProjData);
job.eType = SJob::JOB_FDK;
job.FDKSettings.bShortScan = bShortScan;
+ job.FDKSettings.pfFilter = pfFilter;
TJobList L;
L.push_back(job);
@@ -1059,11 +1216,11 @@ bool CCompositeGeometryManager::doFDK(CProjector3D *pProjector, CFloat32VolumeDa
return doJobs(L);
}
-bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData)
+bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData)
{
ASTRA_DEBUG("CCompositeGeometryManager::doFP, multi-volume");
- std::vector<CFloat32VolumeData3DMemory *>::const_iterator i;
+ std::vector<CFloat32VolumeData3D *>::const_iterator i;
std::vector<boost::shared_ptr<CPart> > inputs;
for (i = volData.begin(); i != volData.end(); ++i) {
@@ -1077,7 +1234,7 @@ bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, const std::vector
inputs.push_back(boost::shared_ptr<CPart>(input));
}
- std::vector<CFloat32ProjectionData3DMemory *>::const_iterator j;
+ std::vector<CFloat32ProjectionData3D *>::const_iterator j;
std::vector<boost::shared_ptr<CPart> > outputs;
for (j = projData.begin(); j != projData.end(); ++j) {
@@ -1113,12 +1270,12 @@ bool CCompositeGeometryManager::doFP(CProjector3D *pProjector, const std::vector
return doJobs(L);
}
-bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3DMemory *>& volData, const std::vector<CFloat32ProjectionData3DMemory *>& projData)
+bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, const std::vector<CFloat32VolumeData3D *>& volData, const std::vector<CFloat32ProjectionData3D *>& projData)
{
ASTRA_DEBUG("CCompositeGeometryManager::doBP, multi-volume");
- std::vector<CFloat32VolumeData3DMemory *>::const_iterator i;
+ std::vector<CFloat32VolumeData3D *>::const_iterator i;
std::vector<boost::shared_ptr<CPart> > outputs;
for (i = volData.begin(); i != volData.end(); ++i) {
@@ -1132,7 +1289,7 @@ bool CCompositeGeometryManager::doBP(CProjector3D *pProjector, const std::vector
outputs.push_back(boost::shared_ptr<CPart>(output));
}
- std::vector<CFloat32ProjectionData3DMemory *>::const_iterator j;
+ std::vector<CFloat32ProjectionData3D *>::const_iterator j;
std::vector<boost::shared_ptr<CPart> > inputs;
for (j = projData.begin(); j != projData.end(); ++j) {
@@ -1186,14 +1343,25 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
if (L.begin()->eType == CCompositeGeometryManager::SJob::JOB_NOP) {
// just zero output?
if (zero) {
- for (size_t z = 0; z < outz; ++z) {
- for (size_t y = 0; y < outy; ++y) {
- float* ptr = output->pData->getData();
- ptr += (z + output->subX) * (size_t)output->pData->getHeight() * (size_t)output->pData->getWidth();
- ptr += (y + output->subY) * (size_t)output->pData->getWidth();
- ptr += output->subX;
- memset(ptr, 0, sizeof(float) * outx);
+ // TODO: This function shouldn't have to know about this difference
+ // between Memory/GPU
+ CFloat32Data3DMemory *hostMem = dynamic_cast<CFloat32Data3DMemory *>(output->pData);
+ if (hostMem) {
+ for (size_t z = 0; z < outz; ++z) {
+ for (size_t y = 0; y < outy; ++y) {
+ float* ptr = hostMem->getData();
+ ptr += (z + output->subX) * (size_t)output->pData->getHeight() * (size_t)output->pData->getWidth();
+ ptr += (y + output->subY) * (size_t)output->pData->getWidth();
+ ptr += output->subX;
+ memset(ptr, 0, sizeof(float) * outx);
+ }
}
+ } else {
+ CFloat32Data3DGPU *gpuMem = dynamic_cast<CFloat32Data3DGPU *>(output->pData);
+ assert(gpuMem);
+ assert(output->isFull()); // TODO: zero subset?
+
+ zeroGPUMemory(gpuMem->getHandle(), outx, outy, outz);
}
}
return true;
@@ -1212,10 +1380,11 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
dstdims.subx = output->subX;
dstdims.suby = output->subY;
dstdims.subz = output->subZ;
- float *dst = output->pData->getData();
- astraCUDA3d::MemHandle3D outputMem = astraCUDA3d::allocateGPUMemory(outx, outy, outz, zero ? astraCUDA3d::INIT_ZERO : astraCUDA3d::INIT_NO);
- bool ok = outputMem;
+ CFloat32CustomGPUMemory *dstMem = createGPUMemoryHandler(output->pData);
+
+ bool ok = dstMem->allocateGPUMemory(outx, outy, outz, zero ? astraCUDA3d::INIT_ZERO : astraCUDA3d::INIT_NO);
+ if (!ok) ASTRA_ERROR("Error allocating GPU memory");
for (CCompositeGeometryManager::TJobList::const_iterator i = L.begin(); i != L.end(); ++i) {
const CCompositeGeometryManager::SJob &j = *i;
@@ -1226,15 +1395,18 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
Cuda3DProjectionKernel projKernel = ker3d_default;
int detectorSuperSampling = 1;
int voxelSuperSampling = 1;
+ bool densityWeighting = false;
if (projector) {
projKernel = projector->getProjectionKernel();
detectorSuperSampling = projector->getDetectorSuperSampling();
voxelSuperSampling = projector->getVoxelSuperSampling();
+ densityWeighting = projector->getDensityWeighting();
}
size_t inx, iny, inz;
j.pInput->getDims(inx, iny, inz);
- astraCUDA3d::MemHandle3D inputMem = astraCUDA3d::allocateGPUMemory(inx, iny, inz, astraCUDA3d::INIT_NO);
+
+ CFloat32CustomGPUMemory *srcMem = createGPUMemoryHandler(j.pInput->pData);
astraCUDA3d::SSubDimensions3D srcdims;
srcdims.nx = j.pInput->pData->getWidth();
@@ -1247,9 +1419,11 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
srcdims.subx = j.pInput->subX;
srcdims.suby = j.pInput->subY;
srcdims.subz = j.pInput->subZ;
- const float *src = j.pInput->pData->getDataConst();
- ok = astraCUDA3d::copyToGPUMemory(src, inputMem, srcdims);
+ ok = srcMem->allocateGPUMemory(inx, iny, inz, astraCUDA3d::INIT_NO);
+ if (!ok) ASTRA_ERROR("Error allocating GPU memory");
+
+ ok = srcMem->copyToGPUMemory(srcdims);
if (!ok) ASTRA_ERROR("Error copying input data to GPU");
switch (j.eType) {
@@ -1260,7 +1434,7 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: doing FP");
- ok = astraCUDA3d::FP(((CCompositeGeometryManager::CProjectionPart*)j.pOutput.get())->pGeom, outputMem, ((CCompositeGeometryManager::CVolumePart*)j.pInput.get())->pGeom, inputMem, detectorSuperSampling, projKernel);
+ ok = astraCUDA3d::FP(((CCompositeGeometryManager::CProjectionPart*)j.pOutput.get())->pGeom, dstMem->hnd, ((CCompositeGeometryManager::CVolumePart*)j.pInput.get())->pGeom, srcMem->hnd, detectorSuperSampling, projKernel);
if (!ok) ASTRA_ERROR("Error performing sub-FP");
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: FP done");
}
@@ -1272,7 +1446,7 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: doing BP");
- ok = astraCUDA3d::BP(((CCompositeGeometryManager::CProjectionPart*)j.pInput.get())->pGeom, inputMem, ((CCompositeGeometryManager::CVolumePart*)j.pOutput.get())->pGeom, outputMem, voxelSuperSampling);
+ ok = astraCUDA3d::BP(((CCompositeGeometryManager::CProjectionPart*)j.pInput.get())->pGeom, srcMem->hnd, ((CCompositeGeometryManager::CVolumePart*)j.pOutput.get())->pGeom, dstMem->hnd, voxelSuperSampling, densityWeighting);
if (!ok) ASTRA_ERROR("Error performing sub-BP");
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: BP done");
}
@@ -1288,7 +1462,7 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
} else {
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: doing FDK");
- ok = astraCUDA3d::FDK(((CCompositeGeometryManager::CProjectionPart*)j.pInput.get())->pGeom, inputMem, ((CCompositeGeometryManager::CVolumePart*)j.pOutput.get())->pGeom, outputMem, j.FDKSettings.bShortScan);
+ ok = astraCUDA3d::FDK(((CCompositeGeometryManager::CProjectionPart*)j.pInput.get())->pGeom, srcMem->hnd, ((CCompositeGeometryManager::CVolumePart*)j.pOutput.get())->pGeom, dstMem->hnd, j.FDKSettings.bShortScan, j.FDKSettings.pfFilter);
if (!ok) ASTRA_ERROR("Error performing sub-FDK");
ASTRA_DEBUG("CCompositeGeometryManager::doJobs: FDK done");
}
@@ -1298,17 +1472,20 @@ static bool doJob(const CCompositeGeometryManager::TJobSet::const_iterator& iter
assert(false);
}
- ok = astraCUDA3d::freeGPUMemory(inputMem);
+ ok = srcMem->freeGPUMemory();
if (!ok) ASTRA_ERROR("Error freeing GPU memory");
+ delete srcMem;
}
- ok = astraCUDA3d::copyFromGPUMemory(dst, outputMem, dstdims);
+ ok = dstMem->copyFromGPUMemory(dstdims);
if (!ok) ASTRA_ERROR("Error copying output data from GPU");
- ok = astraCUDA3d::freeGPUMemory(outputMem);
+ ok = dstMem->freeGPUMemory();
if (!ok) ASTRA_ERROR("Error freeing GPU memory");
+ delete dstMem;
+
return true;
}
@@ -1451,6 +1628,8 @@ void CCompositeGeometryManager::setGPUIndices(const std::vector<int>& GPUIndices
bool CCompositeGeometryManager::doJobs(TJobList &jobs)
{
+ // TODO: Proper clean up if substeps fail (Or as proper as possible)
+
ASTRA_DEBUG("CCompositeGeometryManager::doJobs");
// Sort job list into job set by output part
diff --git a/src/ConeProjectionGeometry3D.cpp b/src/ConeProjectionGeometry3D.cpp
index 96b04fb..217a916 100644
--- a/src/ConeProjectionGeometry3D.cpp
+++ b/src/ConeProjectionGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ConeProjectionGeometry3D.h"
diff --git a/src/ConeVecProjectionGeometry3D.cpp b/src/ConeVecProjectionGeometry3D.cpp
index f4f900d..d73b8d1 100644
--- a/src/ConeVecProjectionGeometry3D.cpp
+++ b/src/ConeVecProjectionGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ConeVecProjectionGeometry3D.h"
diff --git a/src/Config.cpp b/src/Config.cpp
index 395080b..ec074e9 100644
--- a/src/Config.cpp
+++ b/src/Config.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Config.h"
diff --git a/src/CudaBackProjectionAlgorithm.cpp b/src/CudaBackProjectionAlgorithm.cpp
index a73f895..354d17d 100644
--- a/src/CudaBackProjectionAlgorithm.cpp
+++ b/src/CudaBackProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaBackProjectionAlgorithm3D.cpp b/src/CudaBackProjectionAlgorithm3D.cpp
index 76d7b35..27bb968 100644
--- a/src/CudaBackProjectionAlgorithm3D.cpp
+++ b/src/CudaBackProjectionAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaBackProjectionAlgorithm3D.h"
@@ -61,8 +60,8 @@ CCudaBackProjectionAlgorithm3D::CCudaBackProjectionAlgorithm3D()
//----------------------------------------------------------------------------------------
// Constructor with initialization
CCudaBackProjectionAlgorithm3D::CCudaBackProjectionAlgorithm3D(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pProjectionData,
- CFloat32VolumeData3DMemory* _pReconstruction)
+ CFloat32ProjectionData3D* _pProjectionData,
+ CFloat32VolumeData3D* _pReconstruction)
{
_clear();
initialize(_pProjector, _pProjectionData, _pReconstruction);
@@ -146,8 +145,8 @@ bool CCudaBackProjectionAlgorithm3D::initialize(const Config& _cfg)
//----------------------------------------------------------------------------------------
// Initialize - C++
bool CCudaBackProjectionAlgorithm3D::initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pSinogram,
- CFloat32VolumeData3DMemory* _pReconstruction)
+ CFloat32ProjectionData3D* _pSinogram,
+ CFloat32VolumeData3D* _pReconstruction)
{
// if already initialized, clear first
if (m_bIsInitialized) {
@@ -188,17 +187,21 @@ void CCudaBackProjectionAlgorithm3D::run(int _iNrIterations)
// check initialized
ASTRA_ASSERT(m_bIsInitialized);
- CFloat32ProjectionData3DMemory* pSinoMem = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);
+ CFloat32ProjectionData3D* pSinoMem = dynamic_cast<CFloat32ProjectionData3D*>(m_pSinogram);
ASTRA_ASSERT(pSinoMem);
- CFloat32VolumeData3DMemory* pReconMem = dynamic_cast<CFloat32VolumeData3DMemory*>(m_pReconstruction);
+ CFloat32VolumeData3D* pReconMem = dynamic_cast<CFloat32VolumeData3D*>(m_pReconstruction);
ASTRA_ASSERT(pReconMem);
const CProjectionGeometry3D* projgeom = pSinoMem->getGeometry();
const CVolumeGeometry3D& volgeom = *pReconMem->getGeometry();
if (m_bSIRTWeighting) {
- astraCudaBP_SIRTWeighted(pReconMem->getData(),
- pSinoMem->getDataConst(),
+ CFloat32ProjectionData3DMemory* pSinoMemory = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);
+ ASTRA_ASSERT(pSinoMemory);
+ CFloat32VolumeData3DMemory* pReconMemory = dynamic_cast<CFloat32VolumeData3DMemory*>(m_pReconstruction);
+ ASTRA_ASSERT(pReconMemory);
+ astraCudaBP_SIRTWeighted(pReconMemory->getData(),
+ pSinoMemory->getDataConst(),
&volgeom, projgeom,
m_iGPUIndex, m_iVoxelSuperSampling);
} else {
diff --git a/src/CudaCglsAlgorithm.cpp b/src/CudaCglsAlgorithm.cpp
index 9dd4f78..8b5bec6 100644
--- a/src/CudaCglsAlgorithm.cpp
+++ b/src/CudaCglsAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaCglsAlgorithm3D.cpp b/src/CudaCglsAlgorithm3D.cpp
index 930a71e..c00c47d 100644
--- a/src/CudaCglsAlgorithm3D.cpp
+++ b/src/CudaCglsAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaCglsAlgorithm3D.h"
diff --git a/src/CudaDartMaskAlgorithm.cpp b/src/CudaDartMaskAlgorithm.cpp
index c2a4cca..375d565 100644
--- a/src/CudaDartMaskAlgorithm.cpp
+++ b/src/CudaDartMaskAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaDartMaskAlgorithm3D.cpp b/src/CudaDartMaskAlgorithm3D.cpp
index dd12c58..0d7b27e 100644
--- a/src/CudaDartMaskAlgorithm3D.cpp
+++ b/src/CudaDartMaskAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaDartSmoothingAlgorithm.cpp b/src/CudaDartSmoothingAlgorithm.cpp
index 425f0a3..0759ea0 100644
--- a/src/CudaDartSmoothingAlgorithm.cpp
+++ b/src/CudaDartSmoothingAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaDartSmoothingAlgorithm3D.cpp b/src/CudaDartSmoothingAlgorithm3D.cpp
index df7e0df..b381bc9 100644
--- a/src/CudaDartSmoothingAlgorithm3D.cpp
+++ b/src/CudaDartSmoothingAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaDataOperationAlgorithm.cpp b/src/CudaDataOperationAlgorithm.cpp
index 82b676b..f9466e2 100644
--- a/src/CudaDataOperationAlgorithm.cpp
+++ b/src/CudaDataOperationAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaEMAlgorithm.cpp b/src/CudaEMAlgorithm.cpp
index d0afd80..040b29a 100644
--- a/src/CudaEMAlgorithm.cpp
+++ b/src/CudaEMAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp
index c7c8ed5..6616a85 100644
--- a/src/CudaFDKAlgorithm3D.cpp
+++ b/src/CudaFDKAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaFDKAlgorithm3D.h"
@@ -37,8 +36,11 @@ $Id$
#include "astra/Logging.h"
#include "../cuda/3d/astra3d.h"
+#include "../cuda/2d/fft.h"
+#include "../cuda/3d/util3d.h"
using namespace std;
+using namespace astraCUDA3d;
namespace astra {
@@ -57,8 +59,8 @@ CCudaFDKAlgorithm3D::CCudaFDKAlgorithm3D()
//----------------------------------------------------------------------------------------
// Constructor with initialization
CCudaFDKAlgorithm3D::CCudaFDKAlgorithm3D(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pProjectionData,
- CFloat32VolumeData3DMemory* _pReconstruction)
+ CFloat32ProjectionData3D* _pProjectionData,
+ CFloat32VolumeData3D* _pReconstruction)
{
_clear();
initialize(_pProjector, _pProjectionData, _pReconstruction);
@@ -141,6 +143,28 @@ bool CCudaFDKAlgorithm3D::initialize(const Config& _cfg)
CC.markOptionParsed("GPUIndex");
if (!_cfg.self.hasOption("GPUIndex"))
CC.markOptionParsed("GPUindex");
+
+ // filter
+ if (_cfg.self.hasOption("FilterSinogramId")){
+ m_iFilterDataId = (int)_cfg.self.getOptionInt("FilterSinogramId");
+ const CFloat32ProjectionData2D * pFilterData = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(m_iFilterDataId));
+ if (!pFilterData){
+ ASTRA_ERROR("Incorrect FilterSinogramId");
+ return false;
+ }
+ const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry();
+ const CProjectionGeometry2D* filtgeom = pFilterData->getGeometry();
+ int iPaddedDetCount = calcNextPowerOfTwo(2 * projgeom->getDetectorColCount());
+ int iHalfFFTSize = astraCUDA::calcFFTFourierSize(iPaddedDetCount);
+ if(filtgeom->getDetectorCount()!=iHalfFFTSize || filtgeom->getProjectionAngleCount()!=projgeom->getProjectionCount()){
+ ASTRA_ERROR("Filter size does not match required size (%i angles, %i detectors)",projgeom->getProjectionCount(),iHalfFFTSize);
+ return false;
+ }
+ }else
+ {
+ m_iFilterDataId = -1;
+ }
+ CC.markOptionParsed("FilterSinogramId");
@@ -155,8 +179,8 @@ bool CCudaFDKAlgorithm3D::initialize(const Config& _cfg)
//----------------------------------------------------------------------------------------
// Initialize - C++
bool CCudaFDKAlgorithm3D::initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pSinogram,
- CFloat32VolumeData3DMemory* _pReconstruction)
+ CFloat32ProjectionData3D* _pSinogram,
+ CFloat32VolumeData3D* _pReconstruction)
{
// if already initialized, clear first
if (m_bIsInitialized) {
@@ -197,29 +221,35 @@ void CCudaFDKAlgorithm3D::run(int _iNrIterations)
const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry();
const CConeProjectionGeometry3D* conegeom = dynamic_cast<const CConeProjectionGeometry3D*>(projgeom);
- const CVolumeGeometry3D& volgeom = *m_pReconstruction->getGeometry();
+ // const CVolumeGeometry3D& volgeom = *m_pReconstruction->getGeometry();
ASTRA_ASSERT(conegeom);
- CFloat32ProjectionData3DMemory* pSinoMem = dynamic_cast<CFloat32ProjectionData3DMemory*>(m_pSinogram);
+ CFloat32ProjectionData3D* pSinoMem = dynamic_cast<CFloat32ProjectionData3D*>(m_pSinogram);
ASTRA_ASSERT(pSinoMem);
- CFloat32VolumeData3DMemory* pReconMem = dynamic_cast<CFloat32VolumeData3DMemory*>(m_pReconstruction);
+ CFloat32VolumeData3D* pReconMem = dynamic_cast<CFloat32VolumeData3D*>(m_pReconstruction);
ASTRA_ASSERT(pReconMem);
+ const float *filter = NULL;
+ if (m_iFilterDataId != -1) {
+ const CFloat32ProjectionData2D *pFilterData = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(m_iFilterDataId));
+ if (pFilterData)
+ filter = pFilterData->getDataConst();
+ }
#if 0
bool ok = true;
-
+
ok = astraCudaFDK(pReconMem->getData(), pSinoMem->getDataConst(),
&volgeom, conegeom,
- m_bShortScan, m_iGPUIndex, m_iVoxelSuperSampling);
+ m_bShortScan, m_iGPUIndex, m_iVoxelSuperSampling, filter);
ASTRA_ASSERT(ok);
#endif
CCompositeGeometryManager cgm;
- cgm.doFDK(m_pProjector, pReconMem, pSinoMem, m_bShortScan);
+ cgm.doFDK(m_pProjector, pReconMem, pSinoMem, m_bShortScan, filter);
diff --git a/src/CudaFilteredBackProjectionAlgorithm.cpp b/src/CudaFilteredBackProjectionAlgorithm.cpp
index 9d23253..2829b7d 100644
--- a/src/CudaFilteredBackProjectionAlgorithm.cpp
+++ b/src/CudaFilteredBackProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <astra/CudaFilteredBackProjectionAlgorithm.h>
diff --git a/src/CudaForwardProjectionAlgorithm.cpp b/src/CudaForwardProjectionAlgorithm.cpp
index bdd7dd0..f4cafe6 100644
--- a/src/CudaForwardProjectionAlgorithm.cpp
+++ b/src/CudaForwardProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaForwardProjectionAlgorithm.h"
diff --git a/src/CudaForwardProjectionAlgorithm3D.cpp b/src/CudaForwardProjectionAlgorithm3D.cpp
index f709e34..ce808eb 100644
--- a/src/CudaForwardProjectionAlgorithm3D.cpp
+++ b/src/CudaForwardProjectionAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaForwardProjectionAlgorithm3D.h"
@@ -102,14 +101,14 @@ bool CCudaForwardProjectionAlgorithm3D::initialize(const Config& _cfg)
node = _cfg.self.getSingleNode("ProjectionDataId");
ASTRA_CONFIG_CHECK(node, "CudaForwardProjection3D", "No ProjectionDataId tag specified.");
id = node.getContentInt();
- m_pProjections = dynamic_cast<CFloat32ProjectionData3DMemory*>(CData3DManager::getSingleton().get(id));
+ m_pProjections = dynamic_cast<CFloat32ProjectionData3D*>(CData3DManager::getSingleton().get(id));
CC.markNodeParsed("ProjectionDataId");
// reconstruction data
node = _cfg.self.getSingleNode("VolumeDataId");
ASTRA_CONFIG_CHECK(node, "CudaForwardProjection3D", "No VolumeDataId tag specified.");
id = node.getContentInt();
- m_pVolume = dynamic_cast<CFloat32VolumeData3DMemory*>(CData3DManager::getSingleton().get(id));
+ m_pVolume = dynamic_cast<CFloat32VolumeData3D*>(CData3DManager::getSingleton().get(id));
CC.markNodeParsed("VolumeDataId");
// optional: projector
@@ -141,8 +140,8 @@ bool CCudaForwardProjectionAlgorithm3D::initialize(const Config& _cfg)
bool CCudaForwardProjectionAlgorithm3D::initialize(CProjector3D* _pProjector,
- CFloat32ProjectionData3DMemory* _pProjections,
- CFloat32VolumeData3DMemory* _pVolume,
+ CFloat32ProjectionData3D* _pProjections,
+ CFloat32VolumeData3D* _pVolume,
int _iGPUindex, int _iDetectorSuperSampling)
{
m_pProjector = _pProjector;
diff --git a/src/CudaProjector2D.cpp b/src/CudaProjector2D.cpp
index acf6000..b0a38b0 100644
--- a/src/CudaProjector2D.cpp
+++ b/src/CudaProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaProjector2D.h"
diff --git a/src/CudaProjector3D.cpp b/src/CudaProjector3D.cpp
index bbfbd34..a1f091e 100644
--- a/src/CudaProjector3D.cpp
+++ b/src/CudaProjector3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaProjector3D.h"
@@ -31,6 +30,9 @@ $Id$
#include "astra/VolumeGeometry3D.h"
#include "astra/ProjectionGeometry3D.h"
+#include "astra/ConeProjectionGeometry3D.h"
+#include "astra/ConeVecProjectionGeometry3D.h"
+
namespace astra
{
@@ -65,6 +67,7 @@ void CCudaProjector3D::_clear()
m_iVoxelSuperSampling = 1;
m_iDetectorSuperSampling = 1;
m_iGPUIndex = -1;
+ m_bDensityWeighting = false;
}
//----------------------------------------------------------------------------------------
@@ -129,6 +132,13 @@ bool CCudaProjector3D::initialize(const Config& _cfg)
m_iDetectorSuperSampling = (int)_cfg.self.getOptionNumerical("DetectorSuperSampling", 1);
CC.markOptionParsed("DetectorSuperSampling");
+ if (dynamic_cast<CConeProjectionGeometry3D*>(m_pProjectionGeometry) ||
+ dynamic_cast<CConeVecProjectionGeometry3D*>(m_pProjectionGeometry))
+ {
+ m_bDensityWeighting = _cfg.self.getOptionBool("DensityWeighting", false);
+ CC.markOptionParsed("DensityWeighting");
+ }
+
m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUindex", -1);
m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUIndex", m_iGPUIndex);
CC.markOptionParsed("GPUIndex");
diff --git a/src/CudaReconstructionAlgorithm2D.cpp b/src/CudaReconstructionAlgorithm2D.cpp
index 326ef1e..f37647c 100644
--- a/src/CudaReconstructionAlgorithm2D.cpp
+++ b/src/CudaReconstructionAlgorithm2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaRoiSelectAlgorithm.cpp b/src/CudaRoiSelectAlgorithm.cpp
index dfb8056..baf8a6f 100644
--- a/src/CudaRoiSelectAlgorithm.cpp
+++ b/src/CudaRoiSelectAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaSartAlgorithm.cpp b/src/CudaSartAlgorithm.cpp
index bf97224..a768db9 100644
--- a/src/CudaSartAlgorithm.cpp
+++ b/src/CudaSartAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
@@ -99,7 +98,7 @@ bool CCudaSartAlgorithm::initialize(const Config& _cfg)
} else if (projOrder == "custom") {
vector<float32> projOrderList = _cfg.self.getOptionNumericalArray("ProjectionOrderList");
projectionOrder = new int[projOrderList.size()];
- for (int i = 0; i < projOrderList.size(); i++) {
+ for (unsigned int i = 0; i < projOrderList.size(); i++) {
projectionOrder[i] = static_cast<int>(projOrderList[i]);
}
sart->setProjectionOrder(projectionOrder, projectionCount);
diff --git a/src/CudaSirtAlgorithm.cpp b/src/CudaSirtAlgorithm.cpp
index c8dc677..b6b427e 100644
--- a/src/CudaSirtAlgorithm.cpp
+++ b/src/CudaSirtAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifdef ASTRA_CUDA
diff --git a/src/CudaSirtAlgorithm3D.cpp b/src/CudaSirtAlgorithm3D.cpp
index c819f8e..f2d8232 100644
--- a/src/CudaSirtAlgorithm3D.cpp
+++ b/src/CudaSirtAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/CudaSirtAlgorithm3D.h"
diff --git a/src/DataProjector.cpp b/src/DataProjector.cpp
index 83d88a2..4290958 100644
--- a/src/DataProjector.cpp
+++ b/src/DataProjector.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/DataProjector.h"
diff --git a/src/DataProjectorPolicies.cpp b/src/DataProjectorPolicies.cpp
index 324ceeb..e719a5e 100644
--- a/src/DataProjectorPolicies.cpp
+++ b/src/DataProjectorPolicies.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/DataProjectorPolicies.h"
diff --git a/src/FanFlatBeamLineKernelProjector2D.cpp b/src/FanFlatBeamLineKernelProjector2D.cpp
index fd4195b..4bfff58 100644
--- a/src/FanFlatBeamLineKernelProjector2D.cpp
+++ b/src/FanFlatBeamLineKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,13 +23,13 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/FanFlatBeamLineKernelProjector2D.h"
#include <cmath>
#include <cstring>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/FanFlatBeamStripKernelProjector2D.cpp b/src/FanFlatBeamStripKernelProjector2D.cpp
index b48beab..198c0ea 100644
--- a/src/FanFlatBeamStripKernelProjector2D.cpp
+++ b/src/FanFlatBeamStripKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,12 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/FanFlatBeamStripKernelProjector2D.h"
#include <cmath>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/FanFlatProjectionGeometry2D.cpp b/src/FanFlatProjectionGeometry2D.cpp
index 4eec9c4..697550c 100644
--- a/src/FanFlatProjectionGeometry2D.cpp
+++ b/src/FanFlatProjectionGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/FanFlatProjectionGeometry2D.h"
diff --git a/src/FanFlatVecProjectionGeometry2D.cpp b/src/FanFlatVecProjectionGeometry2D.cpp
index 0b76fc5..b213384 100644
--- a/src/FanFlatVecProjectionGeometry2D.cpp
+++ b/src/FanFlatVecProjectionGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/FanFlatVecProjectionGeometry2D.h"
diff --git a/src/FilteredBackProjectionAlgorithm.cpp b/src/FilteredBackProjectionAlgorithm.cpp
index 70462f7..2361379 100644
--- a/src/FilteredBackProjectionAlgorithm.cpp
+++ b/src/FilteredBackProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/FilteredBackProjectionAlgorithm.h"
diff --git a/src/Float32Data.cpp b/src/Float32Data.cpp
index f668a9f..1bb45d8 100644
--- a/src/Float32Data.cpp
+++ b/src/Float32Data.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32Data.h"
diff --git a/src/Float32Data2D.cpp b/src/Float32Data2D.cpp
index c96e5eb..56ea7cc 100644
--- a/src/Float32Data2D.cpp
+++ b/src/Float32Data2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32Data2D.h"
diff --git a/src/Float32Data3D.cpp b/src/Float32Data3D.cpp
index 9142215..cc824bd 100644
--- a/src/Float32Data3D.cpp
+++ b/src/Float32Data3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,15 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32Data3D.h"
#include <sstream>
+#ifdef ASTRA_CUDA
+#include "../../cuda/3d/mem3d.h"
+#endif
+
using namespace std;
namespace astra {
@@ -61,7 +64,5 @@ std::string CFloat32Data3D::description() const
if (getType() == CFloat32Data3D::VOLUME) res << " volume data \t";
return res.str();
}
-//----------------------------------------------------------------------------------------
-
} // end namespace astra
diff --git a/src/Float32Data3DGPU.cpp b/src/Float32Data3DGPU.cpp
new file mode 100644
index 0000000..cd9c4ad
--- /dev/null
+++ b/src/Float32Data3DGPU.cpp
@@ -0,0 +1,98 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
+ 2014-2015, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://sf.net/projects/astra-toolbox
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+$Id$
+*/
+
+#include "astra/Float32Data3DGPU.h"
+
+namespace astra {
+
+//----------------------------------------------------------------------------------------
+// Default constructor.
+CFloat32Data3DGPU::CFloat32Data3DGPU()
+{
+ _clear();
+ m_bInitialized = false;
+}
+
+//----------------------------------------------------------------------------------------
+// Destructor.
+CFloat32Data3DGPU::~CFloat32Data3DGPU()
+{
+ if (m_bInitialized)
+ {
+ _unInit();
+ }
+}
+
+//----------------------------------------------------------------------------------------
+// Initializes an instance of the CFloat32Data3DGPU class with pre-allocated memory
+bool CFloat32Data3DGPU::_initialize(int _iWidth, int _iHeight, int _iDepth, astraCUDA3d::MemHandle3D _hnd)
+{
+ // basic checks
+ ASTRA_ASSERT(_iWidth > 0);
+ ASTRA_ASSERT(_iHeight > 0);
+ ASTRA_ASSERT(_iDepth > 0);
+ //ASTRA_ASSERT(_pCustomMemory != NULL);
+
+ if (m_bInitialized) {
+ _unInit();
+ }
+
+ // calculate size
+ m_iWidth = _iWidth;
+ m_iHeight = _iHeight;
+ m_iDepth = _iDepth;
+ m_iSize = (size_t)m_iWidth * m_iHeight * m_iDepth;
+
+ m_hnd = _hnd;
+
+ // initialization complete
+ return true;
+}
+//----------------------------------------------------------------------------------------
+// Clear all member variables, setting all numeric variables to 0 and all pointers to NULL.
+void CFloat32Data3DGPU::_clear()
+{
+ m_iWidth = 0;
+ m_iHeight = 0;
+ m_iDepth = 0;
+ m_iSize = 0;
+
+ m_hnd.d.reset();
+}
+
+//----------------------------------------------------------------------------------------
+// Un-initialize the object, bringing it back in the unitialized state.
+void CFloat32Data3DGPU::_unInit()
+{
+ ASTRA_ASSERT(m_bInitialized);
+
+ _clear();
+ m_bInitialized = false;
+}
+
+} // end namespace astra
diff --git a/src/Float32Data3DMemory.cpp b/src/Float32Data3DMemory.cpp
index 4e851b7..5c5c310 100644
--- a/src/Float32Data3DMemory.cpp
+++ b/src/Float32Data3DMemory.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,11 +23,11 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32Data3DMemory.h"
#include <iostream>
+#include <cstdlib>
namespace astra {
@@ -76,10 +76,6 @@ bool CFloat32Data3DMemory::_initialize(int _iWidth, int _iHeight, int _iDepth)
m_pCustomMemory = 0;
_allocateData();
- // set minmax to default values
- m_fGlobalMin = 0.0;
- m_fGlobalMax = 0.0;
-
// initialization complete
return true;
@@ -167,7 +163,7 @@ bool CFloat32Data3DMemory::_initialize(int _iWidth, int _iHeight, int _iDepth, C
ASTRA_ASSERT(_iWidth > 0);
ASTRA_ASSERT(_iHeight > 0);
ASTRA_ASSERT(_iDepth > 0);
- ASTRA_ASSERT(_pCustomMemory != NULL);
+ //ASTRA_ASSERT(_pCustomMemory != NULL);
if (m_bInitialized) {
_unInit();
@@ -273,9 +269,6 @@ void CFloat32Data3DMemory::_clear()
m_ppfDataRowInd = NULL;
m_pppfDataSliceInd = NULL;
m_pCustomMemory = NULL;
-
- //m_fGlobalMin = 0.0f;
- //m_fGlobalMax = 0.0f;
}
//----------------------------------------------------------------------------------------
@@ -290,37 +283,6 @@ void CFloat32Data3DMemory::_unInit()
}
//----------------------------------------------------------------------------------------
-// Update data statistics, such as minimum and maximum value, after the data has been modified.
-void CFloat32Data3DMemory::updateStatistics()
-{
- _computeGlobalMinMax();
-}
-
-//----------------------------------------------------------------------------------------
-// Find the minimum and maximum data value.
-void CFloat32Data3DMemory::_computeGlobalMinMax()
-{
- // basic checks
- ASTRA_ASSERT(m_bInitialized);
- ASTRA_ASSERT(m_pfData != NULL);
- ASTRA_ASSERT(m_iSize > 0);
-
- // initial values
- m_fGlobalMin = m_pfData[0];
- m_fGlobalMax = m_pfData[0];
-
- // loop
- size_t i;
- float32 v;
- for (i = 0; i < m_iSize; ++i)
- {
- v = m_pfData[i];
- if (v < m_fGlobalMin) m_fGlobalMin = v;
- if (v > m_fGlobalMax) m_fGlobalMax = v;
- }
-}
-
-//----------------------------------------------------------------------------------------
// Copy the data block pointed to by _pfData to the data block pointed to by m_pfData.
void CFloat32Data3DMemory::copyData(const float32* _pfData, size_t _iSize)
{
diff --git a/src/Float32ProjectionData2D.cpp b/src/Float32ProjectionData2D.cpp
index f7f83e3..67571f4 100644
--- a/src/Float32ProjectionData2D.cpp
+++ b/src/Float32ProjectionData2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32ProjectionData2D.h"
diff --git a/src/Float32ProjectionData3D.cpp b/src/Float32ProjectionData3D.cpp
index 680ad55..ba41e10 100644
--- a/src/Float32ProjectionData3D.cpp
+++ b/src/Float32ProjectionData3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32ProjectionData3D.h"
@@ -48,232 +47,6 @@ CFloat32ProjectionData3D::~CFloat32ProjectionData3D() {
m_pGeometry = 0;
}
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator+=(const CFloat32ProjectionData3D& _data)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-#ifdef _DEBUG
- CProjectionGeometry3D * pDataGeometry = _data.getGeometry();
- int iDataProjectionDetectorCount = pDataGeometry->getDetectorTotCount();
-
- ASTRA_ASSERT(iProjectionCount == pDataGeometry->getProjectionCount());
- ASTRA_ASSERT(iDetectorCount == iDataProjectionDetectorCount);
-#endif
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue += fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator-=(const CFloat32ProjectionData3D& _data)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-#ifdef _DEBUG
- CProjectionGeometry3D * pDataGeometry = _data.getGeometry();
- int iDataProjectionDetectorCount = pDataGeometry->getDetectorTotCount();
-
- ASTRA_ASSERT(iProjectionCount == pDataGeometry->getProjectionCount());
- ASTRA_ASSERT(iDetectorCount == iDataProjectionDetectorCount);
-#endif
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue -= fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator*=(const CFloat32ProjectionData3D& _data)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-#ifdef _DEBUG
- CProjectionGeometry3D * pDataGeometry = _data.getGeometry();
- int iDataProjectionDetectorCount = pDataGeometry->getDetectorTotCount();
-
- ASTRA_ASSERT(iProjectionCount == pDataGeometry->getProjectionCount());
- ASTRA_ASSERT(iDetectorCount == iDataProjectionDetectorCount);
-#endif
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue *= fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator*=(const float32& _fScalar)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue *= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator/=(const float32& _fScalar)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue /= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator+=(const float32& _fScalar)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue += _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32ProjectionData3D& CFloat32ProjectionData3D::operator-=(const float32& _fScalar)
-{
- CProjectionGeometry3D * pThisGeometry = getGeometry();
-
- int iProjectionCount = pThisGeometry->getProjectionCount();
- int iDetectorCount = pThisGeometry->getDetectorTotCount();
-
- for(int iProjectionIndex = 0; iProjectionIndex < iProjectionCount; iProjectionIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchProjection(iProjectionIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorCount; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue -= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnProjection(iProjectionIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
void CFloat32ProjectionData3D::changeGeometry(CProjectionGeometry3D* _pGeometry)
{
if (!m_bInitialized) return;
diff --git a/src/Float32ProjectionData3DGPU.cpp b/src/Float32ProjectionData3DGPU.cpp
new file mode 100644
index 0000000..0e063d6
--- /dev/null
+++ b/src/Float32ProjectionData3DGPU.cpp
@@ -0,0 +1,71 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
+ 2014-2015, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://sf.net/projects/astra-toolbox
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+$Id$
+*/
+
+#include "astra/Float32ProjectionData3DGPU.h"
+
+using namespace std;
+
+namespace astra
+{
+
+//----------------------------------------------------------------------------------------
+// Default constructor
+CFloat32ProjectionData3DGPU::CFloat32ProjectionData3DGPU() :
+ CFloat32Data3DGPU()
+{
+ m_pGeometry = NULL;
+ m_bInitialized = false;
+}
+
+//----------------------------------------------------------------------------------------
+// Create an instance of the CFloat32ProjectionData2D class with pre-allocated data
+CFloat32ProjectionData3DGPU::CFloat32ProjectionData3DGPU(CProjectionGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd)
+{
+ m_bInitialized = false;
+ m_bInitialized = initialize(_pGeometry, _hnd);
+}
+
+
+//----------------------------------------------------------------------------------------
+// Destructor
+CFloat32ProjectionData3DGPU::~CFloat32ProjectionData3DGPU()
+{
+ delete m_pGeometry;
+ m_pGeometry = 0;
+}
+
+//----------------------------------------------------------------------------------------
+// Initialization
+bool CFloat32ProjectionData3DGPU::initialize(CProjectionGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd)
+{
+ m_pGeometry = _pGeometry->clone();
+ m_bInitialized = _initialize(m_pGeometry->getDetectorColCount(), m_pGeometry->getProjectionCount(), m_pGeometry->getDetectorRowCount(), _hnd);
+ return m_bInitialized;
+}
+
+} // end namespace astra
diff --git a/src/Float32ProjectionData3DMemory.cpp b/src/Float32ProjectionData3DMemory.cpp
index ee3fc83..69033d5 100644
--- a/src/Float32ProjectionData3DMemory.cpp
+++ b/src/Float32ProjectionData3DMemory.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32ProjectionData3DMemory.h"
@@ -115,7 +114,7 @@ bool CFloat32ProjectionData3DMemory::initialize(CProjectionGeometry3D* _pGeometr
//----------------------------------------------------------------------------------------
// Initialization
-bool CFloat32ProjectionData3DMemory::initialize(CProjectionGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory)
+bool CFloat32ProjectionData3DMemory::initialize(CProjectionGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory)
{
m_pGeometry = _pGeometry->clone();
m_bInitialized = _initialize(m_pGeometry->getDetectorColCount(), m_pGeometry->getProjectionCount(), m_pGeometry->getDetectorRowCount(), _pCustomMemory);
@@ -132,102 +131,6 @@ CFloat32ProjectionData3DMemory::~CFloat32ProjectionData3DMemory()
}
//----------------------------------------------------------------------------------------
-// Fetch a projection
-CFloat32VolumeData2D* CFloat32ProjectionData3DMemory::fetchProjection(int _iProjectionNr) const
-{
- // fetch slice of the geometry
- CVolumeGeometry2D volGeom(m_pGeometry->getDetectorColCount(), m_pGeometry->getDetectorRowCount());
- // create new volume data
- CFloat32VolumeData2D* res = new CFloat32VolumeData2D(&volGeom);
- // copy data
- int row, col;
- for (row = 0; row < m_pGeometry->getDetectorRowCount(); ++row) {
- for (col = 0; col < m_pGeometry->getDetectorColCount(); ++col) {
- res->getData()[row*m_pGeometry->getDetectorColCount() + col] =
- m_pfData[_iProjectionNr * m_pGeometry->getDetectorColCount() + m_pGeometry->getDetectorColCount()* m_pGeometry->getProjectionCount() * row + col];
- }
- }
- // return
- return res;
-}
-
-//----------------------------------------------------------------------------------------
-// Return a projection
-void CFloat32ProjectionData3DMemory::returnProjection(int _iProjectionNr, CFloat32VolumeData2D* _pProjection)
-{
- /// TODO: check geometry
- // copy data
- int row, col;
- for (row = 0; row < m_pGeometry->getDetectorRowCount(); ++row) {
- for (col = 0; col < m_pGeometry->getDetectorColCount(); ++col) {
- m_pfData[_iProjectionNr * m_pGeometry->getDetectorColCount() + m_pGeometry->getDetectorColCount()* m_pGeometry->getProjectionCount() * row + col] =
- _pProjection->getData()[row*m_pGeometry->getDetectorColCount() + col];
- }
- }
-}
-
-//----------------------------------------------------------------------------------------
-// Fetch a sinogram
-CFloat32ProjectionData2D* CFloat32ProjectionData3DMemory::fetchSinogram(int _iSliceNr) const
-{
- CParallelProjectionGeometry3D * pParallelProjGeo = (CParallelProjectionGeometry3D *)m_pGeometry;
- CParallelProjectionGeometry2D * pProjGeo2D = pParallelProjGeo->createProjectionGeometry2D();
-
- // create new projection data
- CFloat32ProjectionData2D* res = new CFloat32ProjectionData2D(pProjGeo2D);
- // copy data
- int row, col;
-
- int iDetectorColumnCount = m_pGeometry->getDetectorColCount();
- int iProjectionAngleCount = m_pGeometry->getProjectionCount();
-
- for (row = 0; row < m_pGeometry->getProjectionCount(); ++row) {
- for (col = 0; col < m_pGeometry->getDetectorColCount(); ++col)
- {
- int iTargetIndex = row * iDetectorColumnCount + col;
- int iSourceIndex = _iSliceNr * iDetectorColumnCount * iProjectionAngleCount + row * iDetectorColumnCount + col;
-
- float32 fStoredValue = m_pfData[iSourceIndex];
-
- res->getData()[iTargetIndex] = fStoredValue;
- }
- }
-
- delete pProjGeo2D;
-
- // return
- return res;
-}
-
-//----------------------------------------------------------------------------------------
-// Return a sinogram
-void CFloat32ProjectionData3DMemory::returnSinogram(int _iSliceNr, CFloat32ProjectionData2D* _pSinogram2D)
-{
- /// TODO: check geometry
- // copy data
- int row, col;
- for (row = 0; row < m_pGeometry->getProjectionCount(); ++row) {
- for (col = 0; col < m_pGeometry->getDetectorColCount(); ++col) {
- m_pfData[_iSliceNr*m_pGeometry->getDetectorColCount()*m_pGeometry->getProjectionCount() + row*m_pGeometry->getDetectorColCount() + col] =
- _pSinogram2D->getData()[row*m_pGeometry->getDetectorColCount() + col];
- }
- }
-}
-
-//----------------------------------------------------------------------------------------
-// Returns a specific value
-float32 CFloat32ProjectionData3DMemory::getDetectorValue(int _iIndex)
-{
- return m_pfData[_iIndex];
-}
-
-//----------------------------------------------------------------------------------------
-// Sets a specific value
-void CFloat32ProjectionData3DMemory::setDetectorValue(int _iIndex, float32 _fValue)
-{
- m_pfData[_iIndex] = _fValue;
-}
-//----------------------------------------------------------------------------------------
CFloat32ProjectionData3DMemory& CFloat32ProjectionData3DMemory::operator=(const CFloat32ProjectionData3DMemory& _dataIn)
{
diff --git a/src/Float32VolumeData2D.cpp b/src/Float32VolumeData2D.cpp
index c903c66..e0e14c3 100644
--- a/src/Float32VolumeData2D.cpp
+++ b/src/Float32VolumeData2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32VolumeData2D.h"
diff --git a/src/Float32VolumeData3D.cpp b/src/Float32VolumeData3D.cpp
index bd78001..96e6940 100644
--- a/src/Float32VolumeData3D.cpp
+++ b/src/Float32VolumeData3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32VolumeData3D.h"
@@ -44,228 +43,6 @@ CFloat32VolumeData3D::~CFloat32VolumeData3D() {
}
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator+=(const CFloat32VolumeData3D& _data)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-#ifdef _DEBUG
- CVolumeGeometry3D * pDataGeometry = _data.getGeometry();
- int iThisSlicePixelCount = pThisGeometry->getGridRowCount() * pThisGeometry->getGridColCount();
- int iDataSlicePixelCount = pDataGeometry->getGridRowCount() * pDataGeometry->getGridColCount();
-
- ASTRA_ASSERT(iSliceCount == pDataGeometry->getGridSliceCount());
- ASTRA_ASSERT(iThisSlicePixelCount == iDataSlicePixelCount);
-#endif
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue += fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator-=(const CFloat32VolumeData3D& _data)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-#ifdef _DEBUG
- CVolumeGeometry3D * pDataGeometry = _data.getGeometry();
- int iThisSlicePixelCount = pThisGeometry->getGridRowCount() * pThisGeometry->getGridColCount();
- int iDataSlicePixelCount = pDataGeometry->getGridRowCount() * pDataGeometry->getGridColCount();
-
- ASTRA_ASSERT(iSliceCount == pDataGeometry->getGridSliceCount());
- ASTRA_ASSERT(iThisSlicePixelCount == iDataSlicePixelCount);
-#endif
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue -= fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator*=(const CFloat32VolumeData3D& _data)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-#ifdef _DEBUG
- CVolumeGeometry3D * pDataGeometry = _data.getGeometry();
- int iThisSlicePixelCount = pThisGeometry->getGridRowCount() * pThisGeometry->getGridColCount();
- int iDataSlicePixelCount = pDataGeometry->getGridRowCount() * pDataGeometry->getGridColCount();
-
- ASTRA_ASSERT(iSliceCount == pDataGeometry->getGridSliceCount());
- ASTRA_ASSERT(iThisSlicePixelCount == iDataSlicePixelCount);
-#endif
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
- CFloat32VolumeData2D * pDataProjection = _data.fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
- float32 fDataValue = pDataProjection->getDataConst()[iDetectorIndex];
-
- fThisValue *= fDataValue;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- delete pDataProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator*=(const float32& _fScalar)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue *= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator/=(const float32& _fScalar)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue /= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator+=(const float32& _fScalar)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue += _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
-CFloat32VolumeData3D& CFloat32VolumeData3D::operator-=(const float32& _fScalar)
-{
- CVolumeGeometry3D * pThisGeometry = getGeometry();
-
- int iSliceCount = pThisGeometry->getGridSliceCount();
-
- for(int iSliceIndex = 0; iSliceIndex < iSliceCount; iSliceIndex++)
- {
- CFloat32VolumeData2D * pThisProjection = fetchSliceZ(iSliceIndex);
-
- for(int iDetectorIndex = 0; iDetectorIndex < iDetectorIndex; iDetectorIndex++)
- {
- float32 fThisValue = pThisProjection->getData()[iDetectorIndex];
-
- fThisValue -= _fScalar;
-
- pThisProjection->getData()[iDetectorIndex] = fThisValue;
- }
-
- returnSliceZ(iSliceIndex, pThisProjection);
-
- delete pThisProjection;
- }
-
- return *this;
-}
-
void CFloat32VolumeData3D::changeGeometry(CVolumeGeometry3D* _pGeometry)
{
if (!m_bInitialized) return;
diff --git a/src/Float32VolumeData3DGPU.cpp b/src/Float32VolumeData3DGPU.cpp
new file mode 100644
index 0000000..82a222f
--- /dev/null
+++ b/src/Float32VolumeData3DGPU.cpp
@@ -0,0 +1,71 @@
+/*
+-----------------------------------------------------------------------
+Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
+ 2014-2015, CWI, Amsterdam
+
+Contact: astra@uantwerpen.be
+Website: http://sf.net/projects/astra-toolbox
+
+This file is part of the ASTRA Toolbox.
+
+
+The ASTRA Toolbox is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+The ASTRA Toolbox is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+
+-----------------------------------------------------------------------
+$Id$
+*/
+
+#include "astra/Float32VolumeData3DGPU.h"
+
+using namespace std;
+
+namespace astra
+{
+
+//----------------------------------------------------------------------------------------
+// Default constructor
+CFloat32VolumeData3DGPU::CFloat32VolumeData3DGPU() :
+ CFloat32Data3DGPU()
+{
+ m_pGeometry = NULL;
+ m_bInitialized = false;
+}
+
+//----------------------------------------------------------------------------------------
+// Create an instance of the CFloat32VolumeData2D class with pre-allocated data
+CFloat32VolumeData3DGPU::CFloat32VolumeData3DGPU(CVolumeGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd)
+{
+ m_bInitialized = false;
+ m_bInitialized = initialize(_pGeometry, _hnd);
+}
+
+
+//----------------------------------------------------------------------------------------
+// Destructor
+CFloat32VolumeData3DGPU::~CFloat32VolumeData3DGPU()
+{
+ delete m_pGeometry;
+ m_pGeometry = 0;
+}
+
+//----------------------------------------------------------------------------------------
+// Initialization
+bool CFloat32VolumeData3DGPU::initialize(CVolumeGeometry3D* _pGeometry, astraCUDA3d::MemHandle3D _hnd)
+{
+ m_pGeometry = _pGeometry->clone();
+ m_bInitialized = _initialize(m_pGeometry->getGridColCount(), m_pGeometry->getGridRowCount(), m_pGeometry->getGridSliceCount(), _hnd);
+ return m_bInitialized;
+}
+
+} // end namespace astra
diff --git a/src/Float32VolumeData3DMemory.cpp b/src/Float32VolumeData3DMemory.cpp
index 14adb1a..27ae87b 100644
--- a/src/Float32VolumeData3DMemory.cpp
+++ b/src/Float32VolumeData3DMemory.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Float32VolumeData3DMemory.h"
@@ -115,103 +114,13 @@ bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, float
}
//----------------------------------------------------------------------------------------
// Initialization
-bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory)
+bool CFloat32VolumeData3DMemory::initialize(CVolumeGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory)
{
m_pGeometry = _pGeometry->clone();
m_bInitialized = _initialize(m_pGeometry->getGridColCount(), m_pGeometry->getGridRowCount(), m_pGeometry->getGridSliceCount(), _pCustomMemory);
return m_bInitialized;
}
-
-//----------------------------------------------------------------------------------------
-// Fetch a slice
-CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceZ(int _iSliceIndex) const
-{
- // fetch slice of the geometry
- int iRowCount = m_pGeometry->getGridRowCount();
- int iColumnCount = m_pGeometry->getGridColCount();
- CVolumeGeometry2D volGeom(iColumnCount, iRowCount);
-
- // create new volume data
- CFloat32VolumeData2D* res = new CFloat32VolumeData2D(&volGeom);
-
- // copy data
- float * pfTargetData = res->getData();
- for(int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++)
- {
- for(int iColumnIndex = 0; iColumnIndex < iColumnCount; iColumnIndex++)
- {
- int iSourceIndex = _iSliceIndex * iColumnCount * iRowCount + iRowIndex * iColumnCount + iColumnIndex;
- int iTargetIndex = iRowIndex * iColumnCount + iColumnIndex;
- float fStoredValue = m_pfData[iSourceIndex];
- pfTargetData[iTargetIndex] = fStoredValue;
- }
- }
- // return
- return res;
-}
-
-//----------------------------------------------------------------------------------------
-// Return a slice
-void CFloat32VolumeData3DMemory::returnSliceZ(int _iSliceIndex, CFloat32VolumeData2D * _pSlice)
-{
- int iRowCount = _pSlice->getGeometry()->getGridRowCount();
- int iColumnCount = _pSlice->getGeometry()->getGridColCount();
-
- assert(iRowCount == m_pGeometry->getGridRowCount());
- assert(iColumnCount == m_pGeometry->getGridColCount());
-
- for(int iRowIndex = 0; iRowIndex < iRowCount; iRowIndex++)
- {
- for(int iColumnIndex = 0; iColumnIndex < iColumnCount; iColumnIndex++)
- {
- int iSourceIndex = iRowIndex * iColumnCount + iColumnIndex;
- int iTargetIndex = _iSliceIndex * iColumnCount * iRowCount + iRowIndex * iColumnCount + iColumnIndex;
- float fStoredValue = _pSlice->getDataConst()[iSourceIndex];
- m_pfData[iTargetIndex] = fStoredValue;
- }
- }
-}
-
-CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceX(int _iColumnIndex) const
-{
- // TODO:
- assert(false);
- return NULL;
-}
-
-CFloat32VolumeData2D * CFloat32VolumeData3DMemory::fetchSliceY(int _iRowIndex) const
-{
- // TODO:
- assert(false);
- return NULL;
-}
-
-void CFloat32VolumeData3DMemory::returnSliceX(int _iColumnIndex, CFloat32VolumeData2D * _pSliceData)
-{
- // TODO:
- assert(false);
-}
-
-void CFloat32VolumeData3DMemory::returnSliceY(int _iRowIndex, CFloat32VolumeData2D * _pSliceData)
-{
- // TODO:
- assert(false);
-}
-
-//----------------------------------------------------------------------------------------
-// Returns a specific value
-float32 CFloat32VolumeData3DMemory::getVoxelValue(int _iIndex)
-{
- return m_pfData[_iIndex];
-}
-
-//----------------------------------------------------------------------------------------
-// Sets a specific value
-void CFloat32VolumeData3DMemory::setVoxelValue(int _iIndex, float32 _fValue)
-{
- m_pfData[_iIndex] = _fValue;
-}
//----------------------------------------------------------------------------------------
CFloat32VolumeData3DMemory& CFloat32VolumeData3DMemory::operator=(const CFloat32VolumeData3DMemory& _dataIn)
diff --git a/src/ForwardProjectionAlgorithm.cpp b/src/ForwardProjectionAlgorithm.cpp
index dcf5790..dccd838 100644
--- a/src/ForwardProjectionAlgorithm.cpp
+++ b/src/ForwardProjectionAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ForwardProjectionAlgorithm.h"
diff --git a/src/Fourier.cpp b/src/Fourier.cpp
index c33f7bd..36aa26b 100644
--- a/src/Fourier.cpp
+++ b/src/Fourier.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Fourier.h"
diff --git a/src/GeometryUtil3D.cpp b/src/GeometryUtil3D.cpp
index c6bfd8b..b12c211 100644
--- a/src/GeometryUtil3D.cpp
+++ b/src/GeometryUtil3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/GeometryUtil3D.h"
diff --git a/src/Globals.cpp b/src/Globals.cpp
index 904a459..0edb397 100644
--- a/src/Globals.cpp
+++ b/src/Globals.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Globals.h"
diff --git a/src/Logging.cpp b/src/Logging.cpp
index cd7e3f0..da7ea37 100644
--- a/src/Logging.cpp
+++ b/src/Logging.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#define CLOG_MAIN
diff --git a/src/ParallelBeamBlobKernelProjector2D.cpp b/src/ParallelBeamBlobKernelProjector2D.cpp
index f6741dc..7ff13e9 100644
--- a/src/ParallelBeamBlobKernelProjector2D.cpp
+++ b/src/ParallelBeamBlobKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,12 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelBeamBlobKernelProjector2D.h"
#include <cmath>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/ParallelBeamLineKernelProjector2D.cpp b/src/ParallelBeamLineKernelProjector2D.cpp
index 4b5a34f..d11be3d 100644
--- a/src/ParallelBeamLineKernelProjector2D.cpp
+++ b/src/ParallelBeamLineKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,12 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelBeamLineKernelProjector2D.h"
#include <cmath>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/ParallelBeamLinearKernelProjector2D.cpp b/src/ParallelBeamLinearKernelProjector2D.cpp
index 4090fb6..137046b 100644
--- a/src/ParallelBeamLinearKernelProjector2D.cpp
+++ b/src/ParallelBeamLinearKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,12 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelBeamLinearKernelProjector2D.h"
#include <cmath>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/ParallelBeamStripKernelProjector2D.cpp b/src/ParallelBeamStripKernelProjector2D.cpp
index 68e4017..6ed6ab0 100644
--- a/src/ParallelBeamStripKernelProjector2D.cpp
+++ b/src/ParallelBeamStripKernelProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,12 +23,12 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelBeamStripKernelProjector2D.h"
#include <cmath>
+#include <algorithm>
#include "astra/DataProjectorPolicies.h"
diff --git a/src/ParallelProjectionGeometry2D.cpp b/src/ParallelProjectionGeometry2D.cpp
index e1f93aa..3cc506a 100644
--- a/src/ParallelProjectionGeometry2D.cpp
+++ b/src/ParallelProjectionGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelProjectionGeometry2D.h"
diff --git a/src/ParallelProjectionGeometry3D.cpp b/src/ParallelProjectionGeometry3D.cpp
index 2f80883..4d3af25 100644
--- a/src/ParallelProjectionGeometry3D.cpp
+++ b/src/ParallelProjectionGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelProjectionGeometry3D.h"
diff --git a/src/ParallelVecProjectionGeometry3D.cpp b/src/ParallelVecProjectionGeometry3D.cpp
index 3172818..310f87b 100644
--- a/src/ParallelVecProjectionGeometry3D.cpp
+++ b/src/ParallelVecProjectionGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ParallelVecProjectionGeometry3D.h"
diff --git a/src/PlatformDepSystemCode.cpp b/src/PlatformDepSystemCode.cpp
index 0a5d236..d519068 100644
--- a/src/PlatformDepSystemCode.cpp
+++ b/src/PlatformDepSystemCode.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/PlatformDepSystemCode.h"
diff --git a/src/PluginAlgorithm.cpp b/src/PluginAlgorithm.cpp
index 1bcfbdb..28bf12e 100644
--- a/src/PluginAlgorithm.cpp
+++ b/src/PluginAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/PluginAlgorithm.h"
diff --git a/src/ProjectionGeometry2D.cpp b/src/ProjectionGeometry2D.cpp
index a306b48..54605a7 100644
--- a/src/ProjectionGeometry2D.cpp
+++ b/src/ProjectionGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ProjectionGeometry2D.h"
diff --git a/src/ProjectionGeometry3D.cpp b/src/ProjectionGeometry3D.cpp
index 281db7c..d595570 100644
--- a/src/ProjectionGeometry3D.cpp
+++ b/src/ProjectionGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ProjectionGeometry3D.h"
diff --git a/src/Projector2D.cpp b/src/Projector2D.cpp
index c8743b5..ced5b84 100644
--- a/src/Projector2D.cpp
+++ b/src/Projector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Projector2D.h"
diff --git a/src/Projector3D.cpp b/src/Projector3D.cpp
index 5e22105..ecaaafc 100644
--- a/src/Projector3D.cpp
+++ b/src/Projector3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Projector3D.h"
diff --git a/src/ReconstructionAlgorithm2D.cpp b/src/ReconstructionAlgorithm2D.cpp
index 1c6d855..4fb2b2b 100644
--- a/src/ReconstructionAlgorithm2D.cpp
+++ b/src/ReconstructionAlgorithm2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ReconstructionAlgorithm2D.h"
diff --git a/src/ReconstructionAlgorithm3D.cpp b/src/ReconstructionAlgorithm3D.cpp
index 55f1031..4893e01 100644
--- a/src/ReconstructionAlgorithm3D.cpp
+++ b/src/ReconstructionAlgorithm3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ReconstructionAlgorithm3D.h"
diff --git a/src/ReconstructionAlgorithmMultiSlice2D.cpp b/src/ReconstructionAlgorithmMultiSlice2D.cpp
index 39c337f..eb13f46 100644
--- a/src/ReconstructionAlgorithmMultiSlice2D.cpp
+++ b/src/ReconstructionAlgorithmMultiSlice2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/ReconstructionAlgorithmMultiSlice2D.h"
diff --git a/src/SartAlgorithm.cpp b/src/SartAlgorithm.cpp
index 8df3342..5c8f59b 100644
--- a/src/SartAlgorithm.cpp
+++ b/src/SartAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/SartAlgorithm.h"
diff --git a/src/SirtAlgorithm.cpp b/src/SirtAlgorithm.cpp
index ff25648..1fb4aad 100644
--- a/src/SirtAlgorithm.cpp
+++ b/src/SirtAlgorithm.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/SirtAlgorithm.h"
diff --git a/src/SparseMatrix.cpp b/src/SparseMatrix.cpp
index ace978d..9f39aea 100644
--- a/src/SparseMatrix.cpp
+++ b/src/SparseMatrix.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include <sstream>
diff --git a/src/SparseMatrixProjectionGeometry2D.cpp b/src/SparseMatrixProjectionGeometry2D.cpp
index 358c992..4694df1 100644
--- a/src/SparseMatrixProjectionGeometry2D.cpp
+++ b/src/SparseMatrixProjectionGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/SparseMatrixProjectionGeometry2D.h"
diff --git a/src/SparseMatrixProjector2D.cpp b/src/SparseMatrixProjector2D.cpp
index be7e069..7059919 100644
--- a/src/SparseMatrixProjector2D.cpp
+++ b/src/SparseMatrixProjector2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/SparseMatrixProjector2D.h"
diff --git a/src/Utilities.cpp b/src/Utilities.cpp
index 8b0ca94..eb06d8b 100644
--- a/src/Utilities.cpp
+++ b/src/Utilities.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/Utilities.h"
@@ -121,7 +120,7 @@ void splitString(std::vector<std::string> &items, const std::string& s,
size_t current = 0;
size_t next;
do {
- next = s.find_first_of(",;", current);
+ next = s.find_first_of(delim, current);
items.push_back(s.substr(current, next - current));
current = next + 1;
} while (next != std::string::npos);
diff --git a/src/Vector3D.cpp b/src/Vector3D.cpp
index 6176d25..f2c28f2 100644
--- a/src/Vector3D.cpp
+++ b/src/Vector3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "../include/astra/Vector3D.h"
diff --git a/src/VolumeGeometry2D.cpp b/src/VolumeGeometry2D.cpp
index 9d74e47..dd056ae 100644
--- a/src/VolumeGeometry2D.cpp
+++ b/src/VolumeGeometry2D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/VolumeGeometry2D.h"
@@ -164,13 +163,13 @@ bool CVolumeGeometry2D::initialize(const Config& _cfg)
// Required: GridColCount
XMLNode node = _cfg.self.getSingleNode("GridColCount");
- ASTRA_CONFIG_CHECK(node, "ReconstructionGeometry2D", "No GridColCount tag specified.");
+ ASTRA_CONFIG_CHECK(node, "VolumeGeometry2D", "No GridColCount tag specified.");
m_iGridColCount = node.getContentInt();
CC.markNodeParsed("GridColCount");
// Required: GridRowCount
node = _cfg.self.getSingleNode("GridRowCount");
- ASTRA_CONFIG_CHECK(node, "ReconstructionGeometry2D", "No GridRowCount tag specified.");
+ ASTRA_CONFIG_CHECK(node, "VolumeGeometry2D", "No GridRowCount tag specified.");
m_iGridRowCount = node.getContentInt();
CC.markNodeParsed("GridRowCount");
diff --git a/src/VolumeGeometry3D.cpp b/src/VolumeGeometry3D.cpp
index 5d72c24..5890f1e 100644
--- a/src/VolumeGeometry3D.cpp
+++ b/src/VolumeGeometry3D.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/VolumeGeometry3D.h"
@@ -193,19 +192,19 @@ bool CVolumeGeometry3D::initialize(const Config& _cfg)
// Required: GridColCount
XMLNode node = _cfg.self.getSingleNode("GridColCount");
- ASTRA_CONFIG_CHECK(node, "ReconstructionGeometry2D", "No GridColCount tag specified.");
+ ASTRA_CONFIG_CHECK(node, "VolumeGeometry3D", "No GridColCount tag specified.");
m_iGridColCount = node.getContentInt();
CC.markNodeParsed("GridColCount");
// Required: GridRowCount
node = _cfg.self.getSingleNode("GridRowCount");
- ASTRA_CONFIG_CHECK(node, "ReconstructionGeometry2D", "No GridRowCount tag specified.");
+ ASTRA_CONFIG_CHECK(node, "VolumeGeometry3D", "No GridRowCount tag specified.");
m_iGridRowCount = node.getContentInt();
CC.markNodeParsed("GridRowCount");
// Required: GridRowCount
node = _cfg.self.getSingleNode("GridSliceCount");
- ASTRA_CONFIG_CHECK(node, "ReconstructionGeometry2D", "No GridSliceCount tag specified.");
+ ASTRA_CONFIG_CHECK(node, "VolumeGeometry3D", "No GridSliceCount tag specified.");
m_iGridSliceCount = node.getContentInt();
CC.markNodeParsed("GridSliceCount");
diff --git a/src/XMLDocument.cpp b/src/XMLDocument.cpp
index 716ed9e..97e9c9d 100644
--- a/src/XMLDocument.cpp
+++ b/src/XMLDocument.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/XMLDocument.h"
diff --git a/src/XMLNode.cpp b/src/XMLNode.cpp
index cf268c2..3b7237f 100644
--- a/src/XMLNode.cpp
+++ b/src/XMLNode.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#include "astra/XMLNode.h"
@@ -415,8 +414,8 @@ static std::string setContentMatrix_internal(T* _pfMatrix, int _iWidth, int _iHe
for (int y = 0; y < _iHeight; ++y) {
if (_iWidth > 0)
str += StringUtil::toString(_pfMatrix[0*s1 + y*s2]);
- for (int x = 1; x < _iWidth; x++)
- str += "," + StringUtil::toString(_pfMatrix[x*s1 + y*s2]);
+ for (int x = 1; x < _iWidth; x++)
+ str += "," + StringUtil::toString(_pfMatrix[x*s1 + y*s2]);
if (y != _iHeight-1)
str += ";";
diff --git a/src/swrap.cpp b/src/swrap.cpp
index 51dcdb1..c970ab5 100644
--- a/src/swrap.cpp
+++ b/src/swrap.cpp
@@ -1,10 +1,10 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2015, iMinds-Vision Lab, University of Antwerp
- 2014-2015, CWI, Amsterdam
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
Contact: astra@uantwerpen.be
-Website: http://sf.net/projects/astra-toolbox
+Website: http://www.astra-toolbox.com/
This file is part of the ASTRA Toolbox.
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
#ifndef _MSC_VER
diff --git a/tests/main.cpp b/tests/main.cpp
index 6fc963e..cd2f717 100644
--- a/tests/main.cpp
+++ b/tests/main.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,11 +23,9 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
-
#define BOOST_TEST_DYN_LINK
// Generate main()
diff --git a/tests/test_AstraObjectManager.cpp b/tests/test_AstraObjectManager.cpp
index 893efb9..39652f1 100644
--- a/tests/test_AstraObjectManager.cpp
+++ b/tests/test_AstraObjectManager.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,29 +23,43 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
-
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <boost/test/auto_unit_test.hpp>
#include "astra/AstraObjectManager.h"
+struct TestT {
+ TestT(int _x) : x(_x) { }
+ bool operator==(int _x) const { return x == _x; }
+
+ int x;
+ bool isInitialized() const { return true; }
+ std::string description() const { return ""; }
+};
+
namespace astra {
-DEFINE_SINGLETON(CAstraObjectManager<int>);
+
+class CTestManager : public Singleton<CTestManager>, public CAstraObjectManager<TestT>
+{
+ virtual std::string getType() const { return "test"; }
+};
+
+DEFINE_SINGLETON(CTestManager);
+
}
BOOST_AUTO_TEST_CASE( testAstraObjectManager )
{
- astra::CAstraObjectManager<int> man;
+ astra::CTestManager &man = astra::CTestManager::getSingleton();
- int i1 = man.store(new int(1));
+ int i1 = man.store(new TestT(1));
BOOST_REQUIRE(man.hasIndex(i1));
BOOST_CHECK(*(man.get(i1)) == 1);
- int i2 = man.store(new int(2));
+ int i2 = man.store(new TestT(2));
BOOST_REQUIRE(man.hasIndex(i2));
BOOST_CHECK(*(man.get(i1)) == 1);
BOOST_CHECK(*(man.get(i2)) == 2);
@@ -55,12 +69,12 @@ BOOST_AUTO_TEST_CASE( testAstraObjectManager )
BOOST_CHECK(!man.hasIndex(i1));
BOOST_REQUIRE(man.hasIndex(i2));
- int i3 = man.store(new int(3));
+ int i3 = man.store(new TestT(3));
BOOST_REQUIRE(man.hasIndex(i3));
BOOST_CHECK(*(man.get(i2)) == 2);
BOOST_CHECK(*(man.get(i3)) == 3);
- int* pi4 = new int(4);
+ TestT* pi4 = new TestT(4);
int i4 = man.store(pi4);
BOOST_REQUIRE(man.hasIndex(i4));
BOOST_CHECK(*(man.get(i2)) == 2);
diff --git a/tests/test_FanFlatProjectionGeometry2D.cpp b/tests/test_FanFlatProjectionGeometry2D.cpp
index a07fbf8..9980bad 100644
--- a/tests/test_FanFlatProjectionGeometry2D.cpp
+++ b/tests/test_FanFlatProjectionGeometry2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
@@ -82,7 +81,7 @@ BOOST_AUTO_TEST_CASE( testFanFlatProjectionGeometry2D_Offsets )
float t, theta;
geom.getRayParams(0, 2, t, theta);
- BOOST_CHECK_SMALL( tan(theta) + 0.25f, astra::eps );
+ BOOST_CHECK_SMALL( tan(theta) + 0.25f, (double)astra::eps );
BOOST_CHECK_SMALL( 17.0f*t*t - 1.0f, astra::eps );
// TODO: add test with large angle
diff --git a/tests/test_Float32Data2D.cpp b/tests/test_Float32Data2D.cpp
index 54d642b..31e3d03 100644
--- a/tests/test_Float32Data2D.cpp
+++ b/tests/test_Float32Data2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/test_Float32ProjectionData2D.cpp b/tests/test_Float32ProjectionData2D.cpp
index 1fddeec..75b276f 100644
--- a/tests/test_Float32ProjectionData2D.cpp
+++ b/tests/test_Float32ProjectionData2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/test_Float32VolumeData2D.cpp b/tests/test_Float32VolumeData2D.cpp
index 29dde3a..c667f51 100644
--- a/tests/test_Float32VolumeData2D.cpp
+++ b/tests/test_Float32VolumeData2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/test_Fourier.cpp b/tests/test_Fourier.cpp
index ef12747..cf05991 100644
--- a/tests/test_Fourier.cpp
+++ b/tests/test_Fourier.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
@@ -35,148 +34,25 @@ $Id$
#include "astra/Fourier.h"
-BOOST_AUTO_TEST_CASE( testFourier_DFT_1D_1 )
-{
- astra::float32 inR[5] = { 1.0f, 1.0f, 0.0f, 0.0f, 1.0f };
- astra::float32 inI[5] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
- astra::float32 outR[5];
- astra::float32 outI[5];
-
- astra::discreteFourierTransform1D(5, inR, inI, outR, outI, 1, 1, false);
-
- astra::float32 expected1R[5] = { 3.0f, 1.618034f, -0.618034f, -0.618034f, 1.618034f };
- for (unsigned int i = 0; i < 5; ++i) {
- BOOST_CHECK_SMALL(outR[i] - expected1R[i], 0.00001f);
- BOOST_CHECK_SMALL(outI[i], 0.00001f);
- }
-
- astra::discreteFourierTransform1D(5, outR, outI, inR, inI, 1, 1, true);
- astra::float32 expected2R[5] = { 1.0f, 1.0f, 0.0f, 0.0f, 1.0f };
- for (unsigned int i = 0; i < 5; ++i) {
- BOOST_CHECK_SMALL(inR[i] - expected2R[i], 0.00001f);
- BOOST_CHECK_SMALL(inI[i], 0.00001f);
- }
-}
-
-BOOST_AUTO_TEST_CASE( testFourier_DFT_2D_1 )
-{
- astra::float32 inR[25] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 1.0f };
- astra::float32 inI[25] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
- astra::float32 outR[25];
- astra::float32 outI[25];
-
- astra::discreteFourierTransform2D(5, 5, inR, inI, outR, outI, false);
-
- astra::float32 expected1R[25] =
- { 13.0f , 5.236068f, 0.763932f, 0.763932f, 5.236068f,
- 5.236068f,-0.618034f,-2.0f ,-2.0f ,-0.618034f,
- 0.763932f,-2.0f , 1.618034f, 1.618034f,-2.0f ,
- 0.763932f,-2.0f , 1.618034f, 1.618034f,-2.0f ,
- 5.236068f,-0.618034f,-2.0f ,-2.0f ,-0.618034f };
- for (unsigned int i = 0; i < 25; ++i) {
- BOOST_CHECK_SMALL(outR[i] - expected1R[i], 0.00001f);
- BOOST_CHECK_SMALL(outI[i], 0.00001f);
- }
-
- astra::discreteFourierTransform2D(5, 5, outR, outI, inR, inI, true);
- astra::float32 expected2R[25] = { 1.0f, 1.0f, 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 1.0f };
- for (unsigned int i = 0; i < 25; ++i) {
- BOOST_CHECK_SMALL(inR[i] - expected2R[i], 0.00001f);
- BOOST_CHECK_SMALL(inI[i], 0.00001f);
- }
-
-
-}
-
-
BOOST_AUTO_TEST_CASE( testFourier_FFT_1D_1 )
{
- astra::float32 inR[8] = { 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f };
- astra::float32 inI[8] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
- astra::float32 outR[8];
- astra::float32 outI[8];
+ astra::float32 data[16] = { 1.0f,0.0f, 1.0f,0.0f, 1.0f,0.0f, 0.0f,0.0f, 0.0f,0.0f, 0.0f,0.0f, 1.0f,0.0f, 1.0f,0.0f };
+ int ip[6];
+ astra::float32 w[8];
+ ip[0] = 0;
- astra::fastTwoPowerFourierTransform1D(8, inR, inI, outR, outI, 1, 1, false);
+ astra::cdft(16, -1, data, ip, w);
- astra::float32 expected1R[8] = { 5.0f, 2.414214f, -1.0f, -0.414214f, 1.0f, -0.414214f, -1.0f, 2.414214f };
- for (unsigned int i = 0; i < 8; ++i) {
- BOOST_CHECK_SMALL(outR[i] - expected1R[i], 0.00001f);
- BOOST_CHECK_SMALL(outI[i], 0.00001f);
+ astra::float32 expected1[16] = { 5.0f,0.0f, 2.414214f,0.0f, -1.0f,0.0f, -0.414214f,0.0f, 1.0f,0.0f, -0.414214f,0.0f, -1.0f,0.0f, 2.414214f,0.0f };
+ for (unsigned int i = 0; i < 16; ++i) {
+ BOOST_CHECK_SMALL(data[i] - expected1[i], 0.00001f);
}
- astra::fastTwoPowerFourierTransform1D(8, outR, outI, inR, inI, 1, 1, true);
- astra::float32 expected2R[8] = { 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f };
- for (unsigned int i = 0; i < 8; ++i) {
- BOOST_CHECK_SMALL(inR[i] - expected2R[i], 0.00001f);
- BOOST_CHECK_SMALL(inI[i], 0.00001f);
+ astra::cdft(16, 1, data, ip, w);
+ astra::float32 expected2[16] = { 8.0f,0.0f, 8.0f,0.0f, 8.0f,0.0f, 0.0f,0.0f, 0.0f,0.0f, 0.0f,0.0f, 8.0f,0.0f, 8.0f,0.0f };
+ for (unsigned int i = 0; i < 16; ++i) {
+ BOOST_CHECK_SMALL(data[i] - expected2[i], 0.00001f);
}
}
-BOOST_AUTO_TEST_CASE( testFourier_FFT_2D_1 )
-{
- astra::float32 inR[64] = { 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f };
- astra::float32 inI[64] = { 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f };
- astra::float32 outR[64];
- astra::float32 outI[64];
-
- astra::discreteFourierTransform2D(8, 8, inR, inI, outR, outI, false);
-
- astra::float32 expected1R[64] =
- { 25.0f, 12.656854f, 1.0f, 1.343146f, 1.0f, 1.343146f, 1.0f, 12.656854f,
- 12.656854f, 3.0f, -3.828427f, -1.0f, -1.0f, -1.0f, -3.828427f, 3.0f,
- 1.0f, -3.828427f, -3.0f, 1.828427f, 1.0f, 1.828427f, -3.0f, -3.828427f,
- 1.343146f, -1.0f, 1.828427f, 3.0f, -1.0f, 3.0f, 1.828427f, -1.0f,
- 1.0f, -1.0f, 1.0f, -1.0f, -7.0f, -1.0f, 1.0f, -1.0f,
- 1.343146f, -1.0f, 1.828427f, 3.0f, -1.0f, 3.0f, 1.828427f, -1.0f,
- 1.0f, -3.828427f, -3.0f, 1.828427f, 1.0f, 1.828427f, -3.0f, -3.828427f,
- 12.656854f, 3.0f, -3.828427f, -1.0f, -1.0f, -1.0f, -3.828427f, 3.0f };
- for (unsigned int i = 0; i < 64; ++i) {
- BOOST_CHECK_SMALL(outR[i] - expected1R[i], 0.00002f);
- BOOST_CHECK_SMALL(outI[i], 0.00001f);
- }
-
-
- astra::discreteFourierTransform2D(8, 8, outR, outI, inR, inI, true);
- astra::float32 expected2R[64] = { 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f,
- 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f,
- 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 1.0f };
- for (unsigned int i = 0; i < 64; ++i) {
- BOOST_CHECK_SMALL(inR[i] - expected2R[i], 0.00001f);
- BOOST_CHECK_SMALL(inI[i], 0.00001f);
- }
-
-
-}
-
diff --git a/tests/test_ParallelBeamLineKernelProjector2D.cpp b/tests/test_ParallelBeamLineKernelProjector2D.cpp
index c56ff37..58d511e 100644
--- a/tests/test_ParallelBeamLineKernelProjector2D.cpp
+++ b/tests/test_ParallelBeamLineKernelProjector2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,11 +23,9 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
-
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <boost/test/auto_unit_test.hpp>
diff --git a/tests/test_ParallelBeamLinearKernelProjector2D.cpp b/tests/test_ParallelBeamLinearKernelProjector2D.cpp
index 9100db4..f1fa311 100644
--- a/tests/test_ParallelBeamLinearKernelProjector2D.cpp
+++ b/tests/test_ParallelBeamLinearKernelProjector2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,11 +23,9 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
-
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include <boost/test/auto_unit_test.hpp>
diff --git a/tests/test_ParallelProjectionGeometry2D.cpp b/tests/test_ParallelProjectionGeometry2D.cpp
index 809c6fa..fe353f0 100644
--- a/tests/test_ParallelProjectionGeometry2D.cpp
+++ b/tests/test_ParallelProjectionGeometry2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/test_VolumeGeometry2D.cpp b/tests/test_VolumeGeometry2D.cpp
index 4ae88d3..96e8e5e 100644
--- a/tests/test_VolumeGeometry2D.cpp
+++ b/tests/test_VolumeGeometry2D.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/test_XMLDocument.cpp b/tests/test_XMLDocument.cpp
index 95429cb..f213006 100644
--- a/tests/test_XMLDocument.cpp
+++ b/tests/test_XMLDocument.cpp
@@ -1,13 +1,13 @@
/*
-----------------------------------------------------------------------
-Copyright 2012 iMinds-Vision Lab, University of Antwerp
+Copyright: 2010-2016, iMinds-Vision Lab, University of Antwerp
+ 2014-2016, CWI, Amsterdam
-Contact: astra@ua.ac.be
-Website: http://astra.ua.ac.be
+Contact: astra@uantwerpen.be
+Website: http://www.astra-toolbox.com/
+This file is part of the ASTRA Toolbox.
-This file is part of the
-All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
The ASTRA Toolbox is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -23,7 +23,6 @@ You should have received a copy of the GNU General Public License
along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
-----------------------------------------------------------------------
-$Id$
*/
diff --git a/tests/tests_vc08.vcproj b/tests/tests_vc08.vcproj
deleted file mode 100644
index 90c5d55..0000000
--- a/tests/tests_vc08.vcproj
+++ /dev/null
@@ -1,699 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<VisualStudioProject
- ProjectType="Visual C++"
- Version="9.00"
- Name="tests"
- ProjectGUID="{32C1BDD3-38C2-4C80-A03C-2129782F59B5}"
- RootNamespace="tests"
- Keyword="Win32Proj"
- TargetFrameworkVersion="131072"
- >
- <Platforms>
- <Platform
- Name="Win32"
- />
- <Platform
- Name="x64"
- />
- </Platforms>
- <ToolFiles>
- </ToolFiles>
- <Configurations>
- <Configuration
- Name="Debug|Win32"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32D.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\lib\win32\;..\bin\win32"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug|x64"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64D.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\lib\x64\;..\bin\x64"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|Win32"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra32.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\lib\win32\;..\bin\win32"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release|x64"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="Astra64.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\lib\x64\;..\bin\x64"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|Win32"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="4"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32D.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\lib\win32\;..\bin\win32"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Debug_CUDA|x64"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- Optimization="0"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
- MinimalRebuild="true"
- BasicRuntimeChecks="0"
- RuntimeLibrary="3"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64D.lib"
- LinkIncremental="2"
- AdditionalLibraryDirectories="..\lib\x64\;..\bin\x64"
- GenerateDebugInformation="true"
- SubSystem="1"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|Win32"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda32.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\lib\win32\;..\bin\win32"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="1"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- <Configuration
- Name="Release_CUDA|x64"
- OutputDirectory="$(SolutionDir)\tests\$(PlatformName)\$(ConfigurationName)"
- IntermediateDirectory="$(OutDir)\obj\"
- ConfigurationType="1"
- CharacterSet="1"
- WholeProgramOptimization="1"
- >
- <Tool
- Name="VCPreBuildEventTool"
- />
- <Tool
- Name="VCCustomBuildTool"
- />
- <Tool
- Name="VCXMLDataGeneratorTool"
- />
- <Tool
- Name="VCWebServiceProxyGeneratorTool"
- />
- <Tool
- Name="VCMIDLTool"
- TargetEnvironment="3"
- />
- <Tool
- Name="VCCLCompilerTool"
- AdditionalIncludeDirectories="..\lib\include\;..\include\"
- PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
- RuntimeLibrary="2"
- UsePrecompiledHeader="0"
- WarningLevel="3"
- Detect64BitPortabilityProblems="true"
- DebugInformationFormat="3"
- />
- <Tool
- Name="VCManagedResourceCompilerTool"
- />
- <Tool
- Name="VCResourceCompilerTool"
- />
- <Tool
- Name="VCPreLinkEventTool"
- />
- <Tool
- Name="VCLinkerTool"
- AdditionalDependencies="AstraCuda64.lib"
- LinkIncremental="1"
- AdditionalLibraryDirectories="..\lib\x64\;..\bin\x64"
- GenerateDebugInformation="true"
- SubSystem="1"
- OptimizeReferences="2"
- EnableCOMDATFolding="2"
- RandomizedBaseAddress="1"
- DataExecutionPrevention="0"
- TargetMachine="17"
- />
- <Tool
- Name="VCALinkTool"
- />
- <Tool
- Name="VCManifestTool"
- />
- <Tool
- Name="VCXDCMakeTool"
- />
- <Tool
- Name="VCBscMakeTool"
- />
- <Tool
- Name="VCFxCopTool"
- />
- <Tool
- Name="VCAppVerifierTool"
- />
- <Tool
- Name="VCPostBuildEventTool"
- />
- </Configuration>
- </Configurations>
- <References>
- </References>
- <Files>
- <Filter
- Name="Test Files"
- Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
- UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
- >
- <File
- RelativePath=".\test_FanFlatProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_Float32Data2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_Float32ProjectionData2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_Float32VolumeData2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_Fourier.cpp"
- >
- </File>
- <File
- RelativePath=".\test_ParallelBeamLinearKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_ParallelBeamLineKernelProjector2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_ParallelProjectionGeometry2D.cpp"
- >
- </File>
- <File
- RelativePath=".\test_VolumeGeometry2D.cpp"
- >
- </File>
- </Filter>
- <Filter
- Name="Main"
- >
- <File
- RelativePath=".\main.cpp"
- >
- </File>
- </Filter>
- </Files>
- <Globals>
- </Globals>
-</VisualStudioProject>