Code Monkey home page Code Monkey logo

tigre's Introduction

Documentation Status

All Contributors

TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox

TIGRE is an open-source toolbox for fast and accurate 3D tomographic reconstruction for any geometry. Its focus is on iterative algorithms for improved image quality that have all been optimized to run on GPUs (including multi-GPUs) for improved speed. It combines the higher level abstraction of MATLAB or Python with the performance of CUDA at a lower level in order to make it both fast and easy to use.

TIGRE is free to download and distribute: use it, modify it, add to it, share it. Our aim is to provide a wide range of easy-to-use algorithms for the tomographic community "off the shelf". We would like to build a stronger bridge between algorithm developers and imaging researchers/clinicians by encouraging and supporting contributions from both sides into TIGRE.

TIGRE remains under development as we are still adding new features (e.g., motion compensation). If you have any request for a specific application, do not hesitate to contact us or open a discussion thread!

TIGRE features

TIGRE is a GPU-based CT reconstruction software repository that contains a wide variety of iterative algorithms.

  • MATLAB and Python libraries for high-performance x-ray absorption tomographic reconstruction.

  • State-of-the-art implementations of projection and backprojection operations on GPUs (including multi-GPUs), with a simple interface using higher level languages to facilitate the development of new methods.

  • Flexible CT geometry: Cone Beam, Parallel Beam, Digital Tomosynthesis, C-arm CT, and any other geometry. Geometric parameters are defined per projection, not per scan.

  • A wide range of reconstruction algorithms for CT.

    • Filtered backprojection (FBP,FDK) and variations (different filters, Parker weights, ...)

    • Iterative algorithms

      • Gradient-based algorithms (SART, OS-SART, SIRT, ASD-POCS, OS-ASD-POCS, B-ASD-POCS-ฮฒ, PCSD, AwPCSD, Aw-ASD-POCS) with multiple tuning parameters (Nesterov acceleration, initialization, parameter reduction, ...)

      • Krylov subspace algorithms (CGLS, LSQR, hybrid LSQR, LSMR, IRN-TV-CGLS, hybrid-fLSQR-TV, AB/BA-GMRES)

      • Statistical reconstruction (MLEM)

      • Variational methods (FISTA, SART-TV)

  • TV denoising for 3D images.

  • Basic image loading functionality.

  • A variety of plotting functions.

  • Image quality metrics.

  • Nikon and Varian and Phillips (DICOM) scanner data loaders.

Installation

MATLAB and Python builds are both fully supported.

Advanced, not required to run TIGRE, will change the source code. Only do if performance is critical.

FAQ

For answers to frequently asked questions click here.

If you have new question not answered in the FAQ, please contact us, join the Slack group or open a discussion thread.

Gallery

To see a gallery of images of different CT modalities reconstructed using TIGRE click here.

Further Reading

If you want more information on TIGRE and its algorithms, click here.

Contact

Contact the authors directly at:

[email protected] or [email protected]

for any questions/comments or if you want to be added to the mailing list or the Slack team.

The Slack team is a good place for chatting about development and questions about TIGRE. Please send an email to the authors and you will receive an invitation.

Licensing

The creation of TIGRE was supported by the University of Bath and CERN. It is released under the BSD License, meaning you can use and modify the software freely. However, you must cite the original authors. For more information read the licence file or the BSD License Definition.

If you use TIGRE, please reference the following papers:

TIGRE: A MATLAB-GPU toolbox for CBCT image reconstruction Ander Biguri, Manjit Dosanjh, Steven Hancock and Manuchehr Soleimani Biomedical Physics & Engineering Express, Volume 2, Number 5 Read the article (open access)

And especially if you use images bigger than 5123 or multiple GPUs

Arbitrarily large iterative tomographic reconstruction on multiple GPUs using the TIGRE toolbox Ander Biguri, Reuben Lindroos, Robert Bryll, Hossein Towsyfyan, Hans Deyhle, Ibrahim El khalil Harrane, Richard Boardman, Mark Mavrogordato, Manjit Dosanjh, Steven Hancock, Thomas Blumensath Journal of Parallel and Distributed Computing Read the article, Preprint

Contributors

Biguri
Biguri

๐Ÿ’ป ๐Ÿ’ก ๐Ÿค” ๐Ÿšง ๐Ÿ”ฌ ๐Ÿ‘€ โœ…
yliu88au
yliu88au

๐Ÿ’ป ๐Ÿ›
Reuben Lindroos
Reuben Lindroos

๐Ÿ’ป ๐Ÿ› ๐ŸŽจ ๐Ÿค”
genusn
genusn

๐Ÿ’ป ๐Ÿ›
Yi DU
Yi DU

๐Ÿ’ป ๐Ÿ› ๐Ÿ”ฌ
tsadakane
tsadakane

๐Ÿ’ป ๐ŸŽจ ๐Ÿค” ๐Ÿ› โœ…
S. Co1
S. Co1

