annotate Sphinx/source/faq/features.rst @ 80:0e8b85acf3e0

ling
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 14 Dec 2016 11:57:25 +0100
parents b77aa0655389
children a3d3ff83024d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
1 Terminology of advanced features
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
2 ================================
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
3
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
4 .. _peers:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
5
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
6 Peers
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
7 -----
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
8
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
9 An "Orthanc peer" is another instance of Orthanc, possibly running on
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
10 a remote computer.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
11
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
12 Contrarily to a "modality", it is possible to communicate with a peer
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
13 through the **HTTP/HTTPS protocol** (i.e. through the REST API of
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
14 Orthanc), and not through the DICOM protocol. This implies a much
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
15 easier configuration: It is only required to know the URL, the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
16 username and the password to communicate with an Orthanc peer. This
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
17 contrasts with DICOM query/retrieve, that is quite complex and that
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
18 involves a lot of pitfalls (cf. the FAQ entry about :ref:`troubleshooting
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
19 DICOM communications <dicom>`) that can be bypassed if using HTTP.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
20
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
21 Furthermore, as HTTP(S) communications are generally not blocked by
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
22 firewalls (contrarily to the DICOM protocol that is inherently an
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
23 Intranet protocol and that often requires the setup of VPN tunnels),
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
24 it is much easier to setup communications of medical images through
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
25 the Internet with Orthanc peers.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
26
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
27
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
28 .. _recycling:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
29
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
30 Recycling/Protection
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
31 --------------------
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
32
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
33 Because of its focus on low-end computers, Orthanc implements **disk
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
34 space recycling**: The patient that has been stored for the longest
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
35 time inside Orthanc can be automatically deleted when the disk space
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
36 used by Orthanc grows above a threshold, or when the number of stored
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
37 patients grows above a threshold. This feature enables the automated
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
38 control of the disk space dedicated to Orthanc.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
39
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
40 Recycling is controlled by the ``MaximumStorageSize`` and the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
41 ``MaximumPatientCount`` options in the :ref:`Orthanc configuration
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
42 file <configuration>`.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
43
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
44 It is possible to prevent important data from being automatically
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
45 recycled. This mechanism is called **protection**. Each patient can be
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
46 individually protected against recycling by using the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
47 ``Unprotected/Protected`` switch that is available from Orthanc
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
48 Explorer.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
49
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
50 Note that protection is only available at the patient level. It
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
51 protects all the studies/series/instances of the patient against
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
52 recycling. The rationale is that we think it is important to keep
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
53 available all the data related to one patient. Unwillingly losing a
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
54 study/series that is part of the same patient might lead to a loss in
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
55 consistency with respect to the medical history of this patient.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
56
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
57
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
58 .. _compression:
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
59
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
60 Compression
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
61 -----------
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
62
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
63 If your disk space is limited, besides :ref:`recycling`, you should
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
64 also consider using **disk space compression**. When compression is
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
65 enabled, Orthanc compresses the incoming DICOM instances on-the-fly
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
66 before writing them to the filesystem, using `zlib
25
669ea65ba7fb fix links
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 0
diff changeset
67 <https://en.wikipedia.org/wiki/Zlib>`_. This is useful, because the
0
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
68 images are often stored as raw, uncompressed arrays in DICOM
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
69 instances: The size of a typical DICOM instance can hopefully be
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
70 divided by a factor 2 through lossless compression. This compression
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
71 process is transparent to the user, as Orthanc automatically
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
72 decompresses the file before sending it back to the external world.
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
73
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
74 Compression is controlled by the ``StorageCompression`` option in the
901e8961f46e initial commit
Sebastien Jodogne <s.jodogne@gmail.com>
parents:
diff changeset
75 :ref:`Orthanc configuration file <configuration>`.
78
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
76
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
77
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
78 .. _metadata:
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
79
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
80 Metadata
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
81 --------
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
82
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
83 Metadata consists in an **associative key-value array** (mapping a
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
84 integer key in the range [0,65535] to a string value) that is
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
85 associated with each :ref:`DICOM resource <orthanc-ids>` stored inside
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
86 Orthanc (may it be a patient, a study, a series or a DICOM
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
87 instance). Metadata can be either referred to using the integer key,
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
88 or using a symbolic name (if configured). Metadata records
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
89 information that is not readily available in the DICOM tags.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
90
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
91 In spirit, the metadata mechanism is similar to the :ref:`attachment
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
92 mechanism <orthanc-storage>`. However, metadata is stored directly
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
93 inside the database, whereas attachments are stored as separate files
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
94 on the filesystem (the database only stores a reference to the
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
95 attachments). Choosing between metadata and attachments is a matter of
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
96 trade-off: Metadata must be kept small (as a rule of thumb, under 1KB)
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
97 and used if fast access is needed, whereas attachments can be used to
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
98 store arbitrarily large piece of data.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
99
79
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 78
diff changeset
100 Also note that metadata and attachments are only available for
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 78
diff changeset
101 resources stored inside Orthanc. Once one DICOM instance leaves the
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 78
diff changeset
102 Orthanc ecosystem, its associated metadata and attachments are lost.
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 78
diff changeset
103
78
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
104
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
105 Core metadata
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
106 ^^^^^^^^^^^^^
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
107
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
108 Here are the main metadata handled by the Orthanc core:
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
109
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
110 * ``ReceptionDate`` records when a DICOM instance was received by
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
111 Orthanc. Similarly, ``LastUpdate`` records, for each
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
112 patient/study/series, the last time a DICOM instance was added to
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
113 this resource.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
114 * ``RemoteAet`` records the AET of the modality that has sent some
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
115 DICOM instance to Orthanc.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
116 * ``ModifiedFrom`` and ``AnonymizedFrom`` hold from which original
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
117 resource, a resource was modified or anonymized. The presence of
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
118 this metadata indicates that the resource is the result of a
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
119 modification or anonymization that was carried on by Orthanc.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
120 * ``Origin`` records through which mechanism the instance was received
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
121 by Orthanc (may be ``Unknown``, ``DicomProtocol``, ``RestApi``,
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
122 ``Plugins``, or ``Lua``).
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
123 * ``IndexInSeries`` records the expected index of a DICOM instance
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
124 inside its parent series. Conversely, ``ExpectedNumberOfInstances``
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
125 associates to each series, the number of DICOM instances this series
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
126 is expected to contain.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
127 * Starting with Orthanc 1.2.0, ``TransferSyntax`` and ``SopClassUid``
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
128 respectively stores the transfer syntax UID and the SOP class UID of
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
129 DICOM instances, in order to speed up the access to this
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
130 information.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
131
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
132 Metadata listed above are set privately by the Orthanc core. They are
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
133 **read-only** from the perspective of the end user, as Orthanc
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
134 internally relies on them.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
135
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
136
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
137 User-defined metadata
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
138 ^^^^^^^^^^^^^^^^^^^^^
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
139
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
140 The metadata described above where handled by the core of Orthanc.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
141 Orthanc users are however allowed to define their own **user-defined
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
142 metadata**. Such metadata are associated with an integer key that is
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
143 greater or equal to 1024 (whereas keys below 1023 are reserved for
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
144 core metadata).
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
145
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
146 You can associate a symbolic name to user-defined metadata using the
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
147 ``UserMetadata`` option inside the :ref:`configuration of Orthanc
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
148 <configuration>`.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
149
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
150
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
151 Accessing metadata
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
152 ^^^^^^^^^^^^^^^^^^
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
153
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
154 .. highlight:: bash
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
155
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
156 Metadata associated with one DICOM resource can be accessed through
80
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 79
diff changeset
157 the :ref:`REST API <rest>`, for instance::
78
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
158
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
159 $ curl http://localhost:8042/instances/cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e/metadata
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
160 $ curl http://localhost:8042/instances/cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e/metadata/RemoteAet
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
161
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
162 User-defined metadata can be modified by issuing a HTTP PUT against
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
163 the REST API::
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
164
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
165 $ curl http://localhost:8042/instances/cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e/metadata/1024 -X PUT -d 'hello'
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
166 $ curl http://localhost:8042/instances/cb855110-5f4da420-ec9dc9cb-2af6a9bb-dcbd180e/metadata/1024
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
167 hello
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
168
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
169
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
170
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
171 .. _registry:
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
172
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
173 Central registry of metadata and attachments
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
174 --------------------------------------------
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
175
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
176 Obviously, one must pay attention to the fact that different
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
177 applications might use the same key to store different user-defined
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
178 :ref:`metadata <metadata>`, which might result in incompatibilities
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
179 between such applications. Similarly, incompatibilities might show up
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
180 for user-defined :ref:`attachments <orthanc-storage>`.
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
181
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
182 Developers of applications/plugins that use user-defined metadata or
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
183 attachments are therefore kindly invited to complete the **central
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
184 registry** below:
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
185
d6bd1dd820e5 metadata
Sebastien Jodogne <s.jodogne@gmail.com>
parents: 25
diff changeset
186 * ``Metadata 4200`` is used by the plugin for :ref:`whole-slide imaging <wsi>`.