comparison Sphinx/source/plugins/dicomweb.rst @ 320:42104307e838

"Extrapolate" mode of DICOMweb plugin
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 21 Feb 2020 17:36:06 +0100
parents 83d822f11e78
children 89d4ee2e6e6e
comparison
equal deleted inserted replaced
319:be69f8c86f56 320:42104307e838
119 "EnableWado" : true, // Whether WADO-URI (previously known as WADO) support is enabled 119 "EnableWado" : true, // Whether WADO-URI (previously known as WADO) support is enabled
120 "WadoRoot" : "/wado", // Root URI of the WADO-URI (aka. WADO) API 120 "WadoRoot" : "/wado", // Root URI of the WADO-URI (aka. WADO) API
121 "Ssl" : false, // Whether HTTPS should be used for subsequent WADO-RS requests 121 "Ssl" : false, // Whether HTTPS should be used for subsequent WADO-RS requests
122 "QidoCaseSensitive" : true, // For QIDO-RS server, whether search is case sensitive (since release 0.5) 122 "QidoCaseSensitive" : true, // For QIDO-RS server, whether search is case sensitive (since release 0.5)
123 "Host" : "localhost", // Hard-codes the name of the host for subsequent WADO-RS requests (deprecated) 123 "Host" : "localhost", // Hard-codes the name of the host for subsequent WADO-RS requests (deprecated)
124 "StudiesMetadata" : "Full", // How study-level metadata is retrieved ("Full" or "MainDicomTags", since 1.1) 124 "StudiesMetadata" : "Full", // How study-level metadata is retrieved (since release 1.1, cf. section below)
125 "SeriesMetadata" : "Full" // How series-level metadata is retrieved ("Full" or "MainDicomTags", since 1.1) 125 "SeriesMetadata" : "Full" // How series-level metadata is retrieved (since release 1.1, cf. section below)
126 } 126 }
127 } 127 }
128 128
129 Furthermore, the global option ``DefaultEncoding`` specifies the 129 Furthermore, the global option ``DefaultEncoding`` specifies the
130 encoding (specific character set) that will be used when answering a 130 encoding (specific character set) that will be used when answering a
131 QIDO-RS request. It might be a good idea to set this option to 131 QIDO-RS request. It might be a good idea to set this option to
132 ``Utf8`` if you are dealing with an international environment. 132 ``Utf8`` if you are dealing with an international environment.
133 133
134 **Remark 1:** The following configuration options were present in
135 releases <= 0.6 of the plugin, but are not used anymore::
136
137 {
138 [...]
139 "DicomWeb" : {
140 "StowMaxInstances" : 10, // For STOW-RS client, the maximum number of instances in one single HTTP query (0 = no limit)
141 "StowMaxSize" : 10, // For STOW-RS client, the maximum size of the body in one single HTTP query (in MB, 0 = no limit)
142 }
143 }
144
145 These older configuration options were used to limit the size of the
146 HTTP requests, by issuing multiple calls to STOW-RS (set both options
147 to 0 to send one single request).
148
149
150 **Remark 2:** The option ``Host`` is deprecated. Starting with release
151 0.7 of the DICOMweb plugin, its value are computed from the standard
152 HTTP headers ``Forwarded`` and ``Host``, as provided by the HTTP
153 clients.
154
155
156 .. _dicomweb-server-metadata-config:
157
158 Fine-tuning server for WADO-RS Retrieve Metadata
159 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
134 160
135 The options ``StudiesMetadata`` and ``SeriesMetadata`` were introduced 161 The options ``StudiesMetadata`` and ``SeriesMetadata`` were introduced
136 in release 1.1 of the DICOMweb plugin. These options specify how the 162 in release 1.1 of the DICOMweb plugin. These options specify how the
137 calls to ``/dicom-web/studies/.../metadata`` and 163 calls to ``/dicom-web/studies/.../metadata`` and
138 ``/dicom-web/studies/.../series/.../metadata`` (i.e. `WADO-RS Retrieve 164 ``/dicom-web/studies/.../series/.../metadata`` (i.e. `WADO-RS Retrieve
139 Metadata 165 Metadata
140 <http://dicom.nema.org/medical/dicom/2019a/output/chtml/part18/sect_6.5.6.html>`__) 166 <http://dicom.nema.org/medical/dicom/2019a/output/chtml/part18/sect_6.5.6.html>`__)
141 are processed: 167 are processed:
142 168
143 * If ``Full`` mode is used, the plugin will have to read all the DICOM 169 * If ``Full`` mode is used, the plugin will read all the DICOM
144 instances of the study/series from the :ref:`storage area 170 instances of the study/series of interest from the :ref:`storage
145 <orthanc-storage>`, which gives exact results but requires all the 171 area <orthanc-storage>`, which gives fully accurate results but
146 individual instances to be read and parsed from the filesystem, 172 requires all the individual instances to be read and parsed from the
147 leading to bad performance (cf. `issue 162 173 filesystem, leading to slow performance (cf. `issue 162
148 <https://bitbucket.org/sjodogne/orthanc/issues/162/dicomweb-metadata-resource-reads-all>`__). 174 <https://bitbucket.org/sjodogne/orthanc/issues/162/dicomweb-metadata-resource-reads-all>`__).
149 This is the default mode. 175 This is the default mode.
150 176
151 * If ``MainDicomTags`` mode is used, the plugin will only report the 177 * If ``MainDicomTags`` mode is used, the plugin will only report the
152 main DICOM tags that are stored inside the Orthanc database index. 178 main DICOM tags that are indexed by the Orthanc database. The DICOM
153 The DICOM files are not read from the disk, which provides very good 179 files are not read from the disk, which provides best
154 performance. However, this is a small subset of all the tags that 180 performance. However, this is a small subset of all the tags that
155 would be retrieved if using the ``Full`` mode: A DICOMweb viewer 181 would be retrieved if using the ``Full`` mode: A DICOMweb viewer
156 might need more tags. 182 might need more tags.
157 183
158 * *Work-in-progress:* In the future, another mode might be introduced 184 * If ``Extrapolate`` mode is used, the plugin will read up to 3 DICOM
159 for the series level, that would assume that the value of some 185 instances at random that belong to the study/series of interest. It
160 non-main DICOM tags is constant across all the instances of the 186 will then test whether the majority of these instances share the
161 series. It would then be sufficient for the DICOMweb plugin to only 187 same value for a predefined subset of DICOM tags. If so, this value
162 read one instance from the series. This mode would be a compromise 188 is added to the metadata response; otherwise, the tag is not
163 between ``MainDicomTags`` (focus on speed) and ``Full`` (focus on 189 reported. In other words, this mode extrapolates the value of some
164 accuracy). This mode is still under active investigation, as it 190 predefined tags by assuming that these tags should be constant
165 might silently break DICOMweb viewers. 191 across all the instances of the study/series. This mode is a
192 compromise between ``MainDicomTags`` (focus on speed) and ``Full``
193 (focus on accuracy).
166 194
167 * If you are using a DICOMweb viewer (such as forthcoming Stone Web 195 * If you are using a DICOMweb viewer (such as forthcoming Stone Web
168 viewer or OHIF viewer) in a setup where performance is important, 196 viewer or `OHIF viewer
169 you should most probably set ``StudiesMetadata`` to 197 <https://groups.google.com/d/msg/orthanc-users/y1N5zOFVk0M/a3YMdhNqBwAJ>`__)
170 ``MainDicomTags`` and ``SeriesMetadata`` to ``Full``. 198 in a setup where performance and accuracy are both important, you
171 199 should most probably set ``StudiesMetadata`` to ``MainDicomTags``
200 and ``SeriesMetadata`` to ``Full``. Forthcoming Stone Web viewer
201 will probably specify a value for the
202 ``SeriesMetadataExtrapolatedTags`` option to be used for setups
203 where performance is extremely important.
204
205
206 If using the ``Extrapolate`` mode, the predefined tags are provided
207 using the ``StudiesMetadataExtrapolatedTags`` and
208 ``SeriesMetadataExtrapolatedTags`` configuration options as follows::
172 209
173 **Remark 1:** The following configuration options were present in 210 {
174 releases <= 0.6 of the plugin, but are not used anymore:: 211 [...]
175 212 "DicomWeb" : {
176 { 213 [...]
177 [...] 214 "StudiesMetadata" : "Extrapolate",
178 "DicomWeb" : { 215 "StudiesMetadataExtrapolatedTags" : [
179 "StowMaxInstances" : 10, // For STOW-RS client, the maximum number of instances in one single HTTP query (0 = no limit) 216 "AcquisitionDate"
180 "StowMaxSize" : 10, // For STOW-RS client, the maximum size of the body in one single HTTP query (in MB, 0 = no limit) 217 ],
181 } 218 "SeriesMetadata" : "Extrapolate",
182 } 219 "SeriesMetadataExtrapolatedTags" : [
183 220 "BitsAllocated",
184 These older configuration options were used to limit the size of the 221 "BitsStored",
185 HTTP requests, by issuing multiple calls to STOW-RS (set both options 222 "Columns",
186 to 0 to send one single request). 223 "HighBit",
187 224 "PhotometricInterpretation",
188 225 "PixelSpacing",
189 **Remark 2:** The option ``Host`` is deprecated. Starting with release 226 "PlanarConfiguration",
190 0.7 of the DICOMweb plugin, its value are computed from the standard 227 "RescaleIntercept",
191 HTTP headers ``Forwarded`` and ``Host``, as provided by the HTTP 228 "RescaleSlope",
192 clients. 229 "Rows",
193 230 "SOPClassUID",
231 "SamplesPerPixel",
232 "SliceThickness"
233 ]
234 }
235 }
194 236
195 237
196 .. _dicomweb-client-config: 238 .. _dicomweb-client-config:
197 239
198 Client-related options 240 Client-related options