๐Ÿ’ป ๐ŸŽจ ๐Ÿ”ง
Daveelvt
Daveelvt

๐Ÿ’ป ๐Ÿ”ฌ
phernst
phernst

๐Ÿ› ๐Ÿ’ป
malena-sabate
malena-sabate

๐Ÿ”ฌ ๐Ÿ’ป

tigre's People

Contributors

akeeler avatar allcontributors[bot] avatar anderbiguri avatar anonymerniklasistanonym avatar daveelvt avatar genusn avatar gfardell avatar haozhangbit avatar kaushl2208 avatar keyn34 avatar phernst avatar pjb304 avatar pjueon avatar pmhars avatar pranjalsahu avatar reubenlindroos avatar rjkoch avatar rodrigovimieiro avatar sco1 avatar scriptkiddi avatar skaser avatar sysiphus511 avatar timcogan avatar tsadakane avatar twhitbread avatar varyans avatar wittlsn avatar yidu-bjcancer avatar yliu88au avatar zhuczhuc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tigre's Issues

Problem with optional argumets to geometry

Specially mode, sometimes crashes if it is not given, but others have been given. This needs to be restructured.

The best fix now is just defining all fields, including the optional ones.

mex_CUDA_glnxa64.xml library issues

mex_CUDA_glnxa64.xml requires libcudart to link. It assumes this is installed under MATLABROOT. By default (on R2014a) this is not the case and it can be found under e.g. /usr/local/cuda-7.5/targets/x86_64-linux/lib.
It also has a reference to the mwgpu library "-lmwgpu" which is not in the windows version; if this library is not installed the compiliation will fail. Removing the reference seems to fix the problem.
Apart from that it builds OK on CentOS 6.8.

poissonrandom is very slow

The poisson random number generator for people without the Statistics Toolbox is very slow. Would take ~3 minutes to simulate noise on 512x512x30 data....

Its not a core function but would be interesting to fix

Compile error on Windows 64-bit with MinGW

Hi,

Windows 7 64-bit running Matlab 2015b and CUDA 7.5 - I've installed MinGW compiler and can compile other mex files ok in matlab. When I run Compile.m for TIGRE I get the following compilation error:


Compiling TIGRE source...
This may take a couple of minutes....
Error using mex
No supported compiler or SDK was found. You can install the freely available MinGW-w64 C/C++ compiler; see Install MinGW-w64 Compiler. For more options, see http://www.mathworks.com/support/compilers/R2015b/win64.html.

Error in Compile (line 37)
mex -largeArrayDims ./Source/Ax.cpp ./Source/ray_interpolated_projection.cu ./Source/Siddon_projection.cu
./Source/ray_interpolated_projection_parallel.cu ./Source/Siddon_projection_parallel.cu -outdir

./Mex_files/win64

Any suggestion why mex is specifically not working for TIGRE? I'm assuming (hoping) it's something simple I've not done.

Cheers,

Nick

Tidy MLEM

Right now its just plain algorithm, add some parameters (such as initialization, etc)

Python: module Ax

from _Ax import Ax can not work: No module (through conda install )
And the demo in jupyter:
Source/_Ax.pyx in init _Ax (tigre/Source/_Ax.cpp:6038)() __init__.pxd in numpy.import_array (tigre/Source/_Ax.cpp:5379)() ImportError: numpy.core.multiarray failed to import
How can I use the Ax module (in Source file and pyx format), I try from tiger.Source._Ax import Ax or from tiger.Source import Ax alse failed.

And does this toolbox will be supported to python3+ ?

Problem running TIGRE in Fedora 25

Hi TIGRE developers and users
I have some problems to compile TIGRE. I have computer with the following hardware specifications and softwares installed:

[sn@localhost ~]$ uname --all
Linux localhost.localdomain 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[sn@localhost ~]$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GK106 [GeForce GTX 650 Ti] (rev a1)
[sn@localhost ~]$

I installed nvidia-driver and cuda with dnf repositories in Fedora core 25:
[sn@localhost ~]$ rpm -q gcc
gcc-6.3.1-1.fc25.x86_64
[sn@localhost ~]$ rpm -q gcc-c++
gcc-c++-6.3.1-1.fc25.x86_64
[sn@localhost ~]$ rpm -q nvidia-driver
nvidia-driver-378.13-6.fc25.x86_64
[sn@localhost ~]$ rpm -q nvidia-driver-cuda
nvidia-driver-cuda-378.13-6.fc25.x86_64
[sn@localhost ~]$ rpm -q cuda
cuda-8.0.61-1.fc25.x86_64
[sn@localhost ~]$ rpm -q cuda-devel
cuda-devel-8.0.61-1.fc25.x86_64
[sn@localhost ~]$ rpm -q nvidia-settings
nvidia-settings-378.13-1.fc25.x86_64
[sn@localhost ~]$ rpm -q cuda-nsight (for Nsight Eclipse Edition)
cuda-nsight-8.0.61-1.fc25.x86_64
[sn@localhost ~]$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2016 NVIDIA Corporation
Built on Tue_Jan_10_13:22:03_CST_2017
Cuda compilation tools, release 8.0, V8.0.61
[sn@localhost ~]$ locate nvcc
/home/sn/Matlab2016aInstall/toolbox/distcomp/gpu/extern/src/mex/glnxa64/nvcc_g++.xml
/home/sn/Matlab2016aInstall/toolbox/distcomp/gpu/extern/src/mex/glnxa64/nvcc_g++_dynamic.xml
/usr/bin/nvcc
/usr/share/cmake/Modules/FindCUDA/run_nvcc.cmake
/usr/share/man/man1/nvcc.1.gz
[sn@localhost ~]$

