code: function _animate(handle, runAnimation, enabledElement, targetLocation) {
    if (!runAnimation.value) {
      return;
    }
  
    // Pixels / second
    const distanceRemaining = Math.abs(handle.y - targetLocation.y);
    const linearDistEachFrame = distanceRemaining / 10;
  
    if (distanceRemaining < 1) {
      handle.y = targetLocation.y;
      runAnimation.value = false;
  
      return;
    }
  
    if (handle.y > targetLocation.y) {
      handle.y -= linearDistEachFrame;
    } else if (handle.y < targetLocation.y) {
      handle.y += linearDistEachFrame;
    }
  
    // Update the image
    external.cornerstone.updateImage(enabledElement.element);
  
    // Request a new frame
    external.cornerstone.requestAnimationFrame(function() {
      _animate(handle, runAnimation, enabledElement, targetLocation);
    });
  }
docs: Animates the provided handle using `requestAnimationFrame`
  @private
  @method _animate
  
  @param {*} handle
  @param {*} runAnimation
  @param {*} enabledElement
  @param {*} targetLocation
  @returns {undefined}