Verified Commit 22b384eb authored by Flavien BRIDAULT-LOUCHEZ's avatar Flavien BRIDAULT-LOUCHEZ
Browse files

fix(doc): update README to match Sight 21.0 changes

parent 124a8d63
......@@ -7,74 +7,142 @@
## Description
**Sight**, the **S**urgical **I**mage **G**uidance and **H**ealthcare **T**oolkit aims to ease the creation of applications based on medical imaging.
It includes various features such as 2D and 3D digital image processing, visualization, augmented reality and medical interaction simulation. It runs on many different environments (Windows, linux, macOS), is written in C++, and features rapid interface design using XML files. It is freely available under the LGPL.
**Sight**, the **S**urgical **I**mage **G**uidance and **H**ealthcare **T**oolkit aims to ease the creation of
applications based on medical imaging.
**Sight** is mainly developed by the research and development team of [IRCAD France](https://www.ircad.fr) and [IHU Strasbourg](https://www.ihu-strasbourg.eu), where it is used everyday to develop experimental applications for the operating room.
It includes various functionalities such as 2D and 3D digital image processing, visualization, augmented reality and
medical interaction simulation. It runs on Microsoft Windows and Linux, is written in C++, and features rapid interface
design using XML files. It is freely available under the LGPL.
**Sight** was formerly known as [FW4SPL](https://github.com/fw4spl-org/fw4spl). It was renamed in 2018, firstly to make its purpose clearer, and secondly as part of a major change in design and in the governance of the development team. For instance, FW4SPL was made of several repositories, whereas Sight now contains all open-source features in a single one, for the sake of simplicity.
**Sight** is mainly developed by the Surgical Data Sciences Team of [IRCAD France](https://www.ircad.fr), where it is
used everyday to develop innovative applications for the operating room and medical research centers.
Lots of **tutorials** and **examples** can also be found in the `Samples` directory. The tutorials can help you to learn smoothly how to use **Sight**, detailed steps are described [here](https://sight.pages.ircad.fr/sight-doc/Tutorials/index.html).
Many **tutorials** and **examples**, which can help you to learn smoothly how to use **Sight**, are located in the
`tutorials` and `examples` directories.
Detailed steps are described [here](https://sight.pages.ircad.fr/sight-doc/Tutorials/index.html).
### Features
* 2D/3D visualization of images, meshes, and many widgets, either with [VTK](https://www.vtk.org/) or [Ogre3D](https://www.ogre3d.org/),
* Configurable GUI
* Advanced memory management to support large data
* webcam, network video and local video playing based on [QtMultimedia](http://doc.qt.io/qt-5/qtmultimedia-index.html),
* mono and stereo camera calibration,
* [ArUco](https://sourceforge.net/projects/aruco/) optical markers tracking,
* [openIGTLink](http://openigtlink.org/) support through client and server services,
* TimeLine data, allowing to store buffers of various data (video, matrices, markers, etc...). These can be used to synchronize these data across time.
* Data serialization in xml/json/zip
- 2D/3D visualization of medical images, meshes, and many widgets.
- Import / export medical data from various formats (DICOM, [VTK](https://www.vtk.org/), ...) and sources
(files, devices, PACS, ...).
- Playing, recording, processing videos (webcams, network streams, Intel RealSense devices, ...).
- Easy GUI configuration and customization (XML description and stylesheets support).
- Timeline, allowing to store various data (video, matrices, markers, etc...) and synchronize these data across time.
- Mono and stereo camera calibration,
- [ArUco](https://sourceforge.net/projects/aruco/) optical markers tracking,
- [openIGTLink](http://openigtlink.org/) support through client and server services,
- Advanced memory management to support large data. Unused data can be offloaded to disk, saving memory for foreground
tasks.
- Work session or any part of it, can be saved and restored on disk. The data itself can be encrypted using AES256 to
ensure a high level of security and privacy
### Hardware / Operating System / Compiler support
**Sight** is written in standard C++17 and use [CMake](https://cmake.org/) as its build system, which means that Sight
should at least compile on any operating system that provide support for a decent C++17 compiler, CMake, **AND** Sight's
dependencies (see [Install](#install) for a list of dependencies for Linux platform). However, we currently have access
to a limited set of hardware/OS/compiler combinations where the code is actually tested on a regular basis.
Such combination includes:
- [Debian 11 stable on AMD64 with GCC 10.2.1](https://www.debian.org/ports/amd64)
- [Ubuntu 21.04 on AMD64 with GCC 10.3.0 or CLang 12](https://releases.ubuntu.com/21.04/)
- [Microsoft Windows 10 on AMD64 with VisualStudio 2019](https://www.microsoft.com/windows/)
> If your platform is not listed, that *doesn't* mean **Sight** will not work, just we cannot guarantee that it is well
> tested. If you are on this kind of platform and are able to build and use **Sight**, feel free to share with us your
> success !
> We use some fine tuned compiler flags (like `/arch:AVX`) to optimize and generate code specifically for CPUs that were
> released around 2008 and later. It means, if your CPU is too old, **Sight** will crash at runtime because some CPU
> instructions are not implemented. In such situation, you can modify the default compiler flag directly in **Sight**
> CMake code.
## Applications
### VRRender
**Sight** comes with **VRRender**, a medical image and segmentation viewer. It supports many import formats including DICOM and VTK.
### SightViewer
**SightViewer** is a full featured medical image and mesh viewer with advanced rendering features such as volume
rendering. It supports most medical image formats, and can also retrieve DICOM files from a PACS. It demonstrates many
useful features of Sight.
<div align=center style="text-align: center; display: flex; flex-flow: row wrap; justify-content: space-around;">
<figure>
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/SightViewer01.gif">
<figcaption>
<b><i>MPR view of a medical 3D image with additional volume rendering</i></b>
</figcaption>
</figure>
<figure>
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/SightViewer02.gif">
<figcaption>
<b><i>Volume rendering and transfer function tuning</i></b>
</figcaption>
</figure>
<figure>
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/mixed_vr_reconstructions.gif">
<figcaption>
<b><i>Volume rendering mixed with 3D surfacic meshes</i></b>
</figcaption>
</figure>
</div>
<div align="center">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/dev/Introduction/media/SDB.png">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/dev/Introduction/media/DICOM_nav_animated.gif">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/dev/Introduction/media/VR_animated.gif">
### DicomXplorer
**DicomXplorer** is a simple medical image viewer that can connect to a PACS to retrieve DICOM data. It supports CT-scan
and MRI images.
<div align=center style="text-align: center; display: flex; flex-flow: row wrap; justify-content: space-around;">
<figure>
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/DicomXplorer01.gif">
<figcaption>
<b><i>DICOM and medical image files navigation</i></b>
</figcaption>
</figure>
<figure>
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/DicomXplorer02.gif">
<figcaption>
<b><i>MPR view of a medical 3D image</i></b>
</figcaption>
</figure>
</div>
### ARCalibration
### SightCalibrator
**ARCalibration** is a user-friendly application to calibrate mono and stereo cameras. This software is a must-have since camera calibration is a mandatory step in any AR application.
**SightCalibrator** is a user-friendly application to calibrate mono and stereo cameras.
This software is a must-have since camera calibration is a mandatory step in any AR application.
<div align="center">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/dev/Introduction/media/calibration.png">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/dev/Introduction/media/reproj_animated.gif">
<div align=center style="text-align: center; display: flex; flex-flow: row wrap; justify-content: space-around;">
<figure style="">
<img src="https://git.ircad.fr/sight/sight-doc/-/raw/51-enh-doc-update-documentation-to-reflect-sight-21-0-changes/Introduction/media/SightCalibrator01.gif">
<figcaption>
<b><i>Intrinsic & extrinsic calibration of mono/stereo cameras with live reprojection error display</i></b>
</figcaption>
</figure>
</div>
## Install
See [detailed install instructions](https://sight.pages.ircad.fr/sight-doc/Installation/index.html) for Windows and Linux.
See [detailed install instructions](https://sight.pages.ircad.fr/sight-doc/Installation/index.html) for Windows and
Linux.
## Documentation
* [Documentation](https://sight.pages.ircad.fr/sight-doc)
* [Tutorials](https://sight.pages.ircad.fr/sight-doc/Tutorials/index.html)
* [Doxygen](https://sight.pages.ircad.fr/sight)
* Former FW4SPL [Blog](http://fw4spl-org.github.io/fw4spl-blog/) (new website coming soon)
## Support
Please note that our GitLab is currently only available in read-only access
for external developers and users. This is a restriction because of the licensing
model of GitLab. Since we use an EE version, we would be forced to pay for every
community user, and unfortunately we cannot afford it. This licensing
model might change in the
future https://gitlab.com/gitlab-org/gitlab-ee/issues/4382 though.
Please note that our GitLab is currently only available in read-only access for external developers and users. This is a
restriction because of the licensing model of GitLab. Since we use an EE version, we would be forced to pay for every
community user, and unfortunately we cannot afford it. This licensing model might change in the future
https://gitlab.com/gitlab-org/gitlab-ee/issues/4382 though.
Until then, we gently ask our community users to use our GitHub mirror to [report any issues](https://github.com/IRCAD-IHU/sight/issues)
or propose [contributions](https://github.com/IRCAD-IHU/sight/pulls).
Until then, we gently ask our community users to use our GitHub mirror to
[report any issues](https://github.com/IRCAD/sight/issues) or propose
[contributions](https://github.com/IRCAD/sight/pulls).
You can also get live community support on the [gitter chat room](https://gitter.im/IRCAD-IHU/sight-support).
## Annex
* [Artifactory](https://conan.ircad.fr): registry containing the external binary dependencies required by **Sight**.
* [Conan](https://git.ircad.fr/conan): repositories used to generate conan packages used by **Sight** (Boost, VTK, ITK, Qt, ...).
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment