pixelbridge-orthanc/config/ohif/ohif.js
2025-01-27 11:16:53 +06:00

236 lines
6.4 KiB
JavaScript

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"],
},
],
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",
};