/** @type {AppTypes.Config} */ window.config = { name: 'config/kheops.js', routerBasename: '/', extensions: [], modes: [], customizationService: {}, showStudyList: true, // some windows systems have issues with more than 3 web workers maxNumberOfWebWorkers: 3, // below flag is for performance reasons, but it might not work for all servers showWarningMessageForCrossOrigin: true, showCPUFallbackMessage: true, showLoadingIndicator: true, experimentalStudyBrowserSort: false, strictZSpacingForVolumeViewport: true, groupEnabledModesFirst: true, maxNumRequests: { interaction: 100, thumbnail: 75, // 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, }, // filterQueryParam: false, // Uses the ohif datasource as the default - this requires that KHEOPS be // configured with an OHIF path to .../viewer/dicomwebproxy defaultDataSourceName: 'ohif3', /* 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: /.*/, // }, dataSources: [ { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'dicomweb', configuration: { friendlyName: 'AWS S3 Static wado server', name: 'aws', wadoUriRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', qidoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', wadoRoot: 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb', qidoSupportsIncludeField: 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', transform: url => url.replace('/pixeldata.mp4', '/rendered'), }, omitQuotationForMultipartRequest: true, }, }, { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'ohif2', configuration: { friendlyName: 'AWS S3 Static wado secondary server', name: 'aws', wadoUriRoot: 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb', qidoRoot: 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb', wadoRoot: 'https://dd14fa38qiwhyfd.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: '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', }, }, }, { namespace: '@ohif/extension-default.dataSourcesModule.dicomwebproxy', sourceName: 'dicomwebproxy', configuration: { friendlyName: 'dicomweb delegating proxy', name: 'dicomwebproxy', }, }, { namespace: '@ohif/extension-default.dataSourcesModule.dicomjson', sourceName: 'dicomjson', configuration: { friendlyName: 'dicom json', name: 'json', }, }, { namespace: '@ohif/extension-default.dataSourcesModule.dicomlocal', sourceName: 'dicomlocal', configuration: { friendlyName: 'dicom local', }, }, ], 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/'); }, // whiteLabeling: { // /* Optional: Should return a React component to be rendered in the "Logo" section of the application's Top Navigation bar */ // createLogoComponentFn: function (React) { // return React.createElement( // 'a', // { // target: '_self', // rel: 'noopener noreferrer', // className: 'text-purple-600 line-through', // href: '/', // }, // React.createElement('img', // { // src: './assets/customLogo.svg', // className: 'w-8 h-8', // } // )) // }, // }, };