diff --git a/contributors.txt b/contributors.txt index 22a5417..0f743d0 100644 --- a/contributors.txt +++ b/contributors.txt @@ -1,8 +1,10 @@ * Lanlan Zhang * Sarah Mang * Ralf Floca * Martina Hub * Clemens Hentschke * Simon Strubel * Fabrizio Ciccarese -* Melanie Braun \ No newline at end of file +* Melanie Braun +* Simon Jung +* Philipp Strubel \ No newline at end of file diff --git a/documentation/RTToolbox_build.txt b/documentation/RTToolbox_build.txt index 17b0041..071fd6b 100644 --- a/documentation/RTToolbox_build.txt +++ b/documentation/RTToolbox_build.txt @@ -1,204 +1,204 @@ /** \page Build Build instructions \tableofcontents \section tests Compiler tests RTToolbox is currently tested with the following compilers (only x64): -- Visual Studio 2010 - Visual Studio 2013 +- Visual Studio 2015 - GCC 4.9 Other compiler versions or other compilers may or may not work. \note The apps can't be compiled with Visual Studio 2010. \section linking Static/Dynamic library support Can be changed with advanced option \c BUILD_SHARED_LIBS \warning building RTToolbox as dynamic library under windows and as static library under Linux is an experimental feature. \section thirdPartyLibraries Needed Third Party Libraries Please load and compile the following third party libraries/tools: \subsection required Required - CMake (version 3.1 or higher) - boost (version 1.58.0 or higher) \subsection optional Optional - DCMTK (with RT support - 3.6.1_20121102 or newer) - if you want DICOM support - ITK (version 4.4 or higher) - if you want DoseInterpolation support with \c itk::Transform or ITK File IO support - MatchPoint (version 0.12 or higher) - if you want DoseInterpolation support with MatchPoint Registration objects) - doxygen - if you want to generate a source code documentation \subsection installing Third party installation Instruction \note To make sure everything runs smoothly, please make sure that all libraries and the RTToolbox are either compiled with \c /MD or \c /MT flags. If third party library packages cannot be found automatically, CMake will ask for them. Please give the location of the binary folder, where the libraries where built for boost, DCMTK, ITK and MatchPoint. \subsubsection boost Boost Build (using the same compiler options as RTToolbox, usually \c STATIC LINKING and x64 architecture). The following components are needed: - \c filesystem, - \c regex, - \c system, - \c thread, - \c regex and - \c program_options. \subsubsection DCMTK DCMTK For Windows: To compile DCMTK with \c /MD flags (standard for all other libs), you need to patch the CMAKE options of DCMTK (PathToDCMTK\CMake\dcmtkPrepare.cmake), either by replacing \c "/MT" with \c "/MD" or by explicitly replacing lines 135 to 171 with the following lines: \code{.cmake} IF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS AND NOT BUILD_SHARED_LIBS) # settings for Microsoft Visual Studio IF(CMAKE_GENERATOR MATCHES "Visual Studio .*") # get Visual Studio Version STRING(REGEX REPLACE "Visual Studio ([0-9]+).*" "\\1" VS_VERSION "${CMAKE_GENERATOR}") # these settings never change even for C or C++ SET(CMAKE_C_FLAGS_DEBUG "/MDd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /MD /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /MD /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /MDd /Z7 /Od") SET(CMAKE_CXX_FLAGS_DEBUG "/MDd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/DNDEBUG /MD /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/DNDEBUG /MD /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/DNDEBUG /MDd /Z7 /Od") # specific settings for the various Visual Studio versions IF(VS_VERSION EQUAL 6) SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX /Zm500") # /Zm500 increments heap size which is needed on some system to compile templates in dcmimgle ENDIF(VS_VERSION EQUAL 6) IF(VS_VERSION EQUAL 7) SET(CMAKE_C_FLAGS "/nologo /W3 /Gy") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy") ENDIF(VS_VERSION EQUAL 7) IF(VS_VERSION GREATER 7) SET(CMAKE_C_FLAGS "/nologo /W3 /Gy /EHsc") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy /EHsc") ENDIF(VS_VERSION GREATER 7) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio .*") ENDIF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS AND NOT BUILD_SHARED_LIBS) \endcode Then build DCMTK. \c BUILD_APPS can be switched off. \subsubsection ITK ITK Build ITK. The default configuration is fine. \warning Only use one ITK version consistently throughout all libraries and RTToolbox! Otherwise, linker errors will occur. \subsubsection MatchPoint MatchPoint Build MatchPoint. The default configuration is fine. \warning Only use one ITK version consistently throughout all libraries and RTToolbox! Otherwise, linker errors will occur. \section installation RT-Toolbox installation Instruction \subsection build Configure/Build RTToolbox \subsubsection Modules Modules - Configure with CMake - Set \c BOOST_INCLUDE_DIR and \c BOOST_DIR to the main boost directory (where "boost_build.jam" is located) - Select all packages you like to build (Parameters \c "BUILD_*" ; e.g. \c BUILD_IO_Dicom). - \c BUILD_IO_Dicom: Reading and writing of DICOM-RT files - \c BUILD_IO_HELAX: Reading of Helax DICOM files - \c BUILD_IO_ITK: Generic reading/writing with ITK - \c BUILD_Interpolation: Dose Interpolation - \c BUILD_InterpolationMatchPointTransformation: Dose Interpolation with Match Point registration support. - \c BUILD_Masks: Voxelization support - \c BUILD_Masks_Legacy: Legacy voxelization support. - \c BUILD_Models: Calculation of dosimetrical models like TCP, NTCP etc. Some modules of RT-Toolbox are mandatory (e.g. \c RTTBCore) and build automatically. \warning The \c BUILD_Masks_Legacy module is not supported anymore and may yield to wrong results. \note \c BUILD_All_Modules builds all modules (except Apps, Testing modules and Masks_Legacy). \subsubsection Apps Apps If you want to use the RTTB command line apps, select \c BUILD_Apps. You can select out of five apps: - \c BioModelCalc: calculate the radiobiological effect based on dose - \c DoseAcc: Do dose accumulation - \c DoseMap: Do dose mapping - \c DoseTool: Compute Dose statistics and DVH - \c VoxelizerTool: Voxelize an RTSTRUCT file \note The apps can't be compiled with Visual Studio 2010. - Generate CMake configuration - Build RTToolbox and have fun! \subsubsection optionalDependencies Optional third party dependencies - If you select \c BUILD_IO_DICOM, the configuration will ask you for the DCMTK main directory (parameter \c DCMTK_DIR; where you have built DCMTK). - If you select \c BUILD_Interpolation or \c BUILD_IO_ITK, set \c ITK_DIR to the binary directory of ITK. - If you select \c BUILD_InterpolationMatchPointTransformation, set \c MatchPoint_DIR to the binary directory of MatchPoint. \note If you have built DCMTK as out source build you have to also set the CMake parameter \c DCMTK_SOURCE_DIR to the root directory of the DCMTK source. \subsection testRTTB Testing RTToolbox CTest is used as testing framework. See their documentation for general testing questions. - Enable \c BUILD_TESTING - Configure with CMake - Enable tests of interest - Generate CMake configuration - Run tests (build \c RUN_TESTS project or call \c ctest in commandline) to ensure that everything is correct. \note \c BUILD_Tester_All builds all test modules. \subsection documentation Documentation Generate the documentation using doxygen and the configuration found in "RTTB_binary_dir/documentation/doxygen.config". \subsection examples Examples - Enable \c BUILD_TESTING - Enable \c BUILD_RTToolbox_Test_examples - Run tests (build \c RUN_TESTS project or call \c ctest in commandline) to also run the examples. These examples (located in testing/examples/) are a good starting point for own projects and show basic functionality of RTToolbox like DVH generation. **/ \ No newline at end of file diff --git a/documentation/RTToolbox_contributors.txt b/documentation/RTToolbox_contributors.txt index ab0e618..05473f9 100644 --- a/documentation/RTToolbox_contributors.txt +++ b/documentation/RTToolbox_contributors.txt @@ -1,11 +1,13 @@ /** \page Contributors List of contributors - Lanlan Zhang - Sarah Mang - Ralf Floca - Martina Hub - Clemens Hentschke - Simon Strubel - Fabrizio Ciccarese - Melanie Braun +- Simon Jung +- Philipp Strubel **/ \ No newline at end of file diff --git a/documentation/RTToolbox_info.txt b/documentation/RTToolbox_info.txt index a8f2349..2d8a56a 100644 --- a/documentation/RTToolbox_info.txt +++ b/documentation/RTToolbox_info.txt @@ -1,44 +1,44 @@ /** \mainpage RTToolbox - DKFZ radiotherapy quantitative evaluation library \tableofcontents \section intro Introduction Radiotherapy is a comprehensive and fast-moving discipline which plays a major role in cancer care. Software tools which support and simplify the quantitative evaluation process of radiotherapy are essential to support decision makings and improve therapy effectiveness.\n\n RTToolbox is a software library to support quantitative analysis of treatment outcome for radiotherapy.\n\n The RTToolbox was designed following object-oriented design (OOD) principles and was implemented in the language C++. It supports the import of radiotherapy data (e.g. dose distributions and structure sets) from DICOM-RT format and other standard image processing formats by using a bridge to ITK.\n\n The RTToolbox supports the full range of radiotherapy evaluation. Tools such as DVH calculation, Dose statistic calculation, arithmetic operations on dose distributions and structure relationship analyses (e.g. fully-contained, partially-contained) are provided as a basis for further calculations. Dose comparison indices such as Conformity Index (CI), Homogeneity Index (HI) and Conformation Number (CN), and biological models including TCP, NTCP, EUD and BED are determined from dose distributions and DVHs. The RTToolbox can be easily extended to support other data format, comparison indices and models. Thus, using the RTToolbox radiotherapy evaluation applications can be built easily and quickly. Also, the RTToolbox provides some apps e.g. for DVH/Dose Statistic calculation or Dose accumulation that provides a convenient access of RT scenarios without computer-science knowledge. \image html Homepage-RTToolbox.png \section content Documentation content This manual is divided in the following sections: - \subpage Build - \subpage Examples - \subpage Structure "Structure of RTToolbox" - \subpage Changelog - \subpage Contributors "List of Contributors" \section contact Contact RTToolbox homepage: http://www.dkfz.de/en/sidt/projects/rttb/info.html\n\n Software Development for Integrated Diagnostics and Therapy (SIDT),\n German Cancer Research Center (DKFZ), Heidelberg, Germany.\n -Web: http://www.dkfz.de/en/sidt/index.html\n -E-mail: sbr(at)dkfz.de, l.zhang(at)dkfz.de (L. Zhang) or c.hentschke(at)dkfz.de (C. Hentschke)\n +Web: https://www.dkfz-heidelberg.de/en/mic/research/SIDT/sidt_projects.html\n +E-mail: rttb(at)dkfz.de \n \section copyright Copyright Copyright © German Cancer Research Center (DKFZ), Software development for Integrated Diagnostics and Therapy (SIDT).\n ALL RIGHTS RESERVED.\n See rttbCopyright.txt or http://www.dkfz.de/en/sidt/projects/rttb/copyright.html\n\n This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. \image html dkfz.png **/ \ No newline at end of file diff --git a/documentation/ReadMe.txt b/documentation/ReadMe.txt index 18271ad..7dc074e 100644 --- a/documentation/ReadMe.txt +++ b/documentation/ReadMe.txt @@ -1,186 +1,186 @@ /** \page Build instructions \section tests Compiler tests RTToolbox is currently tested with the following compilers (only x64): -- Visual Studio 2010 - Visual Studio 2013 +- Visual Studio 2015 - GCC 4.9 \section linking Static/Dynamic library support Can be changed with advanced option BUILD_SHARED_LIBS For Windows: - static linking: default - dynamic linking: experimental For Linux: - dynamic linking: default \section thirdPartyLibraries Needed Third Party Libraries Please load and compile the following third party libraries/tools: Required: 1. CMake (version 3.1 or higher) 2. boost (version 1.58.0 or higher) Optional: 3. DCMTK (with RT support - 3.6.1_20121102 or newer; if you want DICOM support)] 4. ITK (version 4.4 or higher; if you want DoseInterpolation support with itk::Transform or ITK File IO support) 5. MatchPoint (version 0.12 or higher, see http://mitk.org/download/thirdparty/MatchPoint_rev1610.tar.gz if you want DoseInterpolation support with MatchPoint Registration objects) 6. doxygen (if you want to generate a source code documentation) \subsection installing Third party installation Instruction Remark: To make sure everything runs smoothly, please make sure that all libraries and the RTToolbox are either compiled with \MD or \MT flags. If third party library packages cannot be found automatically, cmake will ask for them. Please give the location of the root folder, where the libraries where built for boost, DCMTK, ITK and MatchPoint. [A. Boost] A.1. Build (using the same compiler options as RTToolbox, usually STATIC LINKING and x64 architecture). The following components are needed: filesystem, regex, system, thread, regex and program_options. [B. If you want DICOM support - DCMTK] For Windows: To compile DCMTK with \MD flags (standard for all other libs), you need to patch the CMAKE options of DCMTK (\\DCMTK\CMake\dcmtkPrepare.cmake), either by replacing "/MT" with "/MD" or by explicitly replacing lines 135 to 171 with the following lines: IF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS AND NOT BUILD_SHARED_LIBS) # settings for Microsoft Visual Studio IF(CMAKE_GENERATOR MATCHES "Visual Studio .*") # get Visual Studio Version STRING(REGEX REPLACE "Visual Studio ([0-9]+).*" "\\1" VS_VERSION "${CMAKE_GENERATOR}") # these settings never change even for C or C++ SET(CMAKE_C_FLAGS_DEBUG "/MDd /Z7 /Od") SET(CMAKE_C_FLAGS_RELEASE "/DNDEBUG /MD /O2") SET(CMAKE_C_FLAGS_MINSIZEREL "/DNDEBUG /MD /O2") SET(CMAKE_C_FLAGS_RELWITHDEBINFO "/DNDEBUG /MDd /Z7 /Od") SET(CMAKE_CXX_FLAGS_DEBUG "/MDd /Z7 /Od") SET(CMAKE_CXX_FLAGS_RELEASE "/DNDEBUG /MD /O2") SET(CMAKE_CXX_FLAGS_MINSIZEREL "/DNDEBUG /MD /O2") SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "/DNDEBUG /MDd /Z7 /Od") # specific settings for the various Visual Studio versions IF(VS_VERSION EQUAL 6) SET(CMAKE_C_FLAGS "/nologo /W3 /GX /Gy /YX") SET(CMAKE_CXX_FLAGS "/nologo /W3 /GX /Gy /YX /Zm500") # /Zm500 increments heap size which is needed on some system to compile templates in dcmimgle ENDIF(VS_VERSION EQUAL 6) IF(VS_VERSION EQUAL 7) SET(CMAKE_C_FLAGS "/nologo /W3 /Gy") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy") ENDIF(VS_VERSION EQUAL 7) IF(VS_VERSION GREATER 7) SET(CMAKE_C_FLAGS "/nologo /W3 /Gy /EHsc") SET(CMAKE_CXX_FLAGS "/nologo /W3 /Gy /EHsc") ENDIF(VS_VERSION GREATER 7) ENDIF(CMAKE_GENERATOR MATCHES "Visual Studio .*") ENDIF(DCMTK_OVERWRITE_WIN32_COMPILER_FLAGS AND NOT BUILD_SHARED_LIBS) B.2. Build DCMTK [C. If you want ITKIO or DoseInterpolation support with itk::Transform - ITK] C.1. Build ITK. The default configuration is fine. [D. If you want support of DoseInterpolation with MatchPoint Registration objects - MatchPoint] D.1. Build MatchPoint. The default configuration is fine. RT-Toolbox installation Instruction ------------------------ [A. Configure/Build RTToolbox] A.1. Configure with CMake A.1.1. Set BOOST_INCLUDE_DIR and BOOST_DIR to the main boost directory (where "boost_build.jam" is located) A.2. Select all packages you like to build (Parameters "BUILD_*"; e.g. BUILD_IO_Dicom). BUILD_All_Modules builds all modules (except Apps, Testing modules and Masks_Legacy). A short overview: - BUILD_IO_Dicom: Reading and writing of DICOM-RT files - BUILD_IO_HELAX: Reading of Helax DICOM files - BUILD_IO_ITK: Generic reading/writing with ITK - BUILD_Interpolation: Dose Interpolation - BUILD_InterpolationMatchPointTransformation: Dose Interpolation with Match Point registration support. - BUILD_Masks: Voxelization support - BUILD_Masks_Legacy: Legacy voxelization support. REMARK: This module is not supported anymore and may yield to wrong results. - BUILD_Models: Calculation of dosimetrical models like TCP, NTCP etc. - Some modules of RT-Toolbox are mandatory (RTTBCore) and build automatically. A.2.1. If you select BUILD_IO_DICOM, the configuration will ask you for the DCMTK main directory (parameter DCMTK_DIR; where you have built DCMTK). REMARK: If you have built DCMTK as out source build you have to also set the CMake parameter DCMTK_SOURCE_DIR to the root directory of the DCMTK source. A.2.2. If you select BUILD_Interpolation or BUILD_IO_ITK, set ITK_DIR to the binary directory of ITK. A.2.3. If you select BUILD_InterpolationMatchPointTransformation, set MatchPoint_DIR to the binary directory of MatchPoint. A.3 If you want to use the RTTB command line apps, select BUILD_Apps. You can select out of five apps. - BioModelCalc: calculate the radiobiological effect based on dose - DoseAcc: Do dose accumulation - DoseMap: Do dose mapping - DoseTool: Compute Dose statistics and DVH - VoxelizerTool: Voxelize an RTSTRUCT file A.4. Generate CMake configuration A.5. Build RTToolbox and have fun! [B. Tests] B.1. Enable BUILD_TESTING B.2. Press Configure B.3. Enable tests of interest (BUILD_Tester_All builds all tests) B.5. Run tests (build RUN_TESTS project or type ctest) to ensure that everything is correct. [C. Documentation] C.1. Generate the documentation using doxygen (www.doxygen.org) and the configuration found in "RTTB_binary_dir/documentation/doxygen.config". [D. Examples] D.1. Enable BUILD_TESTING D.2. Enable BUILD_RTToolbox_Test_examples D.3. Run tests (build RUN_TESTS project) to also run the examples. These examples (located in testing/examples/) are a good starting point for own projects and show basic functionality of RTToolbox like DVH generation. Remarks ------- R.1. ITK Version: Only use one ITK version consistently throughout all libraries and RTToolbox! Otherwise, this will lead to linker errors. **/ \ No newline at end of file diff --git a/rttbCopyright.txt b/rttbCopyright.txt index 96922e6..9cf1ea7 100644 --- a/rttbCopyright.txt +++ b/rttbCopyright.txt @@ -1,29 +1,29 @@ /** RTToolbox - DKFZ radiotherapy quantitative evaluation library Copyright (C) 2015 German Cancer Research Center (DKFZ), Software development for Integrated Diagnostics and Therapy (SIDT) All rights reserved. This program 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. This program 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 this program. If not, see . Contact: Software Development for Integrated Diagnostics and Therapy (SIDT), German Cancer Research Center (DKFZ), Heidelberg, Germany. -Web: http://www.dkfz.de/en/sidt/index.html -E-mail: sbr@dkfz.de +Web: https://www.dkfz-heidelberg.de/en/mic/research/SIDT/sidt_projects.html +E-mail: rttb@dkfz.de **/ \ No newline at end of file