{"id":13654546,"url":"https://github.com/MIC-DKFZ/RTTB","last_synced_at":"2025-04-23T09:33:35.220Z","repository":{"id":86215538,"uuid":"129746713","full_name":"MIC-DKFZ/RTTB","owner":"MIC-DKFZ","description":"Swiss army knife for radiotherapy analysis","archived":false,"fork":false,"pushed_at":"2023-07-26T14:34:10.000Z","size":2723,"stargazers_count":28,"open_issues_count":1,"forks_count":7,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-10T06:32:46.483Z","etag":null,"topics":["anaylsis","dicom-rt","dose","dose-statistics","medical-physics","radiotherapy"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MIC-DKFZ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-16T13:20:05.000Z","updated_at":"2024-10-30T10:38:40.000Z","dependencies_parsed_at":null,"dependency_job_id":"e177f900-dac5-4612-b492-77f4f7bc2a9d","html_url":"https://github.com/MIC-DKFZ/RTTB","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIC-DKFZ%2FRTTB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIC-DKFZ%2FRTTB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIC-DKFZ%2FRTTB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MIC-DKFZ%2FRTTB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MIC-DKFZ","download_url":"https://codeload.github.com/MIC-DKFZ/RTTB/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250407724,"owners_count":21425552,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anaylsis","dicom-rt","dose","dose-statistics","medical-physics","radiotherapy"],"created_at":"2024-08-02T03:00:36.836Z","updated_at":"2025-04-23T09:33:33.341Z","avatar_url":"https://github.com/MIC-DKFZ.png","language":"C++","funding_links":[],"categories":["Libraries"],"sub_categories":[],"readme":"\n# RTToolbox\n\nRTToolbox is a software library to support quantitative analysis of treatment outcome for radiotherapy.\n\nThe RTToolbox was designed following object-oriented design (OOD) principles and was implemented in the language C++. \n\nFeatures include:\n\n* import of radiotherapy data (e.g. dose distributions and structure sets) from DICOM-RT format and other standard image processing formats\n* DVH calculation\n* Dose statistic calculation\n* arithmetic operations on dose distributions\n* structure relationship analyses (e.g. fully-contained, partially-contained)\n* Calculation of dose comparison indices such as Conformity Index (CI), Homogeneity Index (HI) and Conformation Number (CN)\n* Calculation of biological models including TCP, NTCP, EUD and BED\n\nAlso, the RTToolbox provides apps e.g. for DVH/Dose Statistic calculation or Dose accumulation that provides a convenient access of RT scenarios without computer-science knowledge.\n\n## Getting Started\n\nThese instructions will get you a copy of the project up and running on your local machine for development and testing purposes.\n\n### Prerequisites\n\n#### Build system\n\n* [CMake](https://cmake.org), version 3.1 or higher\n\n#### Compiler\n\n* Visual Studio 2013\n* Visual Studio 2015\n* Visual Studio 2017\n* GCC 5.4\n* GCC 7.3\n\nOther compilers may work as well, but are not tested.\n\n#### Linking Static/Dynamic library support\n\nCan be changed with advanced option `BUILD_SHARED_LIBS`\n\n:warning: building RTToolbox as dynamic library under Windows and as static library under Linux is an experimental feature.\n\n#### Third party libraries\n\n* [boost](http://www.boost.org ), version 1.64.0 or higher\n* [DCMTK](http://dicom.offis.de/dcmtk.php.en ) 3.6.5 or higher\n* [ITK](https://itk.org ), version 5.2 or higher (*optional*)\n  * for DoseInterpolation support with ITK transformation or ITK File IO support\n* [MatchPoint](http://mitk.org/download/thirdparty/MatchPoint_rev1610.tar.gz ), version 0.12 or higher (*optional*)\n  * for DoseInterpolation support with MatchPoint registration objects\n\n:information_source: To make sure everything runs smoothly, please make sure that all libraries and the RTToolbox are either compiled with `/MD` or `/MT` flags.\n\n##### Boost\n\nIn case you work with Windows, we recommend using the [pre-build versions of boost](https://sourceforge.net/projects/boost/files/boost-binaries/).\n\nIf you want to build the library yourself, consider the following:\n\nBuild (using the same compiler options as RTToolbox, usually `STATIC LINKING` and `x64` architecture). \nThe following components are needed: \n\n* `filesystem`, \n* `system` and\n* `program_options` \n  * if you plan to build the apps (*optional*)\n\n:information_source: eventually, it might be needed to add the CMake variable `BOOST_LIBRARYDIR` and set it to the respective library path of boost.\n\nFor Windows:\n\nTo build Boost open a command prompt, change to your boost source directory and copy following command(s):\nDebug:\n`b2 -j12 --with-filesystem --with-system --with-thread --with-program_options --with-date_time --with-atomic --with-chrono toolset=\u003cyour toolset identifier\u003e address-model=64 variant=debug threading=multi link=shared define=_BIND_TO_CURRENT_VCLIBS_VERSION`\nRelease:\n`b2 -j12 --with-filesystem --with-system --with-thread --with-program_options --with-date_time --with-atomic --with-chrono toolset=\u003cyour toolset identifier\u003e address-model=64 variant=release threading=multi link=shared`\n\nSet the \u003cyour toolset identifier\u003e in the commands above accordingly.\nIf you don´t require `program_options` delete `--with-program_options` from the command before executing it.\n##### DCMTK\n\nFor Windows:\nTo compile DCMTK with `/MD` flags (standard for all other libs), you need to set DCMTK_COMPILE_WIN32_MULTITHREADED_DLL to \"ON\".\n\n`BUILD_APPS` can be switched off.\nThen build DCMTK.\n\nFor Linux:\ninstall required dependencies (Ubuntu 18.04 and newer): `sudo apt-get install libpng-dev libtiff5-dev libxml2-dev libjpeg8-dev zlib1g-dev libwrap0-dev libssl-dev`\ninstall required dependencies (Ubuntu 17.10 and older): `sudo apt-get install libpng12-dev libtiff5-dev libxml2-dev libjpeg8-dev zlib1g-dev libwrap0-dev libssl-dev`\nEnable `BUILD_SHARED_LIBS`. `BUILD_APPS` can be switched off.\n\n##### ITK\n\nBuild ITK with default options.\n:warning: ensure that compiler enables C++11 features by setting `CMAKE_CXX_STANDARD=11` (default for supported compilers)\n\n:warning: Only use one ITK version consistently throughout all libraries and RTToolbox! Otherwise, linker errors will occur.\n\n##### MatchPoint\n\nConfigure MatchPoint. Please disable `BUILD_TESTING` before building it.\n:warning: ensure that compiler enables C++11 features by setting `CMAKE_CXX_STANDARD=11` (default for supported compilers)\n\n:warning: Only use one ITK version consistently throughout all libraries and RTToolbox! Otherwise, linker errors will occur.\n\n### Building RT-Toolbox\n\n* Configure with CMake\n* Set `BOOST_INCLUDE_DIR` to the main boost directory. Eventually set `BOOST_LIBRARYDIR` to the respective path (e.g. `\u003cboost_directory\u003e/lib64-msvc-14.1\\` for Visual Studio 2017 and 64-bit)\n* Select all packages you like to build (Parameters `BUILD_*` ; e.g. `BUILD_IO_Dicom`). \n  * `BUILD_IO_Dicom`: Reading and writing of DICOM-RT files\n  * `BUILD_IO_HELAX`: Reading of Helax DICOM files\n  * `BUILD_IO_ITK`: Generic reading/writing with ITK\n  * `BUILD_Interpolation`: Dose Interpolation\n  * `BUILD_InterpolationMatchPointTransformation`: Dose Interpolation with Match Point registration support.\n  * `BUILD_Masks`: Voxelization support\n  * `BUILD_Models`: Calculation of dosimetrical models like TCP, NTCP etc.\n  * `BUILD_Apps`: To build the RTTB command line apps (five available)\n    * `BioModelCalc`: calculate the radiobiological effect based on dose\n\t* `DoseAcc`: Do dose accumulation\n\t* `DoseMap`: Do dose mapping\n\t* `DoseTool`: Compute Dose statistics and DVH\n\t* `VoxelizerTool`: Voxelize an RTSTRUCT file\n\t\nSome modules of RT-Toolbox are mandatory (e.g. `RTTBCore`) and build automatically.\n\t\t\n:information_source: enabling `BUILD_All_Modules` builds all modules (except Apps and Testing modules).\n\n:information_source: if you build RTTB with VS dynamic, you must ensure that code that uses RTTB DLLs uses the same STL\n\n\nSet `DCMTK_DIR` to your dcmtk binary file directory and `DCMTK_SOURCE_DIR` to your dcmtk source directory.\n\nIf you want to build RT-Toolbox with ITK and/or MatchPoint set your `ITK_DIR` to your itk binary file directory and/or `MatchPoint_DIR` to your binary matchpoint directory.\n\nAll directory entries left empty do not require a manual input.\n\nFinally, Generate the compilation files for your environment and built it.\n\n### Examples \n\nSome examples can be found in ´testing/examples´:\n\n* `RTBioModelExampleTest`: Computation of Biological model indices (TCP/NTCP) from a given DVH\n* `RTDoseStatisticsDicomTest`: Computation of dose statistics (max dose/mean dose/min dose/Dx/Vx) based on dose data for a specified structure\n* `RTDVHTest`: Computation of statistics (max value/mean value/min value/Dx/Vx) based on a DVH\n\nOther examples include:\n\n* `DVHCalculatorTest` (`testing/core`): Computation of a DVH from dose and structure\n* `VoxelizationValidationTest` (`testing/validation`): Computation of a voxelization\n* `ITKDoseAccessorConverterTest`: (`testing/io/itk`): Saving image RTToolbox image data as an ITK file\n* `DoseIndex tests`: (`testing/indices`): Computation of different dose indices (e.g. Conformation Number, Conformal Index, Conformity index)\n\n## Running the tests\n\n[CTest](https://cmake.org/Wiki/CMake/Testing_With_CTest) is used as testing framework. See their documentation for general testing questions.\n\n:information_source: The used testing library Litmus is build automatically. \n\n:warning: currently, you have access to testing data only with ssh. That means that a [phabricator](https://phabricator.mitk.org/) account and access to `RTTB-data` repository is mandatory. Please contact rttb(at)dkfz.de for further information.\n\nEnabling testing is done as follows:\n\n* Enable `BUILD_TESTING`\n* Configure with CMake\n* Enable tests of interest\n* Generate CMake configuration\n* Build RT-Toolbox\n* Run tests (build `RUN_TESTS` project or call `ctest` in commandline) to ensure that everything is correct.\n\n:information_source: `BUILD_Tester_All` builds all test modules.\n\n## Contributing\n\nPlease add a github issue and send a pull request if you want to contribute.\n\n## Versioning\n\nWe use the Ubuntu Release versioning scheme. v2017.02 was released in February 2017. We aim at releasing stable versions once a year. For the versions available, see the [tags on this repository](https://github.com/MIC-DKFZ/RTTB/tags). \n\n## Authors\n\nSee the list of [contributors](https://github.com/MIC-DKFZ/RTTB/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the BSD License - see the [LICENSE](LICENSE) file for details\n\n## Contact\n\nSoftware Development for Integrated Diagnostics and Therapy (SIDT),\nGerman Cancer Research Center (DKFZ), Heidelberg, Germany.\n\nWeb:    https://www.dkfz-heidelberg.de/en/mic/research/SIDT/sidt_projects.html\nE-mail: rttb(at)dkfz.de\n\n## Acknowledgments\n\n* **Billie Thompson** - *Template of the readme* - [PurpleBooth](https://github.com/PurpleBooth)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMIC-DKFZ%2FRTTB","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMIC-DKFZ%2FRTTB","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMIC-DKFZ%2FRTTB/lists"}