hi all,
I’m in the process of migrating Orthanc to a new server and to a newer Orthanc version. After migration of the postgresql database (only for the index; files are on disk. Postgres version v14 on both machines) I get an error (see below). The versions I used are:
Program/plugin | Old version | New(er) version | |
---|---|---|---|
Ubuntu | 20.04.4 LTS | 22.04 LTS | |
Orthanc | 1.12.1 | 1.12.4 | |
worklists | 1.12.1 | 1.12.4 | |
serve-folders | 1.12.1 | 1.12.4 | |
housekeeper | 1.12.1 | 1.12.4 | |
postgresql-index | 3.2 | 6.2 | |
postgresql-storage | 3.2 | 6.2 | |
web-viewer | 2.8 | 2.9 | |
dicom-web | - | 1.17 | |
orthanc-explorer-2 | - | 1.4.1 |
I’ve tried the latest version of all Orthanc+plugins but that doesn’t help. Same for mainline (for everything). It seems that the database scheme is not automatically upgraded? Hoewever, the problem persists, even after running: Orthanc /path/to/config/orthanc.json --upgrade
I’ve tried manually upgrading the database (by following PostgreSQL plugins — Orthanc Book documentation) but the error remains..
Part of the problem might be caused because it’s not very clear to me which plugin versions to take. There used to be a compatibility matrix but I couldn’t find it anymore.
Any ideas how to fix this?
Thanks, Tim
W0620 10:39:59.780926 MAIN main.cpp:929] Orthanc has started
W0620 10:39:59.781527 HOUSEKEEPER PluginsManager.cpp:158] Starting Housekeeper worker thread
W0620 10:39:59.782116 HOUSEKEEPER housekeeper:/Plugin.cpp:407] Housekeeper: your storage might still contain some dicom-as-json files -> will perform housekeeping
W0620 10:39:59.782137 HOUSEKEEPER housekeeper:/Plugin.cpp:474] Housekeeper: storage compression is now enabled -> will perform housekeeping
W0620 10:39:59.782156 HOUSEKEEPER housekeeper:/Plugin.cpp:521] Housekeeper: DicomWEB plugin might miss series metadata cache -> will perform housekeeping
W0620 10:39:59.782165 HOUSEKEEPER housekeeper:/Plugin.cpp:675] Housekeeper: the DB configuration has changed since last run, will reprocess the whole DB !
W0620 10:39:59.785988 HOUSEKEEPER ServerToolbox.cpp:288] Reconstructing resource e8f894c9-edfa48bc-44af4dcb-2a36d66f-edbf56e8
E0620 10:39:59.792572 HOUSEKEEPER PluginsManager.cpp:154] PostgreSQL error: ERROR: column "revision" does not exist
LINE 1: ...compressedSize, uncompressedHash, compressedHash, revision F...
^
E0620 10:39:59.792742 HOUSEKEEPER PluginsManager.cpp:154] Exception in database back-end: Error with the database engine
E0620 10:39:59.792815 HOUSEKEEPER PluginsManager.cpp:154] Exception in database back-end: Bad sequence of calls
E0620 10:39:59.792956 HOUSEKEEPER PluginsManager.cpp:201] Exception while invoking plugin service 3002: Error with the database engine
config file:
{
"Name" : "Orthanc",
"StorageDirectory" : "/home/ubuntu/orthanc/db",
"IndexDirectory" : "/home/ubuntu/orthanc/db",
"StorageCompression" : true,
"MaximumStorageSize" : 0,
"MaximumPatientCount" : 0,
"LuaScripts" : [
],
"Plugins" : [
"/usr/share/orthanc/plugins"
],
/**
* Configuration of the HTTP server
**/
"HttpServerEnabled" : true,
"HttpPort" : 8042,
"HttpDescribeErrors" : true,
"HttpCompressionEnabled" : true,
/**
* Configuration of the DICOM server
**/
"DicomServerEnabled" : true,
"DicomAet" : "Orthanc",
"DicomCheckCalledAet" : false,
"DicomPort" : 11112,
"DefaultEncoding" : "Latin1",
"DeflatedTransferSyntaxAccepted" : true,
"JpegTransferSyntaxAccepted" : true,
"Jpeg2000TransferSyntaxAccepted" : false,
"JpegLosslessTransferSyntaxAccepted" : true,
"JpipTransferSyntaxAccepted" : true,
"Mpeg2TransferSyntaxAccepted" : true,
"RleTransferSyntaxAccepted" : true,
"UnknownSopClassAccepted" : true,
/**
* Security-related options for the HTTP server
**/
"RemoteAccessAllowed" : true,
"SslEnabled" : false,
"SslCertificate" : "/home/ubuntu/SSL/certificate.pem",
"AuthenticationEnabled" : true,
"RegisteredUsers" : {
"user" : "#########"
},
/**
* Network topology
**/
"DicomModalities" : {
// "sample" : [ "STORESCP", "localhost", 2000 ]
// "clearcanvas" : [ "CLEARCANVAS", "192.168.1.1", 104, "ClearCanvas" ]
},
"OrthancPeers" : {
// "peer" : [ "http://localhost:8043/", "alice", "alicePassword" ]
// "peer2" : [ "http://localhost:8044/" ]
},
"HttpProxy" : "",
"HttpTimeout" : 10,
"HttpsVerifyPeers" : true,
"HttpsCACertificates" : "/home/ubuntu/SSL/certificate.pem",
/**
* Advanced options
**/
"UserMetadata" : {
// "Sample" : 1024
},
"UserContentType" : {
// "sample" : 1024
},
"StableAge" : 15,
"StrictAetComparison" : false,
"StoreMD5ForAttachments" : true,
"LimitFindResults" : 0,
"LimitFindInstances" : 0,
// The maximum number of active jobs in the Orthanc scheduler. When
// this limit is reached, the addition of new jobs is blocked until
// some job finishes.
"LimitJobs" : 10,
// If this option is set to "false", Orthanc will not log the
// resources that are exported to other DICOM modalities of Orthanc
// peers in the URI "/exports". This is useful to prevent the index
// to grow indefinitely in auto-routing tasks.
"LogExportedResources" : true,
// Enable or disable HTTP Keep-Alive (deprecated). Set this option
// to "true" only in the case of high HTTP loads.
"KeepAlive" : false,
// If this option is set to "false", Orthanc will run in index-only
// mode. The DICOM files will not be stored on the drive.
"StoreDicom" : true,
// DICOM associations are kept open as long as new DICOM commands
// are issued. This option sets the number of seconds of inactivity
// to wait before automatically closing a DICOM association. If set
// to 0, the connection is closed immediately.
"DicomAssociationCloseDelay" : 5,
// Maximum number of query/retrieve DICOM requests that are
// maintained by Orthanc. The least recently used requests get
// deleted as new requests are issued.
"QueryRetrieveSize" : 10,
// When handling a C-Find SCP request, setting this flag to "false"
// will enable case-insensitive match for PN value representation
// (such as PatientName). By default, the search is case-insensitive.
"CaseSensitivePN" : false,
// Performance testing...
// https://orthanc.uclouvain.be/hg/orthanc/file/default/OrthancServer/Resources/Configuration.json
"ConcurrentJobs" : 4,
"HttpThreadsCount" : 8,
"DicomThreadsCount" : 8,
"JobsEngineThreadsCount" : {
"ResourceModification": 2 // for /anonymize, /modify
},
// enabling PostgreSQL backend (override default sqlite)
// By design the EnableStorage option is turned off, so that the dcm files themselves are not stored
// in the database, but on the filesystem. The benefit is that deleting data from Orthanc then
// immediately releases the bulk disk storage (else PostgreSQL keeps a claim on the disk storage).
// The downside might be that PostgreSQL is not used to guarantee data integrity, but that should not
// be crucial for a QC PACS.
"PostgreSQL" : {
"EnableIndex" : true,
"EnableStorage" : false,
"Host" : "localhost",
"Port" : 5432,
"Database" : "orthanc_db",
"Username" : "orthanc",
"Password" : "####"
},
"Housekeeper": {
// Enables/disables the plugin
"Enable": true,
//"LimitMainDicomTagsReconstructLevel": "instance",
// the Global Prooperty ID in which the plugin progress
// is stored. Must be > 1024 and must not be used by
// another plugin
"GlobalPropertyId": 1025,
// Forces execution even if the plugin did not detect
// any changes in configuration
"Force": false,
// Delay (in seconds) between reconstruction of 2 studies
// This avoids overloading Orthanc with the housekeeping
// process and leaves room for other operations.
"ThrottleDelay": 1,
// configure events that can trigger a housekeeping processing
"Triggers" : {
"StorageCompressionChange": true,
"MainDicomTagsChange": true,
"UnnecessaryDicomAsJsonFiles": true,
"IngestTranscodingChange": true,
"DicomWebCacheChange": true // new in 1.12.2
}
},
"DicomWeb": {
"Enable": true
},
"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/",
// Prefix URL of the OE2 public application (and API)
// This is useful if, e.g, your Orthanc is behind a reverse-proxy and has another
// base endpoint than the "Root" one.
// If not defined or defined to null, the "Root" value is used as "PublicRoot".
// A value of '/orthanc/ui/' means that the app will be available under /orthanc/ui/app/
// and the api will be available under /orthanc/ui/api/ and we assume that the Orthanc API
// is available at /orthanc/
"PublicRoot": null,
// Prefix URL of the orthanc public API
// This is useful if, e.g, your Orthanc is behind a reverse-proxy.
"OrthancApiPublicRoot": "/wadqc-vumc/orthanc/",
// Whether OE2 shall replace the default Orthanc Explorer interface ('/' URL will redirect to OE2)
"IsDefaultOrthancUI": false,
// Base theme for the UI (before custom CSS are applied).
// Allowed values: "light", "dark"
"Theme": "light",
// 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
"EnableEditLabels": true, // Enables labels management (create/delete/assign/unassign)
"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",
"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
"StudyListColumns" : [
"PatientBirthDate",
"PatientName",
"PatientID",
"StudyDescription",
"StudyDate",
"modalities",
"AccessionNumber",
"seriesCount"
],
// 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",
// 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"
}
},
"StoneWebViewer" :
{
/**
* Defines how dates are displayed in the UI. If this option is not
* set, the DICOM tags will be displayed as such. "DD" will be
* replaced by the day, "MM" by the month, and "YYYY" by the year.
**/
// "DateFormat" : "DD/MM/YYYY",
/**
* Defines how times are displayed in the UI. If this option is not
* set, the DICOM tags will be displayed as such. "hh" will be
* replaced by the hour, "mm" by the minutes, "ss" by the seconds
* and ".f" by the fractions of seconds.
**/
// "TimeFormat" : "hh:mm:ss.f",
/**
* This option allows you to define windowing presets.
* For each preset, you must provide a name, the window width
* and window center.
**/
"WindowingPresets" : [
{"Name" : "CT Lung", "WindowCenter" : -400, "WindowWidth" : 1600},
{"Name" : "CT Abdomen", "WindowCenter" : 60, "WindowWidth" : 400},
{"Name" : "CT Bone", "WindowCenter" : 300, "WindowWidth" : 1500},
{"Name" : "CT Brain", "WindowCenter" : 40, "WindowWidth" : 80},
{"Name" : "CT Chest", "WindowCenter" : 40, "WindowWidth" : 400},
{"Name" : "CT Angio", "WindowCenter" : 300, "WindowWidth" : 600}
],
/**
* Enables/disables the combined tool. This is the default mode
* for mouse interactions. The combined tool allows to access the
* windowing, zoom and pan from a single mouse configuration. The
* behaviour of the combined tool is defined in
* CombinedToolBehaviour. The available mouse actions are
* "Crosshair", "Windowing", "Pan", "Rotate", "Zoom" and
* "MagnifyingGlass".
**/
"CombinedToolEnabled" : true,
"CombinedToolBehaviour" : {
"LeftMouseButton" : "Windowing",
"MiddleMouseButton" : "Pan",
"RightMouseButton" : "Zoom"
},
/**
* Enables/disables the print button.
**/
"PrintEnabled" : true,
/**
* Enables/disables the button to download a screenshot of the
* active viewport as a JPEG file.
**/
"DownloadAsJpegEnabled" : true,
/**
* Enables/disables the button to download the display study.
* Only used if "OrthancApiRoot" is properly set.
**/
"DownloadStudyEnabled" : true,
/**
* The allowed origin for messages corresponding to dynamic actions
* triggered by another Web page using "window.postMessage()". The
* special value "*" will allow any origin, which is an insecure
* value to be used only during development. If this option is not
* set, all the requests for dynamic actions will be rejected.
* https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage
**/
"ExpectedMessageOrigin" : "http://localhost:8042",
/**
* Root path of the DICOMweb server. This option is automatically
* set by the Orthanc plugin if missing.
**/
"DicomWebRoot" : "../dicom-web",
/**
* Set the size of the cache that stores the DICOM files. This
* size is expressed in megabytes. The default value of 128MB
* should work in most setups, except if very large multiframe
* instances are encountered, which might for instance be the case
* for mammography. Setting this parameter to zero will disable
* the cache, which should only be done for testing.
**/
"DicomCacheSize" : 128,
/**
* The following parameter can be set if running the Stone Web
* viewer from Orthanc, but without using the associated plugin
* (e.g. using the "Serve Folders" sample plugin). Using the
* plugin would overwrite this setting. This will enable features
* that are only available if the Orthanc REST API is accessible
* (download of studies, and playing videos). This option is
* typically used by the developers of Stone.
**/
"OrthancApiRoot" : "..",
/**
* If option "DownloadDicomDir" is set to "true", the Stone Web
* viewer will create DICOMDIR media archives (as generated by the
* route "/studies/{id}/media" of Orthanc), instead of archives
* containing a human-readable hierarchy of folders (as generated
* by the route "/studies/{id}/archive").
**/
"DownloadDicomDir" : false,
/**
* By setting option "InstitutionLogo" to an URL containing an
* image, this logo will be displayed at the bottom-left of the
* Stone Web viewer.
**/
"InstitutionLogo" : "",
/**
* Define a list of modality type that the viewer will ignore.
**/
"SkipSeriesFromModalities": ["SR", "SEG", "PR"],
/**
* Whether to display the info panel at startup. Allowed values:
* "Always", "Never", "User". With "User", the user can decide to
* show or not the info panel in the user preferences panel (this
* is implemented using a cookie). (New in Stone Web viewer 2.4)
**/
"ShowInfoPanelAtStartup": "User",
/**
* Whether to give access to the user preferences window. (New in
* Stone Web viewer 2.4)
**/
"ShowUserPreferencesButton" : true,
/**
* Display a "not for diagnostic usage" disclaimer above the list
* of studies/series. (New in Stone Web viewer 2.4)
**/
"ShowNotForDiagnosticUsageDisclaimer": false,
/**
* HTTP headers to be set in each request to the DICOMweb server.
* Note that the value of the headers can be taken from the
* environment variables.
**/
"DicomWebHttpHeaders" : {
/* "Authorization" : "Bearer ${USER}" */
}
}
}