Also I install matlab (version 9.0.0.341360 (R2016a)) with all toolboxes. In command window of matlab, I get the following toolboxes installed:

ver


MATLAB Version: 9.0.0.341360 (R2016a)
MATLAB License Number: 123456
Operating System: Linux 4.8.6-300.fc25.x86_64 #1 SMP Tue Nov 1 12:36:38 UTC 2016 x86_64
Java Version: Java 1.7.0_60-b19 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode

MATLAB Version 9.0 (R2016a)
...
MATLAB Coder Version 3.1 (R2016a)
MATLAB Compiler Version 6.2 (R2016a)
MATLAB Compiler SDK Version 6.2 (R2016a)
MATLAB Distributed Computing Server Version 6.8 (R2016a)
...

After doing it, I want to compile TIGRE as mentioned below:

mex -setup
MEX configured to use 'gcc' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN

cd ('/home/sn/TIGRE/TIGRE-master')
Compile
MEX configured to use 'gcc' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN
Compiling TIGRE source...
This may take a couple of minutes....
Building with 'nvcc'.
Error using mex
nvcc fatal : Unsupported gpu architecture 'compute_13'

Error in Compile (line 64)
mex -largeArrayDims ./Source/Ax.cpp ./Source/ray_interpolated_projection.cu
./Source/Siddon_projection.cu ./Source/ray_interpolated_projection_parallel.cu
./Source/Siddon_projection_parallel.cu -outdir ./Mex_files/linux64

Why do I get the error message "nvcc fatal : Unsupported gpu architecture 'compute_13'"?
Why?
What do I wrong?
How can I solve it?

Please guide and help me. I wait to get feedback from you as soon as possible.
Thanks a lot.
Shahrokh.

Add Multi GPU support

MultiGPU support should not be too hard to achieve with current geometry definition.

For the projection:
Simply, the image should be divided into N subimages, each of them offseted from the origin as needed. Finally, the result of all projections added together.

For Bakcprojection:
The image subdivided in N subimages and each of them offeted. Then all images are put together in the CPU memory.

I just need time to generate robust code.........
Ander

Error using Compile.m on Linux

Hi!

I am trying to compile the toolbox on Ubuntu 64 bit, with cuda toolkit 7.5 installed and Matlab R2016a.
In mex_CUDA_glnxa64.xml I have removed the "-gencode=arch=compute_13,code=sm_13" part under the NVCCFLAGS, since it was apparently not supported by my compiler and kept giving me errors (I have found this solution on an already closed issue here). The rest of mex_CUDA_glnxa64.xml was left unmodified, as the link to the cuda libraries seemed to be already correct.

When I try to run the Compile script, I am now returned this error:

Error using mex
/usr/bin/ld: cannot find /usr/local/cuda-7.5/targets/x86_64-linux/lib: File format not recognized
collect2: error: ld returned 1 exit status

Error in Compile (line 49)
mex -largeArrayDims ./Source/Ax.cpp ./Source/ray_interpolated_projection.cu ./Source/Siddon_projection.cu
./Source/ray_interpolated_projection_parallel.cu ./Source/Siddon_projection_parallel.cu -outdir ./Mex_files/linux64

Before that, I get a lot of warnings similar to the following one, all relative to Siddon_projection_parallel.cu

/home/nicco/Downloads/TIGRE-1.1.1/./Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced

I have verified that the path to the cuda libraries in mex_CUDA_glnxa64.xml is correct. The folder /usr/local/cuda-7.5/targets/x86_64-linux/lib exists and contains .so files.

Any idea of what I am missing?

I apologize if the question turns out to be really obvious, but I am a complete beginner to Linux systems and on top of that I have never compiled any mex file!

`datetime` and `seconds` are >2014b

every algorithm has these 2 functions.

Temporal fix:

