* skeleton for dicom-microscopy extension * skeleton for microscopy mode * [feat] ported @radicalimaging/microscopy-dicom to OHIF's default extension * [feat] ported microscopy mode from private repo * added new definitions to the package.json * webpack configuration update for microscopy extension * register new icons for microscopy tools * fixes to the microscopy extension and mode * trivial error fix - typescript type import error * link microscopy extension with default OHIF app plugin config * demo config fix * fix logs * remove unsed imports * [fix] loading of microscopy * [fix] webworker script loading, normalizing denaturalized dataset * found the latest version of dicom-microscopy-viewer that works with current OHIF extension : 0.35.2 * hide thumbnail pane by default, as we have issues with * comments * remove unused code * [feat] microscopy - annotation selection * [feat] microscopy - edit annotation label * wip * [bugfix] dicom-microscopy tool * [bugfix] dicom microscopy annotations * [fix] mixed-content blocking caused by BulkDataURI * [fix] microscopy measurements panel - center button * [fix] microscopy measurements panel - styling * [fix] microscopy - controls * fix local loading of microscopy * fix local loading of dicom microscopy * fix typo - indexof to indexOf * [fix] remove unused icons * remove commented out lines from webpack configuration * platform/viewer/public/config/default.js - revert accidental changes * [refactor] redirecting to microscopy mode on Local mode * attribution to DMV and SLIM viewer * [fix] code review feedbacks * fix thumbnails * [fix] microscopy - fix old publisher.publish() to PubSubService._broadcastEvent() * [fix] interactions, webpack config, roi selection * [feat] microscopy - remove select tool from UI * microscopy author * [fix] saving and loading SR * [bugfix] - missing publish() function in MicroscopyService, replace with _broadcastEvent * remove author section from readme * refactor SR saving feature * fix webpack config after merge * [bugfix] repeated import * fix e2e * webpack configuration * hide "Create report" button for microscopy
39 lines
1.2 KiB
JavaScript
39 lines
1.2 KiB
JavaScript
/**
|
|
* Get referenced SM displaySet from SR displaySet
|
|
*
|
|
* @param {*} allDisplaySets
|
|
* @param {*} microscopySRDisplaySet
|
|
* @returns
|
|
*/
|
|
export default function getSourceDisplaySet(
|
|
allDisplaySets,
|
|
microscopySRDisplaySet
|
|
) {
|
|
const { ReferencedFrameOfReferenceUID } = microscopySRDisplaySet;
|
|
|
|
const otherDisplaySets = allDisplaySets.filter(
|
|
ds =>
|
|
ds.displaySetInstanceUID !== microscopySRDisplaySet.displaySetInstanceUID
|
|
);
|
|
const referencedDisplaySet = otherDisplaySets.find(
|
|
displaySet =>
|
|
displaySet.Modality === 'SM' &&
|
|
(displaySet.FrameOfReferenceUID === ReferencedFrameOfReferenceUID ||
|
|
// sometimes each depth instance has the different FrameOfReferenceID
|
|
displaySet.othersFrameOfReferenceUID.includes(
|
|
ReferencedFrameOfReferenceUID
|
|
))
|
|
);
|
|
|
|
if (!referencedDisplaySet && otherDisplaySets.length >= 1) {
|
|
console.warn(
|
|
'No display set with FrameOfReferenceUID',
|
|
ReferencedFrameOfReferenceUID,
|
|
'single series, assuming data error, defaulting to only series.'
|
|
);
|
|
return otherDisplaySets.find(displaySet => displaySet.Modality === 'SM');
|
|
}
|
|
|
|
return referencedDisplaySet;
|
|
}
|