Skip to content
Snippets Groups Projects
# Instructions to install the DCT code
#
# Prerequisites:
# - python (version >= 2.6)  www.python.org
# - git    (version >= 1.6)  www.git-scm.com
# - g++    (version >= 4.4)  www.gcc.gnu.org
# - matlab (version >= 2012) www.mathworks.com
# - astra  (version >= 1.0)  www.code.google.com/p/astra-toolbox
# - cuda   (version >= 4.0)  www.nvidia.com/object/cuda_home_new.html

 1. Download the DCT install bundle from:
    http://sourceforge.net/projects/dct/

 2. Extract the zip in a temporary directory (here it is /tmp)

user1@host1 ~/Downloads $ ls
dct-install.zip
user@host1 ~/Downloads $ unzip dct-install.zip -d /tmp
Archive:  dct-install.zip
 extracting: /tmp/dct-install/dct_compile_matlab_functions.py  
 extracting: /tmp/dct-install/dct_compile_mex_functions.py  
 extracting: /tmp/dct-install/dct_io_xml.py  
 extracting: /tmp/dct-install/dct_utils_git.py  
 extracting: /tmp/dct-install/dct_utils_platform.py  
 extracting: /tmp/dct-install/dct_matlab_invocation.py  
 extracting: /tmp/dct-install/dct_batch.py  
 extracting: /tmp/dct-install/dct_notification.py  
 extracting: /tmp/dct-install/dct_setup.py  
user1@host1 ~/Downloads $ cd /tmp/dct-install
user1@host1 /tmp/dct-install $ ls
dct_batch.py                     dct_notification.py
dct_compile_matlab_functions.py  dct_setup.py
dct_compile_mex_functions.py     dct_utils_git.py
dct_io_xml.py                    dct_utils_platform.py
dct_matlab_invocation.py

 3. Then, run the python script to print help to install the code
    (need python >= 2.6, so on rnice at ESRF, use python26 command)

user1@host1 /tmp/dct-install $ python dct_setup.py -h
Installs DCT for both users and developers
 Options:
  -h | --help : to show this help
  -v | --verbose : to show more detailed output
  -b <branch_name> : to select a specific branch from the listed here:
                     master
                     stable_1.0
  -d <dir_name> : to specify directory name, where dct will be
  -u <user_name> : selects developer mode and specifies the developer
                   sf_username
  -m <matlab_version> : selects the matlab version to be used
  -mp <matlab_dir> : selects the path to matlab (not needed at ESRF)

 4. Now you can run the installation with your personal settings. As a
    user, you don't need to specify a user name (only for developers).
    To install the stable_1.0 version in ~/dct_1.0 directory, let's run:

user1@host1 /tmp/dct-install $ python dct_setup.py -b stable_1.0 -d ~/dct_1.0
Checking system...
Done.

System information:
  System Description: debian6 x86_64
  Matlab Version: 2012a
  Gcc Version: 4.4.5
  Git Version: 1.7.2.5

Git repository information:
  Mode: User
  Branch: stable_1.0
  DCT Dir: /users/user1/dct_1.0

Installing...
  * Cloning repository...
Cloning into /users/user1/dct_1.0...
remote: Counting objects: 1978, done.
remote: Compressing objects: 100% (1632/1632), done.
remote: Total 1978 (delta 506), reused 1435 (delta 329)
Receiving objects: 100% (1978/1978), 26.10 MiB | 5.15 MiB/s, done.
Resolving deltas: 100% (506/506), done.
Done.

Initializing configuration files..
Creating new file: 'conf.xml'
New file path: /users/user1/dct_1.0/conf.xml
Updated '/users/user1/dct_1.0/conf.xml' with: 'matlab/version' <- '2012a'
Done.

Compiling MEX files..
[...]
Done.

Compiling batch functions... (may take several minutes)
[...]
Done.

DCT is now Installed in: '/users/user1/dct_1.0'

 5. Using the dct_launch.py script with the proper argument, you can:
- run matlab with the DCT code [ matlab ] (works also with no arguments)
- update the code              [ update ]
- update the configuration     [ update_conf ]
- recompile mex functions      [ compile_mex ] (sub-options, see --help)
- recompile matlab functions   [ compile_matlab ] (sub-options, see --help)
- list all options             [ -h | --help ] 

$ python /users/user1/dct_1.0/dct_launch.py

 6. Have fun with DCT!

 7. Update regularly the code with "update" command and the configuration
    with "update_conf" command.

 8. Submit bug reports to https://sourceforge.net/p/dct/tickets

 9. For more information or support, contact graintracking@esrf.fr