Comment out those lines.
Or call always the algorithms with verbose off (SART(.... ,'Verbose',false)

complier setting isuue in .xml file

  1. The xml file is using VS120COMNTOOLS by default . If VS2013 is not installed , run complie.m will report a error No supported compiler or SDK was found
  2. I changed it to VS100COMNTOOLS, it falid with some C3861 complie error when calling round() in "minTV.cpp", I simply used a std::round()/<cmath> replace it, and I passed the complement

Tidy CGLS

put parse parameters in functions, tidy the use of initial images

Ax.exp, Atb.exe , minTV.exp, tvDenoise.exp

Hello everyone,
when I try to run Compile it gives me this
Building with 'NVIDIA CUDA Compiler'.
Could Not Find H:\CERN-TIGRE-7e349d7\Mex_files\win64\Atb.exp
and the same for the other in the header.
Could anyone help me?
Plus I have 3142 projections and images of 2000x2000, so matrix with 2000x2000x3142. Is it normal that for FDK it goes out of memory (128Gb RAM)?

something with size of reconstruction image in d09_Algorithms04.m

Hi again @AnderBiguri, Last time I found the code run well with the projections you provide but crashed with a hint which is wrong use of minTV.mexw64 applying mine. Just now I found that, the size of reconstruction image maybe result in that, because the matlab crashed when I set thegeo.nVoxel=[256;256;170];,but the code just worked well with geo.nVoxel=[256;256;256];. Obviously memory isn't the problems here, Could you please tell me the reasons?

minimizeTV outputs NaN images unexpectedly.

Hi!
When I used my experiment date to reconstruct the image some days ago, sometimes the voxel value of reconstructions were all NaN and sometimes not, and recently, the results are all NaN when using the GPU code
f=minimizeTV(f0,dtvg,ng);,
but the results will be correct when using the matlab code:
df=gradientTVnorm(f,'forward');df=df./im3Dnorm(df,'L2');f=f-dtvg.*df;.
could you tell me why? It will cost much more time when using the matlab code.
Thank you!

TIGRE only compiles with Visual Studio on Windows

This is a problem with CUDA, that does not seem to accept MinGW and SDK7.1 on Widows. This has been confirmed by Mathworks:

The supported compilers for CUDA on Windows are determined by NVIDIA and the CUDA version. On Linux we have a lot of freedom and just need a compiler which is part of the gcc toolchain. However in Windows we are limited to Visual Studio. We checked out NVIDIA's forums to see if there was much
traction going on there with support for things like MinGW etc. What we found there was users with similar pain about trying to get CUDA code
compiled under Windows outside of the Visual Studio toolchain but no solutions as of now.

So, the only supported compiler for CUDA on Windows is Visual Studio with nvcc as of now.

If someone is able to find a workaround, please contact us!

Meanwhile, I have some compiled files (.mex64). They may work in other Winx64 computers, but there is no way to tell 100% sure. If you work in Windows, contact me (via author email or TIGRE email) and I will send you the compiled files.

Confusing about the OSC-TV algorithm

Hello @AnderBiguri
I have read your paper about the TIRGE, it's a great job. OSC-TV algorithm you site is "GPU-accelerated regularized iterative reconstruction for few-view cone beam CT" by Philippe etc. I notice that in the article by Philippe, the author mentioned that OSC-TV is a statistics iterative technique because it serves the poisson log-likelihood of the image estimate ยต as the data-correspondence criterion.
However, I don't know how the possion model been participated in the code, could you explain it to me? and also, it seems that the only difference between ASD-POCS algorithm and OSC-TV algorithm is the using of subsets in the OSC-TV, if OSC-TV is a statistics iterative technique, could ASD-POCS also seen as a statistics iteratice technique? Thank you very much!

FDK behaviour strangely

Hello, @AnderBiguri
when I using FDK in TIGRE to reconstruct a image, I find the cylinder can't be reconstruct correctly when the cylinder isn't positioned in the rotation origin.
ld63_0 23j5p7qrd_6697b
for example, this is the central slice reconstruct by tigre and:
d86q _ d_sfnyk zgr3f_a
this is reconstruction by another tool just with the same parameters, please notice the two small circle inside.
could you please tell me where is the problem? Thank you!

Missing malloc in Ax.cpp?

In Source/Ax,cpp the outsize variable is set by (line 421):
mwSize* outsize;
outsize[0]=geo.nDetecV;
outsize[1]=geo.nDetecU;
outsize[2]= nalpha;
I think there should be a malloc statement after the pointer declaration, e.g.:
outsize = (mwSize_) malloc(3_sizeof(size_t));
Without this the Linux 64 version tends to crash in this function.

MLEM behaves strangely in "trick" 2D fan beam

The image (or "an image") appears in the second slice instead of the first one.

Removing offsets from MLEM W matrix seems to make the image appear again, not sure how mathematically correct that is though.

Reproduce it with:

%% FAN BEAM 2D

% VARIABLE                                   DESCRIPTION                    UNITS
%-------------------------------------------------------------------------------------
geo.DSD = 1536;                             % Distance Source Detector      (mm)
geo.DSO = 1000;                             % Distance Source Origin        (mm)
% Detector parameters

% Image parameters
geo.nVoxel=[256;256;2];                   % number of voxels              (vx)
geo.sVoxel=[256;256;2];                   % total size of the image       (mm)
geo.dVoxel=geo.sVoxel./geo.nVoxel;          % size of each voxel            (mm)

% This assumes 0 offsets in the image
vsize=(geo.dVoxel(3)*geo.DSD)/(geo.DSO-sqrt((geo.sVoxel(1)/2).^2+(geo.sVoxel(2)/2).^2));
vsize=2*vsize;

geo.nDetector=[512;  2];					% number of pixels              (px)
geo.dDetector=[0.8; vsize]; 					% size of each pixel            (mm)
geo.sDetector=geo.nDetector.*geo.dDetector; % total size of the detector    (mm)

% MAKE SURE THAT THE DETECTOR PIXELS SIZE IN V IS THE SAME AS THE IMAGE!

% Offsets
geo.offOrigin =[0;0;0];                        % Offset of image from origin   (mm)              
geo.offDetector=[0; -vsize/2];                  % Offset of Detector            (mm)


% Auxiliary 
geo.accuracy=0.5;                           % Accuracy of FWD proj          (vx/sample)
geo.mode='cone';
%% Define angles of projection and load phatom image

angles=linspace(0,2*pi,100);
phatom=single(phantom('Modified Shepp-Logan',geo.nVoxel(1)));
phatom=cat(3,phatom,phatom);
projections=Ax(phatom,geo,angles,'interpolated');


imgMLEM=MLEM(projections,geo,angles,40);
imgFDK=FDK(projections,geo,angles);

Quick Fix (not sure if mathematically correct):

Replace line 26 of MLEM with:

auxgeo=geo;
auxgeo.offDetector=[0; 0];
W=Atb(ones([geo.nDetector.' numel(angles)],'single'),auxgeo,angles);

Error running Compile.m --> no gpu.bin (CUDA 8.0)

Hi,

I am trying to set-up the toolbox but run into problems during compilation in the very first mex statement:

LINK : fatal error LNK1181: cannot open input file 'gpu.lib'

Searching through my harddrive, I indeed do not have this file. Should it be included in the NVIDEA tools (I have installed 8.0.4) or in Matlab (using R2014a) or in Windows (Win7 64-bit)? Or do I miss additional tooling? My compiler is: Microsoft Visual C++ 2013 Professional (C).

If it helps, below I copy the verbose output of the mex command

Kind regards,
Paul

    mex -v -largeArrayDims ./Source/Ax.cpp ./Source/ray_interpolated_projection.cu ./Source/Siddon_projection.cu ./Source/ray_interpolated_projection_parallel.cu ./Source/Siddon_projection_parallel.cu -outdir ./Mex_files/win64

Verbose mode is on.
... Looking for compiler 'NVIDIA CUDA Compiler' ...
... Looking for environment variable 'VS120COMNTOOLS' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\amd64\cl.exe' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 12.0' ...Yes.
... Looking for registry setting 'HKLM\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v7.1A' InstallationFolder ...Yes ('C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A').
... Looking for environment variable 'VS120COMNTOOLS' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe' ...Yes.
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\VCExpress.exe' ...No.
... Looking for environment variable 'VS120COMNTOOLS' ...Yes ('C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools').
... Looking for file 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat' ...Yes.
... Looking for folder 'C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC' ...Yes.
... Looking for environment variable 'CUDA_LIB_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64\cudart.lib' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64' ...Yes.
... Looking for environment variable 'CUDA_BIN_PATH' ...No.
... Looking for environment variable 'CUDA_PATH' ...Yes ('C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0').
... Looking for file 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin\nvcc.exe' ...Yes.
... Looking for folder 'C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin' ...Yes.
Found installed compiler 'NVIDIA CUDA Compiler'.

Options file details

Compiler location: $NVCC
Options file: C:\Users\nly96088\Documents\MATLAB\TIGRE-master\mex_CUDA_win64.xml
CMDLINE200 : link /nologo /manifest /DLL   /EXPORT:mexFunction /LIBPATH:"C:\matlab\win64\R2014a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib C:\Temp\mex_3646378500924_8516\Ax.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj C:\Temp\mex_3646378500924_8516\Siddon_projection.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj  /out:C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64
CMDLINE250 : mt -outputresource:C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64;2 -manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest
COMPILER : nvcc
COMPFLAGS : -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD
COMPDEFINES : --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE
MATLABMEX : /DMATLAB_MEX_FILE
OPTIMFLAGS : --compiler-options=/O2,/Oy-,/DNDEBUG
INCLUDE : -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include"
DEBUGFLAGS : --compiler-options=/Z7
LINKER : link
LINKFLAGS : /nologo /manifest
LINKTYPE : /DLL 
LINKEXPORT : /EXPORT:mexFunction
LINKLIBS : /LIBPATH:"C:\matlab\win64\R2014a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
LINKDEBUGFLAGS : /debug /PDB:"C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.pdb"
LINKOPTIMFLAGS : 
OBJEXT : .obj
LDEXT : .mexw64
SETENV : set COMPILER=nvcc 
              set COMPFLAGS=-gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE 
              set OPTIMFLAGS=--compiler-options=/O2,/Oy-,/DNDEBUG 
              set DEBUGFLAGS=--compiler-options=/Z7 
              set LINKER=link 
              set LINKFLAGS=/nologo /manifest /export:%ENTRYPOINT% /DLL  /LIBPATH:"C:\matlab\win64\R2014a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib  ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /EXPORT:mexFunction 
              set LINKDEBUGFLAGS=/debug /PDB:"%OUTDIR%%MEX_NAME%.mexw64.pdb" 
              set NAME_OUTPUT=/out:"%OUTDIR%%MEX_NAME%%MEX_EXT%"
VSROOT : C:\Program Files (x86)\Microsoft Visual Studio 12.0
SDKROOT : C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\
PROF_ENV : C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
VCVARSALLDIR : C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC
CUDA_LIB_PATH : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64
CUDA_BIN_PATH : C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin
MATLABROOT : C:\matlab\win64\R2014a
ARCH : win64
SRC : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Ax.cpp;C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection.cu;C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection.cu;C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection_parallel.cu;C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection_parallel.cu
OBJ : C:\Temp\mex_3646378500924_8516\Ax.obj;C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj;C:\Temp\mex_3646378500924_8516\Siddon_projection.obj;C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj;C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj
OBJS : C:\Temp\mex_3646378500924_8516\Ax.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj C:\Temp\mex_3646378500924_8516\Siddon_projection.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj 
SRCROOT : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Ax
DEF : C:\Temp\mex_3646378500924_8516\Ax.def
EXP : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp
LIB : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib
EXE : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64
ILK : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk
MANIFEST : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest
TEMPNAME : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax
EXEDIR : C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\
EXENAME : Ax
OPTIM : --compiler-options=/O2,/Oy-,/DNDEBUG
LINKOPTIM : 
CMDLINE100_0 : nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Ax.cpp -o C:\Temp\mex_3646378500924_8516\Ax.obj
CMDLINE100_1 : nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection.cu -o C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj
CMDLINE100_2 : nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection.cu -o C:\Temp\mex_3646378500924_8516\Siddon_projection.obj
CMDLINE100_3 : nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection_parallel.cu -o C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj
CMDLINE100_4 : nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code=\"sm_50,compute_50\" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection_parallel.cu -o C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj
CMDLINE300_0 : del C:\Temp\mex_3646378500924_8516\Ax.obj C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk
CMDLINE300_1 : del C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk
CMDLINE300_2 : del C:\Temp\mex_3646378500924_8516\Siddon_projection.obj C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk
CMDLINE300_3 : del C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk
CMDLINE300_4 : del C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.exp C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.lib C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64.manifest C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.ilk

Building with 'NVIDIA CUDA Compiler'.
Set PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Bin\amd64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Bin\VCPackages;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools;C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\bin;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\win64\x64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin;$PATH;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\bin;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\libnvvp;;C:\Program Files (x86)\CRMSDK11.4\lib;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\CollabNet\Subversion Client;C:\Program Files (x86)\TIOBE\TICS;C:\Program Files (x86)\RS\common;C:\Program Files (x86)\RS\Clearquest\cqcli\bin;C:\Program Files (x86)\Business Objects\Common\3.5\bin\NOTES;C:\Program Files (x86)\Business Objects\Common\3.5\bin\NOTES\DATA;C:\Program Files (x86)\Coverage\Bin;C:\Program Files (x86)\CollabNet\Subversion Server;C:\Oracle\v920\jre\1.4.2\bin\client;C:\Oracle\v920\jre\1.4.2\bin;C:\Oracle\v920\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Program Files\NCover;C:\Program Files (x86)\Common Files\Compuware;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\Tools\Binn;C:\Program Files\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn;C:\Program Files (x86)\IBM\gsk8\lib;C:\Program Files (x86)\IBM\gsk8\bin;C:\Program Files\Microsoft\Web Platform Installer;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0;C:\Program Files\Microsoft SQL Server\110\Tools\Binn;C:\matlab\win64\R2014a\runtime\win64;C:\matlab\win64\R2014a\bin;C:\matlab\win64\R2012b\runtime\win64;C:\matlab\win64\R2012b\bin;C:\Program Files (x86)\WinMerge;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0;C:\Program Files\Microsoft SQL Server\120\Tools\Binn;C:\Program Files\TortoiseSVN\bin;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Perl\Bin;C:\Program Files (x86)\doxygen\bin;C:\Program Files (x86)\UltraEdit-32
Set INCLUDE = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\include;C:\matlab\win64\R2014a\extern\include;C:\matlab\win64\R2014a\toolbox\distcomp\gpu\extern\include;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\INCLUDE;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\include;C:\matlab\win64\R2014a\extern\include;C:\matlab\win64\R2014a\toolbox\distcomp\gpu\extern\include;
Set LIB = C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\X64;C:\matlab\win64\R2014a\lib\win64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\ATLMFC\LIB\amd64;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Lib\amd64;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Lib\X64;C:\matlab\win64\R2014a\lib\win64;C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v8.0\lib\x64;
Set LIBPATH = &C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Lib\amd64;;&C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\Lib\amd64;;
nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code="sm_50,compute_50" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Ax.cpp -o C:\Temp\mex_3646378500924_8516\Ax.obj
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
Ax.cpp
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Ax.cpp(400) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Ax.cpp(402) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Ax.cpp(408) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Ax.cpp(410) : warning C4267: 'argument' : conversion from 'size_t' to 'int', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Ax.cpp(423) : warning C4018: '<' : signed/unsigned mismatch

nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code="sm_50,compute_50" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection.cu -o C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
ray_interpolated_projection.cu
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection.cu(229) : warning C4018: '<' : signed/unsigned mismatch
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection.cu(285) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection.cu(286) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection.cu(287) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code="sm_50,compute_50" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection.cu -o C:\Temp\mex_3646378500924_8516\Siddon_projection.obj
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
Siddon_projection.cu
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection.cu(300) : warning C4018: '<' : signed/unsigned mismatch
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection.cu(352) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection.cu(353) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection.cu(354) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code="sm_50,compute_50" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\ray_interpolated_projection_parallel.cu -o C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
ray_interpolated_projection_parallel.cu
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(223) : warning C4244: 'argument' : conversion from 'float' to 'unsigned int', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(227) : warning C4018: '<' : signed/unsigned mismatch
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(277) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(278) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(283) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(284) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/ray_interpolated_projection_parallel.cu(285) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

nvcc -c -gencode=arch=compute_20,code=sm_20 -gencode=arch=compute_30,code=sm_30 -gencode=arch=compute_35,code=sm_35 -gencode=arch=compute_50,code="sm_50,compute_50" -gencode arch=compute_52,code=sm_52 --compiler-options=/c,/GR,/W3,/EHs,/nologo,/MD --compiler-options=/O2,/Oy-,/DNDEBUG --compiler-options=/D_CRT_SECURE_NO_DEPRECATE,/D_SCL_SECURE_NO_DEPRECATE,/D_SECURE_SCL=0,/DMATLAB_MEX_FILE -I"C:\matlab\win64\R2014a\extern\include" -I"C:\matlab\win64\R2014a\simulink\include" C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Source\Siddon_projection_parallel.cu -o C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(144): warning: variable "azm" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(145): warning: variable "azM" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmin" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(173): warning: variable "kmax" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(200): warning: variable "az" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(217): warning: variable "azu" was declared but never referenced
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(222): warning: variable "ku" was declared but never referenced

nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
Siddon_projection_parallel.cu
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(319) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(364) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(369) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(370) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data
C:/Users/nly96088/Documents/MATLAB/TIGRE-master/Source/Siddon_projection_parallel.cu(371) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data

link /nologo /manifest /DLL /EXPORT:mexFunction /LIBPATH:"C:\matlab\win64\R2014a\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib gpu.lib cudart.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib C:\Temp\mex_3646378500924_8516\Ax.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection.obj C:\Temp\mex_3646378500924_8516\Siddon_projection.obj C:\Temp\mex_3646378500924_8516\ray_interpolated_projection_parallel.obj C:\Temp\mex_3646378500924_8516\Siddon_projection_parallel.obj /out:C:\Users\nly96088\Documents\MATLAB\TIGRE-master\Mex_files\win64\Ax.mexw64
Error using mex
LINK : fatal error LNK1181: cannot open input file 'gpu.lib'

SDK 7.1 May not be compatible

I am using matlab r2016a, cuda 8 and sdk 7.1. When i tried to run compile.m file, i got message below:

Compile
MEX configured to use 'Microsoft Windows SDK 7.1 (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN
Compiling TIGRE source...
This may take a couple of minutes....
Error using mex
No supported compiler or SDK was found. For options, visit http://www.mathworks.com/support/compilers/R2016a/win64.html.

Error in Compile (line 37)
mex -largeArrayDims ./Source/Ax.cpp ./Source/ray_interpolated_projection.cu ./Source/Siddon_projection.cu
./Source/ray_interpolated_projection_parallel.cu ./Source/Siddon_projection_parallel.cu -outdir ./Mex_files/win64
output of mex-setup

mex -setup
MEX configured to use 'Microsoft Windows SDK 7.1 (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

To choose a different language, select one from the following:
mex -setup C++
mex -setup FORTRAN
and details of gpudevice

gpuDevice()

ans =

CUDADevice with properties:

                  Name: 'Quadro K5000'
                 Index: 1
     ComputeCapability: '3.0'
        SupportsDouble: 1
         DriverVersion: 8
        ToolkitVersion: 7.5000
    MaxThreadsPerBlock: 1024
      MaxShmemPerBlock: 49152
    MaxThreadBlockSize: [1024 1024 64]
           MaxGridSize: [2.1475e+09 65535 65535]
             SIMDWidth: 32
           TotalMemory: 4.2950e+09
       AvailableMemory: 4.1018e+09
   MultiprocessorCount: 8
          ClockRateKHz: 705500
           ComputeMode: 'Default'
  GPUOverlapsTransfers: 1
KernelExecutionTimeout: 1
      CanMapHostMemory: 1
       DeviceSupported: 1
        DeviceSelected: 1

Phantom Data wanted

Digital phantom data such as the Shepp-logan phantom is wanted to add it to TIGRE under the same license, so users can test algorithms against a known image.

We do ask anyone in the community for help!

SART family working strange in Helical data

Study and fix this.

To test it change SIRTby OS_SARTin d_13.

Hypothesis:

  • Zoffset wrongly added, or not reordered properly with angles
  • Something fishy in the W or V computation

Compile crashes with "Permission denied"

Dear Ander Biguri,

Thank you so much for your software!

Unfortunately, I cannot run the "Compile" file. I use Matlab 2014b (newer versions have problems with opengl and nvidia) under Ubuntu 14.04LTS (updated kernel, 64GB RAM), with Nvidia driver 367 and CUDA 8.0. I go to the TIGRE directory, run InitTIGRE and after that I run Compile. Initially it runs ok but it always stops with "Permission denied" - I chmodded all the relevant directories, restarted the computer. I spent more than 4 days trying to find a solution but I could not!

I really need this to work since I am helping with a project of another student and we have to finish by December.

Please HELP!!!

tigre_problem_19oct2016.txt
Thanks in advance!

unstability for minimizeTV

Hello again:
Sometimes reconstruction will end with NaN(and sometiomes not) after minimizeTV for OSCTV. Especially when my virtual machine works. Restart the matlab may not solve the problem but restart the computer does. Recently I've been come across such condition many times, do you know why and how to solve it permanently?
Thank you!

BIG PROJECT: Translate TIGRE to python

We are looking for people to help translate TIGRE to python.
This way we will not only promote the open source movement, but we will allow centers such as hospitals to have easier access to TIGRE, thus potentially improving patient treatment.

Any help is good help!

Error using Atb

Error using Atb
invalid argument

Error in OS_SART (line 145)
res=res+lambda*
bsxfun(@times,1./sum(V(:,:,orig_index{jj}),3),Atb(W(:,:,orig_index{jj}).*(proj(:,:,orig_index{jj})-Ax(res,geo,alphablocks{jj})),geo,alphablocks{jj}));

Do you know why?

seemingly inconsistent integrals of projections from simple example data?

Below is a script that runs an experiment performing projection on a volume with only a single voxel initialized. It runs for quite a while; you may want to limit the number of angles or the number of voxel sizes for testing purposes. The output is in the result variable.

The integrated projections of this single voxel over the entire projection plane are not consistent for different voxel dimensions and different projection angles. Do you know why this might be the case? Is this due to approximation error in the projection routine, a bug, PEBKAC, or something else?

A scientist I am working with says "The consistency of these integral values defines the quality of the entire reconstruction process."

smallgeo.DSD = 1200;
smallgeo.DSO = 1000;
smallgeo.nDetector=[512;512];
smallgeo.sDetector=[128;128];
smallgeo.dDetector=[.25;.25];
smallgeo.offOrigin =[0;0;0];                     % Offset of image from origin   (mm)              
smallgeo.offDetector=[0; 0];                     % Offset of Detector            (mm)

result = [];
for ii=2:64
        dim = ii;
        smallExample = single(zeros([dim dim dim]));
        nearCenter = floor(dim / 2);
        smallExample(nearCenter, nearCenter, nearCenter) = 1;

        smallgeo.nVoxel = [dim;dim;dim];
        smallgeo.sVoxel = [dim;dim;dim];
        smallgeo.dVoxel = [1;1;1];

        smallExample2 = single(zeros([dim dim dim]));
        smallExample2(nearCenter+1, nearCenter+1, nearCenter+1) = 1;

    for angle=linspace(0, 2*pi, 100)
        smallProjection = Ax(smallExample, smallgeo, [angle], 'interpolated');
        sum(smallProjection(:));
        proj2 = Ax(smallExample2, smallgeo, [angle], 'interpolated');
        sum(proj2(:));
        result = cat(1, result, [dim angle sum(smallProjection(:)) sum(proj2(:))]);
    end
end

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.