Fixes for display sets, prep for tracking / grid stuff
This commit is contained in:
parent
d131489aa3
commit
0c74a9bbcd
@ -3,26 +3,40 @@ import { StudyBrowser } from '@ohif/ui';
|
||||
|
||||
import { useViewModel, displaySetManager } from '@ohif/core';
|
||||
|
||||
function displaySetsToStudyPanelInfo(displaySets) {
|
||||
function displaySetsToStudyPanelInfo(
|
||||
displaySets,
|
||||
viewportData = [],
|
||||
seriesTracking = {}
|
||||
) {
|
||||
console.log(displaySets);
|
||||
|
||||
const studies = {};
|
||||
displaySets.forEach(displaySet => {
|
||||
// TODO
|
||||
displaySet.componentType = 'thumbnailTracked';
|
||||
displaySet.viewportIdentificator = 'A';
|
||||
displaySet.isTracked = true;
|
||||
displaySet.seriesNumber = displaySet.SeriesNumber;
|
||||
displaySet.numInstances = displaySet.numImageFrames;
|
||||
displaySet.description = displaySet.SeriesDescription;
|
||||
const displaySetViewportData = viewportData.find(
|
||||
a => a.displaySetInstanceUid === displaySet.displaySetInstanceUid
|
||||
);
|
||||
|
||||
if (displaySetViewportData) {
|
||||
displaySet.viewportIdentificator = displaySetViewportData.identifier;
|
||||
}
|
||||
|
||||
const trackingInfo = seriesTracking[displaySet.SeriesInstanceUID];
|
||||
if (trackingInfo) {
|
||||
displaySet.viewportIdentificator = trackingInfo.isTracked;
|
||||
|
||||
displaySet.componentType = trackingInfo.isTracked
|
||||
? 'thumbnailTracked'
|
||||
: 'thumbnail';
|
||||
}
|
||||
|
||||
if (!Object.keys(studies).includes(displaySet.StudyInstanceUID)) {
|
||||
studies[displaySet.StudyInstanceUID] = {
|
||||
date: displaySet.StudyDate,
|
||||
description: 'TEST',
|
||||
modalities: 'TEST---TEST',
|
||||
date: '01-Jan-1999',
|
||||
date: displaySet.SeriesDate,
|
||||
description: displaySet.SeriesDescription,
|
||||
seriesNumber: displaySet.SeriesNumber,
|
||||
modalities: displaySet.modalities,
|
||||
displaySets: [],
|
||||
numInstances: 0,
|
||||
};
|
||||
}
|
||||
|
||||
@ -92,6 +106,10 @@ function displaySetsToStudyPanelInfo(displaySets) {
|
||||
function StudyBrowserPanel({}) {
|
||||
const viewModel = useViewModel();
|
||||
|
||||
// TODO
|
||||
const viewportData = []; //useViewportGrid();
|
||||
const seriesTracking = {}; //useSeriesTracking();
|
||||
|
||||
console.log(viewModel);
|
||||
|
||||
const displaySets = viewModel.displaySetInstanceUids.map(
|
||||
@ -101,7 +119,11 @@ function StudyBrowserPanel({}) {
|
||||
let tabs;
|
||||
|
||||
if (displaySets.length) {
|
||||
tabs = displaySetsToStudyPanelInfo(displaySets);
|
||||
tabs = displaySetsToStudyPanelInfo(
|
||||
displaySets,
|
||||
viewportData,
|
||||
seriesTracking
|
||||
);
|
||||
} else {
|
||||
tabs = [
|
||||
{
|
||||
|
||||
@ -13,16 +13,24 @@ const makeDisplaySet = instances => {
|
||||
const instance = instances[0];
|
||||
const imageSet = new ImageSet(instances);
|
||||
|
||||
const modalities = new Set();
|
||||
instances.forEach(i => {
|
||||
modalities.add(i.Modality);
|
||||
});
|
||||
|
||||
const modalitiesInDisplaySet = Array.from(modalities).join(', ');
|
||||
|
||||
// set appropriate attributes to image set...
|
||||
imageSet.setAttributes({
|
||||
displaySetInstanceUid: imageSet.uid, // create a local alias for the imageSet UID
|
||||
SeriesDate: instance.SeriesDate,
|
||||
SeriesTime: instance.SeriesTime,
|
||||
SeriesInstanceUid: instance.SeriesInstanceUID,
|
||||
SeriesInstanceUID: instance.SeriesInstanceUID,
|
||||
StudyInstanceUID: instance.StudyInstanceUID,
|
||||
SeriesNumber: instance.SeriesNumber,
|
||||
SeriesDescription: instance.SeriesDescription,
|
||||
FrameRate: instance.FrameTime,
|
||||
Modality: instance.Modality,
|
||||
SeriesDescription: instance.SeriesDescription,
|
||||
modalities: modalitiesInDisplaySet,
|
||||
isMultiFrame: isMultiFrame(instance),
|
||||
numImageFrames: instances.length,
|
||||
SOPClassHandlerId: `${id}.sopClassHandlerModule.${sopClassHandlerName}`,
|
||||
@ -109,8 +117,6 @@ function getDisplaySetsFromSeries(instances) {
|
||||
displaySet.setAttributes({
|
||||
sopClassUids,
|
||||
isClip: true,
|
||||
seriesInstanceUid: instance.SeriesInstanceUID,
|
||||
studyInstanceUid: instance.StudyInstanceUID,
|
||||
numImageFrames: instance.NumberOfFrames,
|
||||
instanceNumber: instance.InstanceNumber,
|
||||
acquisitionDatetime: instance.AcquisitionDateTime,
|
||||
@ -120,8 +126,6 @@ function getDisplaySetsFromSeries(instances) {
|
||||
displaySet = makeDisplaySet([instance]);
|
||||
displaySet.setAttributes({
|
||||
sopClassUids,
|
||||
studyInstanceUid: instance.StudyInstanceUID,
|
||||
seriesInstanceUid: instance.SeriesInstanceUID,
|
||||
instanceNumber: instance.InstanceNumber,
|
||||
acquisitionDatetime: instance.AcquisitionDateTime,
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user