Mercurial > hg > orthanc-stone
diff README @ 1590:7b963bccafef
updated README
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 22 Oct 2020 18:39:03 +0200 |
parents | README.md@c53a4667f895 |
children | 8563ea5d8ae4 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README Thu Oct 22 18:39:03 2020 +0200 @@ -0,0 +1,139 @@ +Stone of Orthanc +================ + +General Information +------------------- + +This repository contains the source code of Stone of Orthanc. + +Stone of Orthanc is a lightweight, cross-platform C++ framework for +the rendering of medical images. It is a companion toolkit to the main +Orthanc DICOM server. It notably features support for MPR (multiplanar +reconstruction of volume images), PET-CT fusion, and accurate physical +world coordinates. + +Stone of Orthanc can take advantage of OpenGL/WebGL to accelerate 2D +rendering using the GPU. 3D operations such as reslicing are done +using CPU. + +Stone of Orthanc is compatible with any GUI framework (such as Qt, +wxWidgets, MFC...). The provided sample applications use the SDL +framework. + +Very importantly, Stone of Orthanc is compatible with WebAssembly, +which makes it suitable to render medical images in Web applications. + +As a library for medical imaging, Stone of Orthanc also comes with +primitives to download, parse and handle DICOM images. These +primitives can use either the REST API of the Orthanc server, or the +DICOMweb protocol. Primitives to deal with radiotherapy or nuclear +medicine studies are available as well (image fusion using layers). + +Besides the low-level Stone of Orthanc library, this repository also +contains the Stone Web viewer. The Stone Web viewer is a +fully-featured Web viewer that can be either used as a plugin to +Orthanc, or as a standalone viewer if using DICOMweb. + + +Comparison +---------- + +Stone of Orthanc is quite similar to two other well-known toolkits: + +* Cornerstone, a client-side JavaScript toolkit to display medical + images in Web browsers, by Chris Hafey <chafey@gmail.com>: + https://github.com/chafey/cornerstone + + Contrarily to Cornerstone, Stone of Orthanc is written in C++ and + can be embedded into native, heavyweight applications. + +* VTK, a C++ toolkit for scientific visualization, by Kitware: + http://www.vtk.org/ + + Contrarily to VTK, Stone of Orthanc is much more simple, and only + uses the GPU for 2D rendering. + + +Dependencies +------------ + +Stone of Orthanc is based upon the following projects: + +* Orthanc, a lightweight Vendor Neutral Archive (DICOM server): + http://www.orthanc-server.com/ + +* Cairo and pixman, a cross-platform 2D graphics library: + https://www.cairographics.org/ + +* Optionally, SDL, a cross-platform multimedia library: + https://www.libsdl.org/ + + On Ubuntu, you would use: + + $ sudo apt-get install -y libcairo-dev libpixman-1-dev libsdl2-dev + +* Optionally, Emscripten, the official compiler for WebAssembly: + https://emscripten.org/ + + +Installation and usage +---------------------- + +Build instructions and usage details are available as part of the +Orthanc Book: +http://book.orthanc-server.com/developers/stone.html + +Stone of Orthanc comes with several sample applications in the +"Applications/Samples" folder. Please check the +"Applications/Samples/README.md" file for information on the samples +building and running procedure. + +The source code of the Stone Web viewer is located in folder +"Applications/StoneWebViewer". + + +Technical information +--------------------- + +- For situations where OpenGL is not available, Stone of Orthanc comes + bundled with its own software-based rendering engine (based upon + cairo and pixman). This engine will use CPU hardware acceleration if + available (notably SSE2, SSSE3, and NEON instruction sets), but not + the GPU. This makes Stone a highly versatile framework that can run + even on low-performance platforms. + +- Stone of Orthanc is compatible with desktop software, with native + mobile apps and with Web applications. To achieve this + compatibility, the rendering loop of Stone of Orthanc is + single-threaded, and abstracts network transfers and other + asynchronous events thanks to a so-called "Oracle". The Oracle is + the place where architecture-specific operations/computations can + take place (for instance, multi-threading). + + +Licensing +--------- + +Stone of Orthanc is licensed under the AGPLv3+ license. + +We also kindly ask scientific works and clinical studies that make use +of Orthanc to cite Orthanc in their associated publications. +Similarly, we ask open-source and closed-source products that make use +of Orthanc to warn us about this use. You can cite our work using the +following BibTeX entry: + +@Article{Jodogne2018, + author="Jodogne, S{\'e}bastien", + title="The {O}rthanc Ecosystem for Medical Imaging", + journal="Journal of Digital Imaging", + year="2018", + month="Jun", + day="01", + volume="31", + number="3", + pages="341--352", + issn="1618-727X", + doi="10.1007/s10278-018-0082-y", + url="https://doi.org/10.1007/s10278-018-0082-y" +} +