diff --git a/Packages/ohif-servers/both/schema/servers.js b/Packages/ohif-servers/both/schema/servers.js index 5a0a224e0..93e87d3e2 100644 --- a/Packages/ohif-servers/both/schema/servers.js +++ b/Packages/ohif-servers/both/schema/servers.js @@ -180,6 +180,11 @@ export const UISettings = new SimpleSchema({ type: Boolean, label: 'Define if the series\' images shall be sorted by incoming order. Sort by Instance Number by default.', defaultValue: false + }, + useMiddleSeriesInstanceAsThumbnail: { + type: Boolean, + label: 'Define if the middle instance of a series will be used as thumbnail. If not, the first instance will be used.', + defaultValue: true } }); diff --git a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js index bf658f017..d59c1c38a 100644 --- a/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js +++ b/Packages/ohif-viewerbase/client/components/studyBrowser/imageThumbnail/imageThumbnail.js @@ -1,3 +1,4 @@ +import { Meteor } from 'meteor/meteor'; import { Template } from 'meteor/templating'; import { Tracker } from 'meteor/tracker'; import { Session } from 'meteor/session'; @@ -8,16 +9,18 @@ Template.imageThumbnail.onCreated(() => { // Get the image ID for current thumbnail instance.getThumbnailImageId = () => { + const settingPath = 'public.ui.useMiddleSeriesInstanceAsThumbnail'; + const useMiddleFrame = OHIF.utils.ObjectPath.get(Meteor.settings, settingPath); const stack = instance.data.thumbnail.stack; const lastIndex = (stack.numImageFrames || stack.images.length || 1) - 1; - let imageIndex = Math.floor(lastIndex / 2); + let imageIndex = useMiddleFrame ? Math.floor(lastIndex / 2) : 0; let imageInstance; if (stack.isMultiFrame) { imageInstance = stack.images[0]; } else { imageInstance = stack.images[imageIndex]; - imageIndex = 0; + imageIndex = undefined; } return imageInstance.getImageId(imageIndex, true);