Difference between revisions of "RTK/Developers"

From Openrtk
Jump to navigation Jump to search
(Redirected page to Main Page)
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
== Developer's guide ==
+
#REDIRECT [[Main_Page]]
  
 
This section is aimed to assist in the development of RTK.
 
This section is aimed to assist in the development of RTK.
  
=== Download and compilation ===
+
== Download and compilation ==
  
 
The RTK source code can be retrieved from RTK's git repository using the following command:
 
The RTK source code can be retrieved from RTK's git repository using the following command:
Line 19: Line 19:
 
#[http://www.nvidia.com/Download/index.aspx?lang=en-us CUDA drivers]
 
#[http://www.nvidia.com/Download/index.aspx?lang=en-us CUDA drivers]
  
==== CMake ====
+
=== CMake ===
 
CMake is a family of tools designed to build, test and package software.
 
CMake is a family of tools designed to build, test and package software.
  
Line 30: Line 30:
 
CMake is used to build ITK and RTK, among other platforms.
 
CMake is used to build ITK and RTK, among other platforms.
  
==== ITK ====
+
=== ITK ===
 
ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.
 
ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.
  
Line 51: Line 51:
 
   Set ITK_USE_OPTIMIZED_REGISTRATION_METHODS to ON
 
   Set ITK_USE_OPTIMIZED_REGISTRATION_METHODS to ON
  
==== Gengetopt ====
+
=== Gengetopt ===
 
Gengetopt is a tool to write command line option parsing code for C programs.
 
Gengetopt is a tool to write command line option parsing code for C programs.
  
Line 69: Line 69:
 
   sudo make install
 
   sudo make install
  
 
+
=== RTK ===
 
Last step is to compile RTK and we also use CMake. Compilation process as follows:
 
Last step is to compile RTK and we also use CMake. Compilation process as follows:
 
   
 
   
Line 77: Line 77:
 
   make
 
   make
  
=== API ===
+
== Coding style ==
 +
 
 +
=== RTK's coding convention  ===
 +
 
 +
RTK follows ITK's coding convention. As an ITK based platform, we decided to follow the same coding style as ITK, therefore any developer
 +
should follow these conventions when submitting new code or contributions to the existing one.
 +
 
 +
If you wish to contribute code to RTK's platform, we strongly recommend you to read thoroughly ITK's coding standards which can be found, [http://www.vtk.org/Wiki/ITK/Coding_Style_Guide, here]. 
  
The API of the toolkit can be found, [http://www.creatis.insa-lyon.fr/~srit/rtk/index.html here].
+
=== Code organization ===
 +
 
 +
The code is organized as follows:
 +
 
 +
*applications/
 +
*cmake/
 +
*code/
 +
*documentation/
 +
*Doxygen/
 +
*examples/
 +
*testing/
 +
 
 +
If you have any doubt where to locate your new code, do not hesitate to contact us by the mailing list, [http://www.openrtk.org/RTK/project/contactus.html contact].
  
 
== Geometry ==
 
== Geometry ==
Line 86: Line 105:
 
radiotherapy systems but it can be used for any 3D circular trajectory. The fixed coordinate system of RTK and the fixed coordinate system of  
 
radiotherapy systems but it can be used for any 3D circular trajectory. The fixed coordinate system of RTK and the fixed coordinate system of  
 
IEC 61217 are the same.
 
IEC 61217 are the same.
 +
 +
== API ==
 +
 +
The API of the toolkit can be found, [http://www.creatis.insa-lyon.fr/~srit/rtk/index.html here].
  
 
== Mailing list ==
 
== Mailing list ==

Latest revision as of 09:10, 22 October 2012

Redirect to:

This section is aimed to assist in the development of RTK.

Download and compilation

The RTK source code can be retrieved from RTK's git repository using the following command:

  git clone git@github.com:SimonRit/RTK.git <sourcePath>

In order to compile RTK you need the following third party software:

  • Mandatory:
  1. CMake >= 2.4
  2. ITK >= 3.20
  3. Gengetopt >= 2.20
  • Optional:
  1. CUDA drivers

CMake

CMake is a family of tools designed to build, test and package software.

You can download pre-compiled binaries and the source code here or via git:

  git clone git://cmake.org/cmake.git

Installation instructions are available, here.

CMake is used to build ITK and RTK, among other platforms.

ITK

ITK is an open-source, cross-platform system that provides developers with an extensive suite of software tools for image analysis.

You can download the source code, here or via git:

  git clone git://itk.org/ITK.git <sourcePath>
  git checkout v3.20.0

Create a binary directory, i.e. itk-bin, get into it and run CMake:

  mkdir itk-bin
  cd itk-bin
  ccmake ../itk
  make

Note: it is preferable to use the following options for registration:

  Set ITK_USE_REVIEW to ON
  Set ITK_USE_OPTIMIZED_REGISTRATION_METHODS to ON

Gengetopt

Gengetopt is a tool to write command line option parsing code for C programs.

  • Windows, you can download the binary, here.
  • Linux, you can download the source code, here

or via git:

  git clone git://git.sv.gnu.org/gengetopt.git

Compilation:

  mkdir gengetopt-bin
  cd gengetopt-bin
  ../gengetopt/configure
  make
  sudo make install

RTK

Last step is to compile RTK and we also use CMake. Compilation process as follows:

  mkdir rtk-bin
  cd rtk-bin
  ccmake ../rtk
  make

Coding style

RTK's coding convention

RTK follows ITK's coding convention. As an ITK based platform, we decided to follow the same coding style as ITK, therefore any developer should follow these conventions when submitting new code or contributions to the existing one.

If you wish to contribute code to RTK's platform, we strongly recommend you to read thoroughly ITK's coding standards which can be found, here.

Code organization

The code is organized as follows:

  • applications/
  • cmake/
  • code/
  • documentation/
  • Doxygen/
  • examples/
  • testing/

If you have any doubt where to locate your new code, do not hesitate to contact us by the mailing list, contact.

Geometry

The description of the geometry is based on the international standard IEC 61217 which has been designed for cone-beam imagers on isocentric radiotherapy systems but it can be used for any 3D circular trajectory. The fixed coordinate system of RTK and the fixed coordinate system of IEC 61217 are the same.

API

The API of the toolkit can be found, here.

Mailing list

If you want to join our mailing list, just click on the link and fill in the subscription form:

RTK's mailing list