2024-09-05 15:15:48 +02:00
/** @type {AppTypes.Config} */
window . config = {
2025-01-02 20:46:53 +01:00
name : 'config/kheops.js' ,
2025-03-27 21:47:16 +01:00
routerBasename : null ,
2024-09-05 15:15:48 +02:00
extensions : [ ] ,
2025-03-20 14:22:45 +01:00
modes : [ '@ohif/mode-test' ] ,
2024-09-05 15:15:48 +02:00
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,
2025-01-02 20:46:53 +01:00
// Uses the ohif datasource as the default - this requires that KHEOPS be
// configured with an OHIF path to .../viewer/dicomwebproxy
2025-03-20 14:22:45 +01:00
defaultDataSourceName : 'dicomweb' ,
2024-09-05 15:15:48 +02:00
/* 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' ,
2024-09-19 06:23:28 +02:00
wadoUriRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
qidoRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
wadoRoot : 'https://d14fa38qiwhyfd.cloudfront.net/dicomweb' ,
2024-09-05 15:15:48 +02:00
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' ,
2024-09-19 06:23:28 +02:00
wadoUriRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
qidoRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
wadoRoot : 'https://dd14fa38qiwhyfd.cloudfront.net/dicomweb' ,
2024-09-05 15:15:48 +02: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' ,
} ,
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' ,
2025-05-08 18:44:56 +02:00
thumbnailRendering : 'thumbnail' ,
2024-09-05 15:15:48 +02:00
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',
// }
// ))
// },
// },
} ;