/** @type {AppTypes.Config} */ // Local development configuration. // // This is the default config for the dev server (`pnpm run dev`, `dev:fast`, // `start`). Like config/netlify.js it is full-featured — every data source is // enabled and the `?customization=` URL feature is ON via // `customizationUrlPrefixes` — so the whole app can be exercised locally. The // locked-down config/default.js is what a plain production build emits instead. window.config = { name: 'config/dev.js', routerBasename: null, // whiteLabeling: {}, extensions: [], modes: [], customizationService: {}, // URL-driven customizations (?customization=). The `default` prefix (no // slashes) is used for values without a leading slash; every other prefix // must start AND end with a slash and matches the leading `/segment/` of the // value. Files are fetched and parsed as JSONC data — never executed. // e.g. ?customization=ctPresets -> ./customizations/ctPresets.jsonc customizationUrlPrefixes: { default: './customizations/', }, 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, allowMultiSelectExport: false, maxNumRequests: { interaction: 100, thumbnail: 5, // 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, }, showErrorDetails: 'always', // 'always', 'dev', 'production' // filterQueryParam: false, // 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', }, ], }, ], defaultDataSourceName: 'ohif', /* 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: /.*/, // }, dataSources: [ { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'ohif', 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: 'thumbnail', thumbnailRequestStrategy: 'fetch', enableStudyLazyLoad: true, supportsFuzzyMatching: true, supportsWildcard: true, staticWado: true, singlepart: 'bulkdata,video', 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', 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', 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.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, }, }, }, { 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/'); }, };