Co-authored-by: Alireza <ar.sedghi@gmail.com> Co-authored-by: Neil <neil.a.macphee@gmail.com>
71 lines
1.6 KiB
TypeScript
71 lines
1.6 KiB
TypeScript
import React from 'react';
|
|
import { PanelPetSUV, PanelROIThresholdExport } from './Panels';
|
|
import { Toolbox } from '@ohif/ui';
|
|
|
|
// TODO:
|
|
// - No loading UI exists yet
|
|
// - cancel promises when component is destroyed
|
|
// - show errors in UI for thumbnails if promise fails
|
|
|
|
function getPanelModule({ commandsManager, extensionManager, servicesManager }) {
|
|
const wrappedPanelPetSuv = () => {
|
|
return (
|
|
<PanelPetSUV
|
|
commandsManager={commandsManager}
|
|
servicesManager={servicesManager}
|
|
/>
|
|
);
|
|
};
|
|
|
|
const wrappedROIThresholdToolbox = () => {
|
|
return (
|
|
<>
|
|
<Toolbox
|
|
commandsManager={commandsManager}
|
|
servicesManager={servicesManager}
|
|
extensionManager={extensionManager}
|
|
buttonSectionId="ROIThresholdToolbox"
|
|
title="Threshold Tools"
|
|
/>
|
|
</>
|
|
);
|
|
};
|
|
|
|
const wrappedROIThresholdExport = () => {
|
|
return (
|
|
<>
|
|
<PanelROIThresholdExport
|
|
commandsManager={commandsManager}
|
|
servicesManager={servicesManager}
|
|
/>
|
|
</>
|
|
);
|
|
};
|
|
|
|
return [
|
|
{
|
|
name: 'petSUV',
|
|
iconName: 'tab-patient-info',
|
|
iconLabel: 'Patient Info',
|
|
label: 'Patient Info',
|
|
component: wrappedPanelPetSuv,
|
|
},
|
|
{
|
|
name: 'tmtvBox',
|
|
iconName: 'tab-segmentation',
|
|
iconLabel: 'Segmentation',
|
|
label: 'Segmentation Toolbox',
|
|
component: wrappedROIThresholdToolbox,
|
|
},
|
|
{
|
|
name: 'tmtvExport',
|
|
iconName: 'tab-segmentation',
|
|
iconLabel: 'Segmentation',
|
|
label: 'Segmentation Export',
|
|
component: wrappedROIThresholdExport,
|
|
},
|
|
];
|
|
}
|
|
|
|
export default getPanelModule;
|