-
-
Notifications
You must be signed in to change notification settings - Fork 31
/
DefaultConfiguration.json
285 lines (249 loc) · 16.8 KB
/
DefaultConfiguration.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
{
"OrthancExplorer2" : {
// enables or disables the plugin completely
"Enable": true,
// Prefix URL of the OE2 application (and API)
// A value of '/my-ui' means that the app will be available under /my-ui/app/
// and the api will be available under /my-ui/api/...
// Should start and end with a '/'
"Root" : "/ui/",
// Whether OE2 shall replace the default Orthanc Explorer interface ('/' URL will redirect to OE2)
"IsDefaultOrthancUI": true,
// Base theme for the UI (before custom CSS are applied).
// Allowed values: "light", "dark"
"Theme": "light",
// Path to custom CSS file or logo.
// The custom CSS are applied after these default files and they are loaded after all other CSS.
// You may actually override any CSS value or variable from the application.
// - https://github.com/orthanc-server/orthanc-explorer-2/blob/master/WebApplication/src/assets/css/defaults-dark.css
// - https://github.com/orthanc-server/orthanc-explorer-2/blob/master/WebApplication/src/assets/css/defaults-light.css
// "CustomCssPath": "/home/my/path/to/custom.css",
// "CustomLogoUrl": "https://my.company/logo.png",
// "CustomLogoPath": "/home/my/path/to/logo.png",
// "CustomFavIconPath": "/home/my/path/to/favicon.ico", // note: this can be a .png, .svg or .ico file
// Custom Window/Tab Title
// "CustomTitle": "Orthanc Explorer 2",
// This block of configuration is transmitted as is to the frontend application.
// Make sure not to store any secret here
"UiOptions" : {
// note: all the "Enable..." variables can be set to false by the user-profile (if using the authorization plugin)
"EnableStudyList": true, // Enables the access to the study list (TODO)
"EnableUpload": true, // Enables the upload menu/interface
"EnableDicomModalities": true, // Enables the 'DICOM Modalities' interface in the side menu
"EnableDeleteResources": true, // Enables the delete button for Studies/Series/Instances
"EnableDownloadZip": true, // Enables the download zip button for Studies/Series
"EnableDownloadDicomDir": false, // Enables the download DICOM DIR button for Studies/Series
"EnableDownloadDicomFile": true, // Enables the download DICOM file button for Instances
"EnableAnonymization": true, // Enables the anonymize button
"EnableModification": true, // Enables the modify button
"EnableSendTo": true, // Enables the 'SendTo' button for Studies/Series/Instances
"EnableApiViewMenu": false, // Enables the API button to open API routes for Studies/Series/Instances (developer mode)
"EnableSettings": true, // Enables the settings menu/interface
"EnableLinkToLegacyUi": true, // Enables a link to the legacy Orthanc UI
"EnableChangePassword": true, // Enables the 'change password' button in the side bar. Only applicable if Keycloak is enabled
"EnableViewerQuickButton": true, // Enables a button in the study list to directly open a viewer
"EnableReportQuickButton": false, // Enables a button in the study list to directly open a PDF report if available in the study
"EnableEditLabels": true, // Enables labels management (create/delete/assign/unassign)
"AvailableLabels": [], // If not empty, this list prevents the creation of new labels and only allows add/remove of the listed labels.
// This configuration may be overriden when you use Keycloak and an auth-service that implements roles/permissions API.
"EnableShares": false, // Enables sharing studies. See "Tokens" section below.
"DefaultShareDuration": 0, // [in days]. 0 means no expiration date,
"ShareDurations": [0, 7, 15, 30, 90, 365], // The share durations proposed in the UI
"EnableAddSeries": true, // Enables the "Add series" button
"AddSeriesDefaultTags": { // Default tag values when adding a new series of each type ("pdf", "image" or "stl")
"pdf" : {
"SeriesDescription": "Report",
"Modality": "DOC",
"SeriesDate": "$TODAY$" // Allowed keywords: $TODAY$, $STUDY_DATE$, $FILE_DATE$
},
"image" : {
"SeriesDescription": "Picture",
"Modality": "XC",
"SeriesDate": "$TODAY$"
},
"stl" : {
"SeriesDescription": "Model",
"Modality": "M3D",
"SeriesDate": "$TODAY$"
}
},
// If both OHIF viewer configurations are enabled, only the v3 is taken into account
"EnableOpenInOhifViewer": false, // Enables a "open in OHIF viewer" button. Note: OHIF can not be used together with KeyCloak (https://community.ohif.org/t/ohif-orthanc-token-to-access-a-single-study/727)
"OhifViewerPublicRoot" : "http://to-be-defined/", // must end with a '/'. e.g: "http://ohif.my.site/" means that link to OHIF will look like http://ohif.my.site/Viewer/1.2.3.444.5555....
"EnableOpenInOhifViewer3": false, // Enables a "open in OHIF viewer" button. If the OHIF plugin is loaded, the default value is 'true'
"OhifViewer3PublicRoot" : "/ohif/", // must end with a '/'. e.g: "http://ohif.my.site/" means that link to OHIF will look like http://ohif.my.site/viewer?StudyInstanceUIDs=1.2.3.444.5555....
"EnableOpenInMedDreamViewer": false, // Enables a "open in MedDream viewer" button
"MedDreamViewerPublicRoot" : "http://to-be-defined/", // must end with a '/'. e.g: "http://meddream.my.site/Viewer/" means that link to MedDream will look like http://meddream.my.site/?study=1.2.3.444.5555....
// Defines which icons is used by which enabled viewer.
// Allowed keys: "meddream", "osimis-web-viewer", "stone-webviewer", "ohif", "ohif-vr", "ohif-tmtv"
// Allowed values: CSS class that defines the viewer icons (only from bootstrap icons)
"ViewersIcons" : {
"osimis-web-viewer": "bi bi-eye",
"stone-webviewer": "bi bi-eye-fill",
"ohif": "bi bi-grid",
"ohif-vr": "bi bi-grid-1x2",
"ohif-tmtv": "bi bi-grid-3x3-gap",
"ohif-seg": "fa-solid fa-shapes fa-button",
"ohif-micro": "fa-solid fa-microscope fa-button",
"meddream": "bi bi-columns-gap",
"volview": "bi bi-box",
"wsi": "fa-solid fa-microscope fa-button"
},
// Defines the order in which the viewer icons should appear in the interface
// OHIF viewers modes that are not listed here, won't appear in the interface.
"ViewersOrdering" : [
// "osimis-web-viewer", // now deprecated
"stone-webviewer",
"ohif",
"ohif-vr",
"ohif-tmtv",
"ohif-seg",
// "ohif-micro", // currently disabled, this is still experimental in OHIF
"meddream",
"volview",
"wsi"
],
"MaxStudiesDisplayed": 100, // The maximum number of studies displayed in the study list
"MaxMyJobsHistorySize": 5, // The maximum number of jobs appearing under 'my jobs' in side bar (0 = unlimited)
"StudyListSearchMode": "search-as-you-type",// mode to trigger a search in the StudyList. Accepted values: 'search-as-you-type' or 'search-button'
"StudyListSearchAsYouTypeMinChars": 3, // minimum number of characters to enter in a text search field before it starts searching the DB
"StudyListSearchAsYouTypeDelay": 400, // Delay [ms] between the last key stroke and the trigger of the search
"StudyListContentIfNoSearch": "most-recents", // Defines what to show if no search criteria has been entered
// Allowed values: "empty", "most-recents"
// Default settings are ok for "small" Orthanc Databases. For large databases, it is recommended to use these settings:
// "StudyListSearchMode": "search-button"
// "StudyListContentIfNoSearch": "empty"
"ShowOrthancName": true, // display the Orthanc Name in the side menu
// The list of tags to be displayed in the upload dialog result list
// (the first N defined tags in the list are displayed on the UI)
// Allowed values are: "StudyDate", "AccessionNumber", "PatientID",
// "PatientName", "PatientBirthDate", "StudyDescription"
"UploadReportTags" : [
"PatientName",
"StudyDescription",
"PatientID",
"AccessionNumber",
"StudyDate"
],
"UploadReportMaxTags" : 2, // See above, the max number of tags displayed in the upload report
// The ordered list of columns to display in the study list.
// Allowed values are:
// - Dicom Tags: "StudyDate", "AccessionNumber", "PatientID"
// "PatientName", "PatientBirthDate", "StudyDescription"
// - special columns:
// - "modalities": the list of modalities in the study
// - "seriesCount": the number of series in the study
// - "instancesCount": the number of instances in the study
// - "seriesAndInstancesCount": a combined value with the number of series/instances in the study
"StudyListColumns" : [
"PatientBirthDate",
"PatientName",
"PatientID",
"StudyDescription",
"StudyDate",
"modalities",
"AccessionNumber",
"seriesAndInstancesCount"
],
// The list of patient level tags that are displayed in the study details and in the modification dialog.
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
"PatientMainTags" : [
"PatientID",
"PatientName",
"PatientBirthDate",
"PatientSex",
"OtherPatientIDs"
],
// The list of study level tags that are displayed in the study details and in the modification dialog.
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
"StudyMainTags" : [
"StudyDate",
"StudyTime",
"StudyDescription",
"AccessionNumber",
"StudyID",
"StudyInstanceUID",
"RequestingPhysician",
"ReferringPhysicianName",
"InstitutionName"
],
// The list of series level tags that are displayed in the study details and in the modification dialog.
// Note that these tags must be defined in the Orthanc main dicom tags (https://orthanc.uclouvain.be/book/faq/main-dicom-tags.html)
"SeriesMainTags" : [
"SeriesDate",
"SeriesTime",
"SeriesDescription",
"SeriesNumber",
"BodyPartExamined",
"ProtocolName",
"SeriesInstanceUID"
],
// The modalities to display in the Modalities filter dropdown in the Study List
"ModalitiesFilter": [
"CR", "CT", "DOC", "DR", "DX", "KO", "MG", "MR", "NM", "OT", "PR", "PT", "PX", "RTDOSE", "RTSTRUCT", "RTPLAN", "SEG", "SR", "US", "XA", "XC"
],
// Defines the list of languages available in the language picker
// ex: "AvailableLanguages" : ["en", "fr"],
// ex: "AvailableLanguages" : [] -> this won't show the language picker at all and force usage of the DefaultLanguage
"AvailableLanguages": ["en", "de", "es", "fr", "it", "ka", "ru", "si", "uk", "zh"],
// Force the default language. If null (default), the language is the language from the visitor's browser.
// ex: "DefaultLanguage" : "en"
"DefaultLanguage" : null,
// Should DicomTags be translated (true) or shall we use the English symbolic name whatever the selected language (false)
// if true: "PatientID" is displayed as e.g "ID Patient" in french
// if false: "PatientID" is displayed as "PatientID" in all languages
"TranslateDicomTags" : true,
// Display format for dates in the study list based on these definitions: https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table
// example: "dd/MM/yyyy" for European Format,
// "yyyyMMdd" for DICOM format
"DateFormat": "yyyyMMdd",
// PatientName transformation for display. This requires a Regex for capturing and one expression for formatting.
// If PatientNameFormatting is not defined, no transformation occurs (this is the default behaviour).
// The Regex is a Javascript regex and is applied this way:
// FormattedName = PatientName.replace(new RegExp(PatientNameCapture), PatientNameFormatting);
// in example, to capture carets separated names and re-order them, one would use:
// FormattedName = PatientName.replace(new RegExp("([^\\^]+)\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?"), '$1 $3 $2');
"PatientNameCapture" : "([^\\^]+)\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?\\^?([^\\^]+)?",
// "PatientNameFormatting": "$1 $3 $2"
// modifications dialog options
"Modifications": {
// Modes define options to the /modify route:
// "modify-keep-uids" is equivalent to KeepSource=True and Keep=["StudyInstanceUID", "SeriesInstanceUID", "SOPInstanceUID"]
// "modify-new-uids" is equivalent to KeepSource=False
// "duplicate" is equivalent to KeepSource=True
// "AllowedModes" and "DefaultMode" apply to studies modification
"AllowedModes": ["modify-new-uids", "modify-keep-uids", "duplicate"],
"DefaultMode": "modify-new-uids",
// same configurations for Series (introduced in 1.2.0)
"SeriesAllowedModes": ["modify-new-uids", "modify-keep-uids", "duplicate"],
"SeriesDefaultMode": "modify-new-uids"
},
// List of tags that are used to identify studies belonging to the same patient.
// This appears as "This patient has {count} studies in total" in the study details.
// ex: "ShowSamePatientStudiesFilter" : ["PatientID", "PatientBirthDate", "PatientSex"]
"ShowSamePatientStudiesFilter" : [
"PatientID"
]
},
"Shares" : {
"TokenService" : {
"Url": "http://change-me:8000/shares",
"Username": "change-me",
"Password": "change-me"
},
"Type": "osimis-viewer-publication" // allowed values: "osimis-viewer-publication", "meddream-viewer-publication", "stone-viewer-publication"
},
// When using Keycloak for user management
"Keycloak" : {
"Enable": false,
"Url": "http://change-me:8080/",
"Realm": "change-me",
"ClientId": "change-me"
},
// this section is only relevant if the authorization plugin is enabled and user-profile based permissions are implemented
"Tokens" : {
"InstantLinksValidity": 200, // the duration, in seconds an 'instant' token is valid (e.g. used to download a study, open a study in a viewer)
"ShareType": "stone-viewer-publication" // allowed values: "stone-viewer-publication", "osimis-viewer-publication", "meddream-viewer-publication"
}
}
}