2024-05-24 12:21:09 -04:00
/** @type {AppTypes.Config} */
2024-06-20 16:58:59 -04:00
window . config = {
2025-01-02 14:46:53 -05:00
name : 'config/default.js' ,
2025-03-27 16:47:16 -04:00
routerBasename : null ,
2023-02-03 23:28:05 +08:00
// whiteLabeling: {},
2020-05-12 21:41:11 +02:00
extensions : [],
2020-05-07 11:53:13 -03:00
modes : [],
2025-03-06 22:19:47 -05:00
customizationService : {},
2019-07-08 16:29:59 -03:00
showStudyList : true ,
2023-02-03 09:33:28 -05:00
// some windows systems have issues with more than 3 web workers
maxNumberOfWebWorkers : 3 ,
2022-11-04 09:01:34 -04:00
// below flag is for performance reasons, but it might not work for all servers
2023-02-17 15:04:07 -05:00
showWarningMessageForCrossOrigin : true ,
showCPUFallbackMessage : true ,
2022-11-16 14:19:52 -05:00
showLoadingIndicator : true ,
2024-06-21 10:04:02 -04:00
experimentalStudyBrowserSort : false ,
2023-03-31 23:21:16 -03:00
strictZSpacingForVolumeViewport : true ,
2024-03-18 20:27:12 -04:00
groupEnabledModesFirst : true ,
2025-04-08 18:34:45 -04:00
allowMultiSelectExport : false ,
2022-07-27 16:39:04 +00:00
maxNumRequests : {
interaction : 100 ,
thumbnail : 75 ,
2023-03-29 09:40:22 -04:00
// Prefetch number is dependent on the http protocol. For http 2 or
// above, the number of requests can be go a lot higher.
prefetch : 25 ,
2022-07-27 16:39:04 +00:00
},
2025-10-17 08:15:13 -04:00
showErrorDetails : 'always' , // 'always', 'dev', 'production'
2020-05-07 10:58:02 -03:00
// filterQueryParam: false,
2025-01-13 10:49:08 -05:00
// Defines multi-monitor layouts
multimonitor : [
{
id : 'split' ,
test : ({ multimonitor }) => multimonitor === 'split' ,
screens : [
{
id : 'ohif0' ,
screen : null ,
location : {
screen : 0 ,
width : 0.5 ,
height : 1 ,
left : 0 ,
top : 0 ,
},
options : 'location=no,menubar=no,scrollbars=no,status=no,titlebar=no' ,
},
{
id : 'ohif1' ,
screen : null ,
location : {
width : 0.5 ,
height : 1 ,
left : 0.5 ,
top : 0 ,
},
options : 'location=no,menubar=no,scrollbars=no,status=no,titlebar=no' ,
},
],
},
{
id : '2' ,
test : ({ multimonitor }) => multimonitor === '2' ,
screens : [
{
id : 'ohif0' ,
screen : 0 ,
location : {
width : 1 ,
height : 1 ,
left : 0 ,
top : 0 ,
},
options : 'fullscreen=yes,location=no,menubar=no,scrollbars=no,status=no,titlebar=no' ,
},
{
id : 'ohif1' ,
screen : 1 ,
location : {
width : 1 ,
height : 1 ,
left : 0 ,
top : 0 ,
},
options : 'fullscreen=yes,location=no,menubar=no,scrollbars=no,status=no,titlebar=no' ,
},
],
},
],
2025-08-20 08:13:30 -04:00
defaultDataSourceName : 'ohif' ,
2023-05-16 00:22:48 +05:30
/* Dynamic config allows user to pass "configUrl" query string this allows to load config without recompiling application. The regex will ensure valid configuration source */
// dangerouslyUseDynamicConfig: {
// enabled: true,
// // regex will ensure valid configuration source and default is /.*/ which matches any character. To use this, setup your own regex to choose a specific source of configuration only.
// // Example 1, to allow numbers and letters in an absolute or sub-path only.
// // regex: /(0-9A-Za-z.]+)(\/[0-9A-Za-z.]+)*/
// // Example 2, to restricts to either hosptial.com or othersite.com.
// // regex: /(https:\/\/hospital.com(\/[0-9A-Za-z.]+)*)|(https:\/\/othersite.com(\/[0-9A-Za-z.]+)*)/
// regex: /.*/,
// },
2020-05-07 10:58:02 -03:00
dataSources : [
{
2022-04-06 13:28:42 -04:00
namespace : '@ohif/extension-default.dataSourcesModule.dicomweb' ,
2025-08-20 08:13:30 -04:00
sourceName : 'ohif' ,
2020-05-07 10:58:02 -03:00
configuration : {
2023-09-21 07:30:01 -04:00
friendlyName : 'AWS S3 Static wado server' ,
2022-11-16 14:19:52 -05:00
name : 'aws' ,
2024-09-19 00:23:28 -04:00
wadoUriRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
qidoRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
wadoRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
2022-11-16 14:19:52 -05:00
qidoSupportsIncludeField : false ,
2019-04-29 13:29:37 -04:00
imageRendering : 'wadors' ,
thumbnailRendering : 'wadors' ,
2019-10-03 04:51:29 -03:00
enableStudyLazyLoad : true ,
2025-01-27 11:20:00 -05:00
supportsFuzzyMatching : true ,
supportsWildcard : false ,
2022-11-16 14:19:52 -05:00
staticWado : true ,
2023-05-29 09:04:49 -04:00
singlepart : 'bulkdata,video' ,
// whether the data source should use retrieveBulkData to grab metadata,
// and in case of relative path, what would it be relative to, options
// are in the series level or study level (some servers like series some study)
bulkDataURI : {
enabled : true ,
relativeResolution : 'studies' ,
2024-08-15 14:36:53 -04:00
transform : url => url . replace ( '/pixeldata.mp4' , '/rendered' ),
2023-09-21 07:30:01 -04:00
},
omitQuotationForMultipartRequest : true ,
},
},
2024-06-17 22:36:03 -04:00
2023-09-21 07:30:01 -04:00
{
namespace : '@ohif/extension-default.dataSourcesModule.dicomweb' ,
2024-06-17 22:36:03 -04:00
sourceName : 'ohif2' ,
2023-09-21 07:30:01 -04:00
configuration : {
friendlyName : 'AWS S3 Static wado secondary server' ,
name : 'aws' ,
2024-09-19 00:23:28 -04:00
wadoUriRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
qidoRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
wadoRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
2023-09-21 07:30:01 -04:00
qidoSupportsIncludeField : false ,
supportsReject : false ,
imageRendering : 'wadors' ,
thumbnailRendering : 'wadors' ,
enableStudyLazyLoad : true ,
supportsFuzzyMatching : false ,
supportsWildcard : true ,
staticWado : true ,
singlepart : 'bulkdata,video' ,
// whether the data source should use retrieveBulkData to grab metadata,
// and in case of relative path, what would it be relative to, options
// are in the series level or study level (some servers like series some study)
bulkDataURI : {
enabled : true ,
relativeResolution : 'studies' ,
2023-05-29 09:04:49 -04:00
},
2023-06-22 21:26:26 +02:00
omitQuotationForMultipartRequest : true ,
2019-04-29 13:29:37 -04:00
},
2020-02-20 18:25:26 -03:00
},
2024-06-17 22:36:03 -04:00
{
namespace : '@ohif/extension-default.dataSourcesModule.dicomweb' ,
sourceName : 'ohif3' ,
configuration : {
friendlyName : 'AWS S3 Static wado secondary server' ,
name : 'aws' ,
wadoUriRoot : 'https://d3t6nz73ql33tx.cloudfront.net/dicomweb' ,
qidoRoot : 'https://d3t6nz73ql33tx.cloudfront.net/dicomweb' ,
wadoRoot : 'https://d3t6nz73ql33tx.cloudfront.net/dicomweb' ,
qidoSupportsIncludeField : false ,
supportsReject : false ,
imageRendering : 'wadors' ,
thumbnailRendering : 'wadors' ,
enableStudyLazyLoad : true ,
supportsFuzzyMatching : false ,
supportsWildcard : true ,
staticWado : true ,
singlepart : 'bulkdata,video' ,
// whether the data source should use retrieveBulkData to grab metadata,
// and in case of relative path, what would it be relative to, options
// are in the series level or study level (some servers like series some study)
bulkDataURI : {
enabled : true ,
relativeResolution : 'studies' ,
},
omitQuotationForMultipartRequest : true ,
},
},
{
namespace : '@ohif/extension-default.dataSourcesModule.dicomweb' ,
sourceName : 'local5000' ,
configuration : {
friendlyName : 'Static WADO Local Data' ,
name : 'DCM4CHEE' ,
qidoRoot : 'http://localhost:5000/dicomweb' ,
wadoRoot : 'http://localhost:5000/dicomweb' ,
qidoSupportsIncludeField : false ,
supportsReject : true ,
supportsStow : true ,
imageRendering : 'wadors' ,
thumbnailRendering : 'wadors' ,
enableStudyLazyLoad : true ,
supportsFuzzyMatching : false ,
supportsWildcard : true ,
staticWado : true ,
singlepart : 'video' ,
bulkDataURI : {
enabled : true ,
relativeResolution : 'studies' ,
},
},
},
2025-01-09 22:07:30 -05:00
{
namespace : '@ohif/extension-default.dataSourcesModule.dicomweb' ,
sourceName : 'orthanc' ,
configuration : {
friendlyName : 'local Orthanc DICOMWeb Server' ,
name : 'DCM4CHEE' ,
wadoUriRoot : 'http://localhost/pacs/dicom-web' ,
qidoRoot : 'http://localhost/pacs/dicom-web' ,
wadoRoot : 'http://localhost/pacs/dicom-web' ,
qidoSupportsIncludeField : true ,
supportsReject : true ,
dicomUploadEnabled : true ,
imageRendering : 'wadors' ,
thumbnailRendering : 'wadors' ,
enableStudyLazyLoad : true ,
supportsFuzzyMatching : true ,
supportsWildcard : true ,
omitQuotationForMultipartRequest : true ,
bulkDataURI : {
enabled : true ,
// This is an example config that can be used to fix the retrieve URL
// where it has the wrong prefix (eg a canned prefix). It is better to
// just use the correct prefix out of the box, but that is sometimes hard
// when URLs go through several systems.
// Example URLS are:
// "BulkDataURI" : "http://localhost/dicom-web/studies/1.2.276.0.7230010.3.1.2.2344313775.14992.1458058363.6979/series/1.2.276.0.7230010.3.1.3.1901948703.36080.1484835349.617/instances/1.2.276.0.7230010.3.1.4.1901948703.36080.1484835349.618/bulk/00420011",
// when running on http://localhost:3003 with no server running on localhost. This can be corrected to:
// /orthanc/dicom-web/studies/1.2.276.0.7230010.3.1.2.2344313775.14992.1458058363.6979/series/1.2.276.0.7230010.3.1.3.1901948703.36080.1484835349.617/instances/1.2.276.0.7230010.3.1.4.1901948703.36080.1484835349.618/bulk/00420011
// which is a valid relative URL, and will result in using the http://localhost:3003/orthanc/.... path
// startsWith: 'http://localhost/',
// prefixWith: '/orthanc/',
},
},
},
2024-06-17 22:36:03 -04:00
2023-05-01 12:58:53 -04:00
{
namespace : '@ohif/extension-default.dataSourcesModule.dicomwebproxy' ,
sourceName : 'dicomwebproxy' ,
configuration : {
2023-07-20 11:43:05 -04:00
friendlyName : 'dicomweb delegating proxy' ,
2023-05-01 12:58:53 -04:00
name : 'dicomwebproxy' ,
},
},
2021-06-15 10:19:45 -04:00
{
2022-04-06 13:28:42 -04:00
namespace : '@ohif/extension-default.dataSourcesModule.dicomjson' ,
2021-06-15 10:19:45 -04:00
sourceName : 'dicomjson' ,
configuration : {
2023-07-20 11:43:05 -04:00
friendlyName : 'dicom json' ,
2021-06-15 10:19:45 -04:00
name : 'json' ,
},
},
{
2022-04-06 13:28:42 -04:00
namespace : '@ohif/extension-default.dataSourcesModule.dicomlocal' ,
2021-06-15 10:19:45 -04:00
sourceName : 'dicomlocal' ,
2023-07-20 11:43:05 -04:00
configuration : {
friendlyName : 'dicom local' ,
},
2021-06-15 10:19:45 -04:00
},
2019-06-08 21:23:00 -04:00
],
2021-06-24 12:30:38 -04:00
httpErrorHandler : error => {
// This is 429 when rejected from the public idc sandbox too often.
console . warn ( error . status );
// Could use services manager here to bring up a dialog/modal if needed.
console . warn ( 'test, navigate to https://ohif.org/' );
},
2025-07-29 23:30:18 -03:00
// segmentation: {
// segmentLabel: {
// enabledByDefault: true,
// labelColor: [255, 255, 0, 1], // must be an array
// hoverTimeout: 1,
// background: 'rgba(100, 100, 100, 0.5)', // can be any valid css color
// },
// },
2021-05-28 14:32:48 -04:00
// whiteLabeling: {
// createLogoComponentFn: function (React) {
// return React.createElement(
// 'a',
// {
// target: '_self',
// rel: 'noopener noreferrer',
// className: 'text-purple-600 line-through',
2025-04-09 16:49:55 -04:00
// href: '_X___IDC__LOGO__LINK___Y_',
2021-05-28 14:32:48 -04:00
// },
2025-04-09 16:49:55 -04:00
// React.createElement('img', {
// src: './Logo.svg',
// className: 'w-14 h-14',
// })
// );
2021-05-28 14:32:48 -04:00
// },
// },
2019-06-02 15:44:01 -04:00
};