SORRY  1.8.1 (Faschiertes)
The open-radART SORRY library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Main Page

SORRY - Software for Open Research in Radiation therapY

The open-radART SORRY library provides:

Operating Systems

  • All builds should work on x86/x64 systems
  • MS Windows 7 (Windows SDK 7.1 with the integrated Visual Studio 2010 Compiler)
  • MS Windows 8 (Windows SDK 8 with Visual Studio Express 2012)
  • Ubuntu GNU/Linux 10.04 (limited functionality only!)
  • Ubuntu GNU/Linux 12.04
  • Ubuntu GNU/Linux 14.04
  • Arch Linux, [core], [extra], [multilib] current as of 2013/11/09
  • Fedora 18
  • Fedora 19
  • All other systems should work but are not tested!


  • SORRY depends on a set of external open source libraries and tools.
  • Please note that the library / tool versions are obligatory!
  • Please note that modules are built depending on the available dependencies. For more details, please refer to the CMake configuration.
  1. [optional] Qt Framework: Qt libraries 5.x
  2. [optional] The Insight Segmentation and Registration Toolkit: ITK 4.5.x
  3. [optional] The Visualization Toolkit: VTK 6.1.x
  4. [optional] Kinematics and Dynamics Library: KDL 1.0.2
  5. [optional] DCMTK DICOM Toolkit: DCMTK 3.6.0

Still supported libraries are:

  1. Qt Framework: Qt libraries 4.8.5
  2. The Insight Segmentation and Registration Toolkit: ITK 3.20.1
  3. The Visualization Toolkit: VTK 5.8.0


The folder patches contains patch files for dependant libraries which might be necessary for a successfull build and/or working software. It is not necessarily the case that SORRY needs this patches directly but it might use functionality which in derived software will not work porperly without the patches.

Build Notes

We always use out-of-source-builds (source directory and build directory are separated on the same file hierarchy-level). In source builds are currently tolerated, but may be somewhen disabled with the CMAKE_DISABLE_IN_SOURCE_BUILD flag.
In general, all dependencies are optional and can be activated or deactivated in the CMake configuration. The most important CMake settings are:

SORRY_USE_QT "Build parts of SORRY with Qt dependencies"
SORRY_USE_QT4 "Use Qt 4.x instead of Qt 5.x"
SORRY_USE_VTK "Build parts of SORRY with VTK dependencies"
SORRY_USE_ITK "Build parts of SORRY with ITK dependencies"
SORRY_USE_OPENCL "Build parts of SORRY with OpenCL dependencies"
SORRY_USE_KDL "Build parts of SORRYUTLS with KDL dependencies"
SORRY_USE_DCMTK "Build parts of SORRY with DCMTK dependencies"
SORRY_BUILD_TESTING "Build unit tests for automatic software verification."
SORRY_BUILD_EXPERIMENTAL "Build SORRY experimental stuff."

Please open the project in CMake GUI to get a deeper insight to further and advanced CMake settings.

Automatic Compilation on Windows/Linux using the Build Scripts

The build scripts will build and install all dependent libraries from scratch. Release, debug, x86 and x64 setups are configurable in the corresponding variable definitions in the header of the script files.

Windows 7/8

  1. Download and install Windows SDK 7.1 (if you run into problems, make sure that you have .NET Framework 4.0 and not .NET Framework 4.5 installed) or Windows SDK 8
  2. Download and install CMake
  3. Download the libraries that are required by the modules you want to build (e.g. DCMTK for the modules that require DICOM functionality)
  4. Open SORRY/doc/build_script_new.cmd or build_script_old.cmd and adapt variables where applicable
  5. Run SORRY/doc/build_script_new.cmd or build_script_old.cmd

Linux (Tested on Ubuntu 12.04, Arch 2013/10/31)

  1. Download and install gcc, CMake 2.8.x, wget
  2. Open SORRY/doc/ and adapt variables where applicable
  3. Run SORRY/doc/ as REGULAR USER
  4. All libraries will be installed to ~/dev-libs by default

Known Issues

QtCreator crash

QtCreator crashes when opening SORRY in Windows: This is due to a internal call of cl.exe with command line arguments that exceed the Windows limits.

Suitable solutions:

  • Link against the install directories (especially ITK and VTK)
  • Open SORRY after you have opened another project in QtCreator (QtCreator runs cl.exe solely for the first project)