257 lines
7.0 KiB
JavaScript
257 lines
7.0 KiB
JavaScript
/**
|
|
* SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium,
|
|
* and 2018-2024 Open Health Imaging Foundation
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
window.config = {
|
|
extensions: [],
|
|
modes: [],
|
|
customizationService: {
|
|
// Shows a custom route -access via http://localhost:3000/custom
|
|
// helloPage: '@ohif/extension-default.customizationModule.helloPage',
|
|
},
|
|
|
|
showStudyList: 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,
|
|
},
|
|
// filterQueryParam: false,
|
|
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'],
|
|
},
|
|
],
|
|
};
|
|
|
|
/**
|
|
* SPDX-FileCopyrightText: 2023-2024 Sebastien Jodogne, UCLouvain, Belgium,
|
|
* and 2018-2024 Open Health Imaging Foundation
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
|
|
window.config.routerBasename = '/ohif/';
|
|
|
|
if (true) {
|
|
window.config.dataSources = [
|
|
{
|
|
friendlyName: 'Orthanc 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=*']
|
|
}
|
|
}
|
|
];
|
|
|
|
window.config.defaultDataSourceName = 'dicomweb';
|
|
|
|
} else {
|
|
window.config.showStudyList = false;
|
|
window.config.dataSources = [
|
|
{
|
|
friendlyName: 'Orthanc DICOM JSON',
|
|
namespace: '@ohif/extension-default.dataSourcesModule.dicomjson',
|
|
sourceName: 'dicomjson',
|
|
configuration: {
|
|
name: 'json',
|
|
},
|
|
}
|
|
];
|
|
|
|
window.config.defaultDataSourceName = 'dicomjson';
|
|
}
|