<commit_before>TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox
======

TIGRE is a MATLAB/CUDA toolbox for fast and accurate 3D tomographic 
reconstruction. The aim of TIGRE is to provide a wide range of easy-to-use 
iterative algorithms to the tomographic research community. 
We would like to build an stronger bridge between algorithm researchers and
imaging researchers, by encouraging and supporting contributions from both sides into
TIGRE. TIGRE is free to use and distribute, use it, modify it, break it, share it; 
the only requirement is proper referencing to the authors.

Currently it contains Cone Beam CT geometries, and a beta of parallel geometries (not fully working yet). 


**TIGRE features**:

  - Fast, state of the art projection using interpolation or Siddon (Jacob) ray-tracing

  - Fast, state of the art backprojection, with FDK weight or matched weight 

  - A wide range of algorithms with multiple configurations for each 
      - FDK                    
      - SART                    
      - OS-SART                
      - SIRT                   
      - CGLS
      - ADS-POCS               
      - OSC-POCS              
      - B-ADS-POCS-&#946;       
      - SART-TV

  - TV denoising for 3D images

  - A variety of plotting functions

  - Quality measures


## How to install TIGRE

(Caution, this has only been tested on win 64 machines, please [report any 
issue][2] if it doesnt work in other arch/SO)
 
   - Download TIGRE from the downloads page
   
   - Install  CUDA Toolkit (the later, the better)
     Download [here][1]
   
   - If you are working on a win64 machine, with CUDA 7.5, stop here. The
     toolbox should be ready to use.

If it doesn't work, or you are not in win64 CUDA 7.5
   
   - Make sure a compiler is set up in your MATLAB. run `mex -setup`. If a 
     compiler is not set up, make sure you download one (some are free)
     and run mex -setup again.
   
   - Make sure the xml file for compiling is properly set up. E.g. in Linux 64 bit machines
     mex_CUDA_glnxa64.xml should be present, and inside it the proper links to CUDA will have to be set up.

   - Run Compile.m

   - TIGRE should be ready to use!

## Getting started


The first thing you need to do is run `InitTIGRE`, to initialize all the 
folders and subfolders if the toolbox.

Currently the documentation is included in each of the functions. You can access it <commit_msg>Add fancy images to TIGRE readme<commit_after>TIGRE: Tomographic Iterative GPU-based Reconstruction Toolbox
======

TIGRE is a MATLAB/CUDA toolbox for fast and accurate 3D tomographic 
reconstruction. The aim of TIGRE is to provide a wide range of easy-to-use 
iterative algorithms to the tomographic research community. 
We would like to build an stronger bridge between algorithm researchers and
imaging researchers, by encouraging and supporting contributions from both sides into
TIGRE. TIGRE is free to use and distribute, use it, modify it, break it, share it; 
the only requirement is proper referencing to the authors.

Currently it contains Cone Beam CT geometries, and a beta of parallel geometries (not fully working yet). 


**TIGRE features**:

  - Fast, state of the art projection using interpolation or Siddon (Jacob) ray-tracing

  - Fast, state of the art backprojection, with FDK weight or matched weight 

  - A wide range of algorithms with multiple configurations for each 
      - FDK                    
      - SART                    
      - OS-SART                
      - SIRT                   
      - CGLS
      - ADS-POCS               
      - OSC-POCS              
      - B-ADS-POCS-&#946;       
      - SART-TV

  - TV denoising for 3D images

  - A variety of plotting functions

  - Quality measures


## How to install TIGRE

(Caution, this has only been tested on win 64 machines, please [report any 
issue][2] if it doesnt work in other arch/SO)
 
   - Download TIGRE from the downloads page
   
   - Install  CUDA Toolkit (the later, the better)
     Download [here][1]
   
   - If you are working on a win64 machine, with CUDA 7.5, stop here. The
     toolbox should be ready to use.

If it doesn't work, or you are not in win64 CUDA 7.5
   
   - Make sure a compiler is set up in your MATLAB. run `mex -setup`. If a 
     compiler is not set up, make sure you download one (some are free)
     and run mex -setup again.
   
   - Make sure the xml file for compiling is properly set up. E.g. in Linux 64 bit machines
     mex_CUDA_glnxa64.xml should be present, and inside it the proper links to CUDA will have to be set up.

   - Run Compile.m

   - TIGRE should be ready to use!


## Some fancy images

TIGRE gets this:
![this image](http://i.imgur.com/ahnFc05.gif?1)

And transforms it to this:
![this image](http://i.imgur.com/NcVEac2.gif?1)
 
And much more! See the result of demo 9, by using just 20 projections (!) The result that the standard medical algorithm (FDK) gets vs a variety of interative Total Variation algorithms. 

FDK is top row, and then OS-SART, ASD-POCS, AwASD-POCS, OSC-TV, B-ASD-POCS-beta and SART-TV are shown. Get TIGRE, and try them in your data!

![Imgur](http://i.imgur.com/HaqGRGK.gif?1)




## Getting started


The first thing you need to do is run `InitTIGRE`, to initialize all the 
folders and subfolders if the toolbox.

Currently the documentation is included in each of the functions. You can access it 
{'fraction_non_alphanumeric': 0.05739066248385311, 'fraction_numerical': 0.009411330503782987, 'mean_word_length': 2.5846560846560847, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 4}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 8, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2381152', 'n_tokens_mistral': 1660, 'n_tokens_neox': 1534, 'n_words': 761}