annotate Sphinx/source/plugins/tcia.rst @ 1057:5a3c238575f8

documentation of stl
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 09 Apr 2024 16:29:42 +0200
parents 89bb195dfbc0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
758
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 .. _tcia:
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 TCIA plugin
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5 ===========
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 .. contents::
77496fd36a96 added tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
9 This **official** plugin by the `ICTEAM institute of UCLouvain
1056
89bb195dfbc0 starting stl documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1055
diff changeset
10 <https://orthanc.uclouvain.be/>`__ extends Orthanc with a Web
89bb195dfbc0 starting stl documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1055
diff changeset
11 interface that can be used to import open-data medical images from
89bb195dfbc0 starting stl documentation
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1055
diff changeset
12 `The Cancer Imaging Archive (TCIA)
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
13 <https://www.cancerimagingarchive.net/>`__, and serve them immediately
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
14 using Orthanc.
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
15
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
16 The plugin can be used to import so-called "cart spreadsheet"
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
17 generated by the `NBIA Search Client
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
18 <https://nbia.cancerimagingarchive.net/nbia-search/>`__, or to browse
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
19 the image collections of TCIA thanks to its `REST API
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
20 <https://wiki.cancerimagingarchive.net/display/Public/TCIA+REST+API+Guide>`__.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
21
1055
ebe3214f3ab0 added citation instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
22 **For researchers**: `Please cite this paper
ebe3214f3ab0 added citation instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
23 <https://dial.uclouvain.be/pr/boreal/object/boreal:257256>`__.
ebe3214f3ab0 added citation instructions
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 1023
diff changeset
24
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
25
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
26 Compilation
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
27 -----------
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
28
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
29 .. highlight:: bash
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
30
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
31 Official releases can be `downloaded from the Orthanc homepage
993
05b106383b2a migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 974
diff changeset
32 <https://orthanc.uclouvain.be/downloads/sources/orthanc-tcia/index.html>`__. As
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
33 an alternative, the `repository containing the source code
919
5c1ce758f748 uclouvain
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 882
diff changeset
34 <https://orthanc.uclouvain.be/hg/orthanc-tcia/>`__ can be accessed using
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
35 Mercurial.
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
36
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
37 The procedure to compile this plugin is similar of that for the
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
38 :ref:`core of Orthanc <binaries>`. The following commands should work
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
39 for most UNIX-like distribution (including GNU/Linux)::
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
40
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
41 $ mkdir Build
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
42 $ cd Build
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
43 $ cmake .. -DSTATIC_BUILD=ON -DCMAKE_BUILD_TYPE=Release
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
44 $ make
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
45
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
46 The compilation will produce a shared library ``OrthancTcia``
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
47 that contains the TCIA plugin for Orthanc.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
48
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
49 Pre-compiled Linux Standard Base (LSB) binaries `can be downloaded
993
05b106383b2a migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 974
diff changeset
50 <https://orthanc.uclouvain.be/downloads/linux-standard-base/orthanc-tcia/index.html>`__.
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
51
993
05b106383b2a migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 974
diff changeset
52 Pre-compiled binaries for `Microsoft Windows <https://orthanc.uclouvain.be/downloads/windows-32/orthanc-tcia/index.html>`__
05b106383b2a migration to UCLouvain servers
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 974
diff changeset
53 and `macOS <https://orthanc.uclouvain.be/downloads/macos/orthanc-tcia/index.html>`__ are available as well.
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
54
974
01f61385877f fix syntax
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 919
diff changeset
55 Furthermore, the ``jodogne/orthanc-plugins`` :ref:`Docker images
1023
5d4701d8fe28 replaced osimis/orthanc by orthancteam/orthanc
Alain Mazy <am@osimis.io>
parents: 993
diff changeset
56 <docker>` and ``orthancteam/orthanc`` :ref:`Docker images <docker-orthancteam>`
974
01f61385877f fix syntax
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 919
diff changeset
57 also contain the plugin.
760
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
58
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
59
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
60 Configuration
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
61 -------------
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
62
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
63 You of course first have to :ref:`install Orthanc <compiling>`. Once
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
64 Orthanc is installed, you must change the :ref:`configuration file
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
65 <configuration>` to tell Orthanc where it can find the plugin: This is
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
66 done by properly modifying the ``Plugins`` option.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
67
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
68 You then have to set the two following options:
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
69
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
70 * The setting ``Enable`` in section ``Tcia`` must be set to ``true``
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
71 to enable the TCIA plugin.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
72
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
73 * The setting ``HttpsCACertificates`` must contain a path to a file
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
74 containing a list of `trusted Certificate Authorities (CA)
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
75 <https://curl.haxx.se/docs/sslcerts.html>`__. Depending on your
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
76 operating system, this file can be found as follows:
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
77
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
78 - On Debian-based system, the standard file
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
79 ``/etc/ssl/certs/ca-certificates.crt`` can be used.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
80 - On other systems (including Microsoft Windows), the cURL project
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
81 provides `CA certificates
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
82 <https://curl.haxx.se/docs/caextract.html>`__ that are extracted
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
83 from Mozilla.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
84
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
85 .. highlight:: json
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
86
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
87 On Ubuntu, you could for instance use the following minimalist
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
88 configuration file::
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
89
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
90 {
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
91 "HttpsCACertificates" : "/etc/ssl/certs/ca-certificates.crt",
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
92 "Plugins" : [
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
93 "/home/user/OrthancTcia/Build/libOrthancTcia.so"
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
94 ],
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
95 "Tcia" : {
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
96 "Enable" : true
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
97 }
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
98 }
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
99
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
100 .. highlight:: text
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
101
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
102 Orthanc must of course be restarted after the modification of its
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
103 configuration file.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
104
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
105
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
106 Usage
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
107 -----
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
108
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
109 Once Orthanc Explorer is opened, a button entitled "The Cancer Imaging
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
110 Archive" will show up at the bottom of the page. Clicking on this
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
111 button will open the TCIA interface for Orthanc:
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
112
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
113 .. image:: ../images/tcia-interface.png
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
114 :align: center
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
115 :width: 640
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
116
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
117 As can be seen, this Web application allows to both import a cart from
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
118 the NBIA Search Client, and to browse the various collections of
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
119 medical images from TCIA.
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
120
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
121 The following screenshot illustrates how to export a cart using the
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
122 NBIA Search Client, that can then be imported using this plugin:
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
123
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
124 .. image:: ../images/tcia-nbia-export.png
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
125 :align: center
e9da78572539 documentation of tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 758
diff changeset
126 :width: 640
770
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
127
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
128 The TCIA plugin creates a job to do the import. This implies that an
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
129 import can be monitored, paused or stopped using the :ref:`REST API
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
130 for Orthanc jobs <jobs>`.
9978fb958ee2 precisions about tcia
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 760
diff changeset
131