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