// This is example code that dynamically sets the initial search conditions to // search for today if (window.location.search === '?today') { const now = new Date(); const month = now.getMonth() + 1; const day = now.getDate(); window.sessionStorage.setItem( 'queryFilterValues', JSON.stringify({ studyDate: { startDate: `${now.getFullYear()}${month < 10 ? '0' + month : month}${day < 10 ? '0' + day : day}`, endDate: null, }, }) ); } /** @type {AppTypes.Config} */ window.config = { routerBasename: '/', extensions: [], modes: ['@ohif/mode-test'], showStudyList: true, // below flag is for performance reasons, but it might not work for all servers maxNumberOfWebWorkers: 3, showWarningMessageForCrossOrigin: false, showCPUFallbackMessage: false, strictZSpacingForVolumeViewport: true, // filterQueryParam: false, // Add some customizations to the default e2e datasource customizationService: [ '@ohif/extension-default.customizationModule.datasources', '@ohif/extension-default.customizationModule.helloPage', ], defaultDataSourceName: 'e2e', investigationalUseDialog: { option: 'never', }, // 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', }, ], }, ], dataSources: [ { namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'e2e', configuration: { friendlyName: 'StaticWado test data', // The most important field to set for static WADO staticWado: true, name: 'StaticWADO', wadoUriRoot: '/viewer-testdata', qidoRoot: '/viewer-testdata', wadoRoot: '/viewer-testdata', qidoSupportsIncludeField: false, imageRendering: 'wadors', thumbnailRendering: 'wadors', enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, singlepart: 'video,thumbnail,pdf', omitQuotationForMultipartRequest: true, bulkDataURI: { enabled: true, relativeResolution: 'studies', transform: url => url.replace('/pixeldata.mp4', '/index.mp4'), }, }, }, { 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: 'docker', configuration: { friendlyName: 'Static WADO Docker Data', name: 'DCM4CHEE', qidoRoot: 'http://localhost:25080/dicomweb', wadoRoot: 'http://localhost:25080/dicomweb', qidoSupportsIncludeField: false, supportsReject: true, supportsStow: true, imageRendering: 'wadors', thumbnailRendering: 'wadors', enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, staticWado: true, singlepart: 'bulkdata,video,pdf', bulkDataURI: { enabled: true, relativeResolution: 'studies', }, }, }, { 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: 'wadors', enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, staticWado: true, singlepart: 'video,pdf', bulkDataURI: { enabled: true, relativeResolution: 'studies', transform: url => url.replace('/pixeldata.mp4', '/rendered'), }, }, }, { 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, }, }, { friendlyName: 'StaticWado default data', namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', sourceName: 'dicomweb', configuration: { name: 'DCM4CHEE', wadoUriRoot: '/dicomweb', qidoRoot: '/dicomweb', wadoRoot: '/dicomweb', qidoSupportsIncludeField: false, supportsReject: false, imageRendering: 'wadors', thumbnailRendering: 'wadors', enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, staticWado: true, 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, // 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/', }, }, }, { 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/'); }, hotkeys: [], };