Allowing display sets to be sorted by incoming order
This commit is contained in:
1 parent
9e0a9c35da
commit
66c8db697f
2 files changed
+15
-5
No files matched your search
@@ -175,6 +175,11 @@ export const UISettings = new SimpleSchema({
|
|||||||
type: String,
|
type: String,
|
||||||
label: 'Cornerstone default image renderer',
|
label: 'Cornerstone default image renderer',
|
||||||
defaultValue: 'webgl'
|
defaultValue: 'webgl'
|
||||||
|
},
|
||||||
|
sortSeriesByIncomingOrder: {
|
||||||
|
type: Boolean,
|
||||||
|
label: 'Define if the series\' images shall be sorted by incoming order. Sort by Instance Number by default.',
|
||||||
|
defaultValue: false
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
|
import { Meteor } from 'meteor/meteor';
|
||||||
import { ImageSet } from './classes/ImageSet';
|
import { ImageSet } from './classes/ImageSet';
|
||||||
import { isImage } from './isImage';
|
import { isImage } from './isImage';
|
||||||
|
import { OHIF } from 'meteor/ohif:core';
|
||||||
|
|
||||||
const isMultiFrame = instance => {
|
const isMultiFrame = instance => {
|
||||||
// NumberOfFrames (0028,0008)
|
// NumberOfFrames (0028,0008)
|
||||||
@@ -26,11 +28,14 @@ const makeDisplaySet = (series, instances) => {
|
|||||||
isMultiFrame: isMultiFrame(instance)
|
isMultiFrame: isMultiFrame(instance)
|
||||||
});
|
});
|
||||||
|
|
||||||
// Sort the images in this series
|
// Sort the images in this series if needed
|
||||||
imageSet.sortBy((a, b) => {
|
const shallSort = !OHIF.utils.ObjectPath.get(Meteor, 'settings.public.ui.sortSeriesByIncomingOrder');
|
||||||
// Sort by InstanceNumber (0020,0013)
|
if (shallSort) {
|
||||||
return (parseInt(a.getRawValue('x00200013', 0)) || 0) - (parseInt(b.getRawValue('x00200013', 0)) || 0);
|
imageSet.sortBy((a, b) => {
|
||||||
});
|
// Sort by InstanceNumber (0020,0013)
|
||||||
|
return (parseInt(a.getRawValue('x00200013', 0)) || 0) - (parseInt(b.getRawValue('x00200013', 0)) || 0);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
// Include the first image instance number (after sorted)
|
// Include the first image instance number (after sorted)
|
||||||
imageSet.setAttribute('instanceNumber', imageSet.getImage(0).getRawValue('x00200013'));
|
imageSet.setAttribute('instanceNumber', imageSet.getImage(0).getRawValue('x00200013'));
|
||||||
|
|||||||
Reference in new issue
Block a user