window.config = { extensions: [], modes: [], customizationService: { // Shows a custom route -access via http://localhost:3000/custom // helloPage: '@ohif/extension-default.customizationModule.helloPage', }, showStudyList: false, studyListFunctionsEnabled: false, filterQueryParam: false, investigationalUseDialog: { option: "never", }, whiteLabeling: { /* Used to replace the default Logo */ createLogoComponentFn: function (React) { return React.createElement("a", { target: "_self", rel: "noopener noreferrer", className: "header-brand", href: "/", style: { display: "block", background: "url(logo.png)", backgroundSize: "contain", backgroundRepeat: "no-repeat", width: "200px", }, }); }, }, customizationService: { cornerstoneOverlayTopLeft: { id: "cornerstoneOverlayTopLeft", items: [ { id: "WindowLevel", customizationType: "ohif.overlayItem.windowLevel", }, { id: "PatientName", customizationType: "ohif.overlayItem", label: "Pt:", color: "white", condition: ({ instance }) => instance && instance.PatientName && instance.PatientName.Alphabetic, contentF: ({ instance, formatters: { formatPN } }) => { if ( instance && instance.PatientName && instance.PatientName.Alphabetic ) { return ( formatPN(instance.PatientName.Alphabetic) + " " + (instance.PatientSex ? "(" + instance.PatientSex + ")" : "") ); } else { return "N/A"; } }, }, { id: "PatientAge", customizationType: "ohif.overlayItem", label: "Age:", color: "white", title: "Patient's Age", condition: ({ instance }) => instance && instance.PatientAge, contentF: ({ instance }) => instance.PatientAge, }, { id: "ID", customizationType: "ohif.overlayItem", label: "ID:", color: "white", title: "Patient PID", condition: ({ instance }) => instance && instance.PatientID, contentF: ({ instance }) => instance.PatientID, }, ], }, }, // 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 omitQuotationForMultipartRequest: true, showWarningMessageForCrossOrigin: true, showCPUFallbackMessage: true, showLoadingIndicator: true, strictZSpacingForVolumeViewport: 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, }, httpErrorHandler: (error) => { // This is 429 when rejected from the public idc sandbox too often. if (error.status) { console.warn(error.status); } else { console.warn(error); } }, 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"], }, ], routerBasename: "/ohif/", dataSources: [ { friendlyName: "BlackFish DICOMweb", namespace: "@ohif/extension-default.dataSourcesModule.dicomweb", sourceName: "dicomweb", configuration: { name: "orthanc", wadoUriRoot: "../dicom-web", qidoRoot: "../dicom-web", wadoRoot: "../dicom-web", qidoSupportsIncludeField: false, supportsReject: false, imageRendering: "wadors", thumbnailRendering: "wadors", enableStudyLazyLoad: true, supportsFuzzyMatching: false, supportsWildcard: true, staticWado: true, singlepart: "bulkdata,pdf,video", acceptHeader: [ "multipart/related; type=application/octet-stream; transfer-syntax=*", ], }, }, ], defaultDataSourceName: "dicomweb", };