Created
January 26, 2025 15:51
-
-
Save fedorov/61299b43f4cc2c4908cc7c7ffb53ddf7 to your computer and use it in GitHub Desktop.
project 031
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
window.config = { | |
routerBasename: '/', | |
whiteLabeling: { | |
createLogoComponentFn: function (React) { | |
return React.createElement( | |
'a', | |
{ | |
target: '_self', | |
rel: 'noopener noreferrer', | |
className: 'text-purple-600 line-through', | |
href: '/', | |
}, | |
React.createElement('img', { | |
src: '/assets/idc.svg', | |
className: 'w-14 h-14', | |
}) | |
); | |
}, | |
}, | |
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, | |
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, | |
defaultDataSourceName: 'idc-dicomweb', | |
/* 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: /.*/, | |
// }, | |
oidc: [ | |
{ | |
authority: 'https://accounts.google.com', | |
client_id: '293449031882-k4um45hl4g94fsgbnviel0lh38836i9v.apps.googleusercontent.com', | |
redirect_uri: '/callback', | |
response_type: 'id_token token', | |
scope: | |
'email profile openid https://www.googleapis.com/auth/cloudplatformprojects.readonly https://www.googleapis.com/auth/cloud-healthcare', | |
post_logout_redirect_uri: '/logout-redirect.html', | |
revoke_uri: 'https://accounts.google.com/o/oauth2/revoke?token=', | |
automaticSilentRenew: true, | |
revokeAccessTokenOnSignout: true, | |
}, | |
], | |
dataSources: [ | |
{ | |
friendlyName: 'dcmjs DICOMWeb Server', | |
namespace: '@ohif/extension-default.dataSourcesModule.dicomweb', | |
sourceName: 'idc-dicomweb', | |
configuration: { | |
name: 'idc-dicomweb', | |
wadoUriRoot: | |
'https://proxy.imaging.datacommons.cancer.gov/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
qidoRoot: | |
'https://proxy.imaging.datacommons.cancer.gov/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
wadoRoot: | |
'https://proxy.imaging.datacommons.cancer.gov/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
wadoUriRoot: | |
'https://testing-proxy.canceridc.dev/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
qidoRoot: | |
'https://testing-proxy.canceridc.dev/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
wadoRoot: | |
'https://testing-proxy.canceridc.dev/current/viewer-only-no-downloads-see-tinyurl-dot-com-slash-3j3d9jyp/dicomWeb', | |
qidoSupportsIncludeField: false, | |
supportsReject: false, | |
imageRendering: 'wadors', | |
thumbnailRendering: 'wadors', | |
enableStudyLazyLoad: true, | |
supportsFuzzyMatching: false, | |
supportsWildcard: false, | |
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.dicomwebproxy', | |
sourceName: 'dicomwebproxy', | |
configuration: { | |
friendlyName: 'dicomweb delegating proxy', | |
name: 'dicomwebproxy', | |
}, | |
}, | |
], | |
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: [ | |
{ | |
commandName: 'incrementActiveViewport', | |
label: 'Next Viewport', | |
keys: ['right'], | |
}, | |
{ | |
commandName: 'decrementActiveViewport', | |
label: 'Previous Viewport', | |
keys: ['left'], | |
}, | |
{ commandName: 'rotateViewportCW', label: 'Rotate Right', keys: ['r'] }, | |
{ commandName: 'rotateViewportCCW', label: 'Rotate Left', keys: ['l'] }, | |
{ commandName: 'invertViewport', label: 'Invert', keys: ['i'] }, | |
{ | |
commandName: 'flipViewportHorizontal', | |
label: 'Flip Horizontally', | |
keys: ['h'], | |
}, | |
{ | |
commandName: 'flipViewportVertical', | |
label: 'Flip Vertically', | |
keys: ['v'], | |
}, | |
{ commandName: 'scaleUpViewport', label: 'Zoom In', keys: ['+'] }, | |
{ commandName: 'scaleDownViewport', label: 'Zoom Out', keys: ['-'] }, | |
{ commandName: 'fitViewportToWindow', label: 'Zoom to Fit', keys: ['='] }, | |
{ commandName: 'resetViewport', label: 'Reset', keys: ['space'] }, | |
{ commandName: 'nextImage', label: 'Next Image', keys: ['down'] }, | |
{ commandName: 'previousImage', label: 'Previous Image', keys: ['up'] }, | |
// { | |
// commandName: 'previousViewportDisplaySet', | |
// label: 'Previous Series', | |
// keys: ['pagedown'], | |
// }, | |
// { | |
// commandName: 'nextViewportDisplaySet', | |
// label: 'Next Series', | |
// keys: ['pageup'], | |
// }, | |
{ | |
commandName: 'setToolActive', | |
commandOptions: { toolName: 'Zoom' }, | |
label: 'Zoom', | |
keys: ['z'], | |
}, | |
// ~ Window level presets | |
{ | |
commandName: 'windowLevelPreset1', | |
label: 'W/L Preset 1', | |
keys: ['1'], | |
}, | |
{ | |
commandName: 'windowLevelPreset2', | |
label: 'W/L Preset 2', | |
keys: ['2'], | |
}, | |
{ | |
commandName: 'windowLevelPreset3', | |
label: 'W/L Preset 3', | |
keys: ['3'], | |
}, | |
{ | |
commandName: 'windowLevelPreset4', | |
label: 'W/L Preset 4', | |
keys: ['4'], | |
}, | |
{ | |
commandName: 'windowLevelPreset5', | |
label: 'W/L Preset 5', | |
keys: ['5'], | |
}, | |
{ | |
commandName: 'windowLevelPreset6', | |
label: 'W/L Preset 6', | |
keys: ['6'], | |
}, | |
{ | |
commandName: 'windowLevelPreset7', | |
label: 'W/L Preset 7', | |
keys: ['7'], | |
}, | |
{ | |
commandName: 'windowLevelPreset8', | |
label: 'W/L Preset 8', | |
keys: ['8'], | |
}, | |
{ | |
commandName: 'windowLevelPreset9', | |
label: 'W/L Preset 9', | |
keys: ['9'], | |
}, | |
], | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment