OHIF-27: PlayClipController

This commit is contained in:
Leonardo Campos committed 2017-05-03 22:30:32 -03:00
1 parent ec333118d3
commit 72c08147d4
9 files changed
+489 -68

No files matched your search

@@ -118,7 +118,7 @@ Template.imageThumbnail.helpers({
const instance = Template.instance();
const stack = instance.data.thumbnail.stack;
const displaySetInstanceUid = stack.displaySetInstanceUid;
const progress = Session.get('DisplaySetProgress:' + displaySetInstanceUid);
const progress = Session.get('StackProgress:' + displaySetInstanceUid);
const percentComplete = progress && progress.percentComplete;
return percentComplete;
@@ -274,6 +274,7 @@ Template.cineDialog.events({
Template.cineDialog.helpers({
isPlaying() {
Session.get('UpdateCINE');
return viewportUtils.isPlaying();
},
@@ -14,6 +14,7 @@ import { updateCrosshairsSynchronizer } from '../../../lib/updateCrosshairsSynch
import { toolManager } from '../../../lib/toolManager';
import { updateOrientationMarkers } from '../../../lib/updateOrientationMarkers';
import { getInstanceClassDefaultViewport } from '../../../lib/instanceClassSpecificViewport';
import { PlayClipManager } from '../../../lib/classes/PlayClipManager';
import { OHIFError } from '../../../lib/classes/OHIFError';
const allCornerstoneEvents = 'CornerstoneToolsMouseDown CornerstoneToolsMouseDownActivate ' +
@@ -259,9 +260,12 @@ const loadDisplaySetIntoViewport = (data, templateData) => {
cornerstoneTools.addToolState(element, 'playClip', cineToolData);
const playClipManager = PlayClipManager.getInstance();
const playClipController = playClipManager.add(element, displaySet);
// Autoplay datasets that have framerates set
if (multiframeMetadata && multiframeMetadata.isMultiframeImage && multiframeMetadata.averageFrameRate > 0) {
cornerstoneTools.playClip(element);
playClipController.play();
}
// Enable mouse, mouseWheel, touch, and keyboard input on the element
@@ -587,6 +591,9 @@ Template.imageViewerViewport.onDestroyed(function() {
// for compatibility with other systems
$element.trigger('OHIFDestroyedViewport');
// Disable the PlayClipController for the current element
PlayClipManager.getInstance().remove(element);
// Disable the viewport element with Cornerstone
// This also triggers the removal of the element from all available
// synchronizers, such as the one used for reference lines.
@@ -9,6 +9,8 @@ import { hotkeyUtils } from '../../../lib/hotkeyUtils';
import { ResizeViewportManager } from '../../../lib/classes/ResizeViewportManager';
import { LayoutManager } from '../../../lib/classes/LayoutManager';
import { StudyPrefetcher } from '../../../lib/classes/StudyPrefetcher';
import { StudyLoadingListener } from '../../../lib/classes/StudyLoadingListener';
import { PlayClipManager } from '../../../lib/classes/PlayClipManager';
Meteor.startup(() => {
window.ResizeViewportManager = window.ResizeViewportManager || new ResizeViewportManager();
@@ -36,9 +38,13 @@ Template.viewerMain.onRendered(() => {
const { studies } = instance.data;
const parentElement = instance.$('#layoutManagerTarget').get(0);
const studyPrefetcher = StudyPrefetcher.getInstance();
const studyLoadingListener = StudyLoadingListener.getInstance();
OHIF.viewerbase.studyLoadingListener.clear();
OHIF.viewerbase.studyLoadingListener.addStudies(studies);
studyLoadingListener.clear();
studyLoadingListener.addStudies(studies);
// Remove all PlayClipControllers from PlayClipManager
PlayClipManager.getInstance().clear();
OHIF.viewerbase.layoutManager = new LayoutManager(parentElement, studies);
studyPrefetcher.setStudies(studies);