Skip to main content

VideoViewport

An object representing a single stack viewport, which is a camera looking into an internal scene, and an associated target output canvas.

Hierarchy

Implements

Index

Constructors

constructor

Properties

_actors

_actors: Map<string, any>

a Map containing the actor uid and actors

readonlycanvas

canvas: HTMLCanvasElement

an internal canvas that is created on the provided HTML element

readonlycanvasContext

canvasContext: CanvasRenderingContext2D

readonlydefaultOptions

defaultOptions: any

Default options for the viewport which includes orientation, viewPlaneNormal and backgroundColor

readonlyelement

element: HTMLDivElement

HTML element in DOM that is used for rendering the viewport

getRotation

getRotation: () => number

Type declaration

    • (): number
    • Returns number

readonlyid

id: string

unique identifier for the viewport

publicisDisabled

isDisabled: boolean

if the viewport has been disabled

options

options for the viewport which includes orientation axis, backgroundColor and displayArea

readonlyrenderingEngineId

renderingEngineId: string

renderingEngineId the viewport belongs to

sHeight

sHeight: number

sHeight of viewport on the offscreen canvas

sWidth

sWidth: number

sWidth of viewport on the offscreen canvas

readonlysuppressEvents

suppressEvents: boolean

A flag representing if viewport methods should fire events or not

sx

sx: number

sx of viewport on the offscreen canvas

sy

sy: number

sy of viewport on the offscreen canvas

readonlytype

Type of viewport

readonlyuid

uid: any

updateRenderingPipeline

updateRenderingPipeline: () => void

Type declaration

    • (): void
    • Returns void

publicviewportStatus

viewportStatus: ViewportStatus = ViewportStatus.NO_DATA

Record the renddering status, mostly for testing purposes, but can also be useful for knowing things like whether the viewport is initialized

Accessors

publicstaticuseCustomRenderingPipeline

  • get useCustomRenderingPipeline(): boolean
  • Returns boolean

Methods

_getCorners

  • _getCorners(bounds: number[]): number[][]
  • Parameters

    • bounds: number[]

    Returns number[][]

_getEdges

  • _getEdges(bounds: number[]): [number[], number[]][]
  • Returns a list of edges for the imageData bounds, which are the cube edges in the case of volumeViewport edges. p1: front, bottom, left p2: front, top, left p3: back, bottom, left p4: back, top, left p5: front, bottom, right p6: front, top, right p7: back, bottom, right p8: back, top, right


    Parameters

    • bounds: number[]

      Bounds of the renderer

    Returns [number[], number[]][]

    Edges of the containing bounds

_getFocalPointForResetCamera

  • _getFocalPointForResetCamera(centeredFocalPoint: Point3, previousCamera: ICamera, __namedParameters: Object): Point3
  • Parameters

    • centeredFocalPoint: Point3
    • previousCamera: ICamera
    • __namedParameters: Object

    Returns Point3

_isInBounds

  • _isInBounds(point: Point3, bounds: number[]): boolean
  • Determines whether or not the 3D point position is inside the boundaries of the 3D imageData.


    Parameters

    • point: Point3

      3D coordinate

    • bounds: number[]

      Bounds of the image

    Returns boolean

    boolean

_removeActor

  • _removeActor(actorUID: string): void
  • Remove the actor from the viewport


    Parameters

    • actorUID: string

      The unique identifier for the actor.

    Returns void

publicaddActor

  • Add an actor to the viewport including its id, its actor and slabThickness if defined


    Parameters

    Returns void

publicaddActors

  • addActors(actors: ActorEntry[], resetCameraPanAndZoom?: boolean): void
  • Add a list of actors (actor entries) to the viewport


    Parameters

    • actors: ActorEntry[]

      An array of ActorEntry objects.

    • resetCameraPanAndZoom: boolean = false

      force reset pan and zoom of the camera, default value is false.

    Returns void

publiccanvasToWorld

  • Converts a VideoViewport canvas coordinate to a video coordinate.


    Parameters

    • canvasPos: Point2

      to convert to world

    Returns Point3

    World position

publiccustomRenderViewportToCanvas

  • customRenderViewportToCanvas(): void
  • whether the viewport has custom rendering


    Returns void

publicend

  • end(): Promise<void>
  • Returns Promise<void>

publicgetActor

  • Get an actor by its UID


    Parameters

    • actorUID: string

      The unique ID of the actor.

    Returns ActorEntry

    An ActorEntry object.

publicgetActorByIndex

  • Get an actor by its index


    Parameters

    • index: number

      array index.

    Returns ActorEntry

    actorUID

publicgetActorUIDByIndex

  • getActorUIDByIndex(index: number): string
  • Get an actor UID by its index


    Parameters

    • index: number

      array index.

    Returns string

    actorUID

publicgetActors

  • Get all the actors in the viewport


    Returns ActorEntry[]

    An array of ActorEntry objects.

publicgetCamera

  • returns camera object


    Returns ICamera

publicgetCanvas

  • getCanvas(): HTMLCanvasElement
  • Gets the target output canvas for the Viewport.


    Returns HTMLCanvasElement

    an HTMLCanvasElement.

publicgetDefaultActor

  • Get the default actor


    Returns ActorEntry

    An actor entry.

publicgetDisplayArea

  • returns the displayArea


    Returns DisplayArea

publicgetFrameOfReferenceUID

  • getFrameOfReferenceUID(): string
  • frameOfReferenceUID the viewport’s default actor is rendering


    Returns string

publicgetImageData

  • getImageData(): any
  • Returns any

publicgetPan

  • Helper function to return the current canvas pan value.


    Returns Point2

    a Point2 containing the current pan values on the canvas, computed from the current camera, where the initial pan value is [0,0].

publicgetProperties

  • Retrieve the viewport properties


    Returns VideoViewportProperties

publicgetRenderer

  • getRenderer(): any
  • Returns the vtkRenderer responsible for rendering the Viewport.


    Returns any

    The vtkRenderer for the Viewport.

publicgetRenderingEngine

  • Returns the rendering engine driving the Viewport.


    Returns default

    The RenderingEngine instance.

publicgetZoom

  • getZoom(): number
  • Returns a current zoom level relative to the initial parallel scale originally applied to the image. That is, on initial display, the zoom level is 1. Computed as a function of the camera.


    Returns number

publicpause

  • pause(): Promise<void>
  • Returns Promise<void>

publicplay

  • play(): void
  • Returns void

publicremoveActors

  • removeActors(actorUIDs: string[]): void
  • Remove the actors with the given UIDs from the viewport


    Parameters

    • actorUIDs: string[]

      An array of actor UIDs to remove.

    Returns void

publicremoveAllActors

  • removeAllActors(): void
  • Remove all actors from the renderer


    Returns void

publicrender

  • render(): void
  • Renders the Viewport using the RenderingEngine.


    Returns void

publicreset

  • reset(immediate?: boolean): void
  • Resets the options the Viewport‘s defaultOptions


    Parameters

    • immediate: boolean = false

      If true, renders the viewport after the options are reset.

    Returns void

publicresetCamera

  • resetCamera(): boolean
  • Centers Pan and resets the zoom for stack viewport.


    Returns boolean

publicresetProperties

  • resetProperties(): void
  • Reset the viewport properties to the default values


    Returns void

publicresize

  • resize(): void
  • Resizes the viewport - only used in CPU fallback for StackViewport. The GPU resizing happens inside the RenderingEngine.


    Returns void

publicscroll

  • scroll(delta?: number): Promise<void>
  • Parameters

    • delta: number = 1

    Returns Promise<void>

publicsetActors

  • It removes all actors from the viewport and then adds the actors from the array.


    Parameters

    • actors: ActorEntry[]

      An array of ActorEntry objects.

    Returns void

publicsetCamera

  • sets the camera


    Parameters

    Returns void

publicsetDisplayArea

  • setDisplayArea(displayArea: DisplayArea, suppressEvents?: boolean): void
  • Sets the camera to an initial bounds. If resetPan and resetZoom are true it places the focal point at the center of the volume (or slice); otherwise, only the camera zoom and camera Pan or Zoom is reset for the current view.


    Parameters

    • displayArea: DisplayArea

      The display area of interest.

    • suppressEvents: boolean = false

      If true, don’t fire displayArea event.

    Returns void

publicsetFrame

  • setFrame(frame: number): Promise<void>
  • Parameters

    • frame: number

    Returns Promise<void>

publicsetOptions

  • Sets new options and (TODO) applies them.


    Parameters

    • options: ViewportInputOptions

      The viewport options to set.

    • immediate: boolean = false

      If true, renders the viewport after the options are set.

    Returns void

publicsetOrientationOfClippingPlanes

  • setOrientationOfClippingPlanes(vtkPlanes: vtkPlane[], slabThickness: number, viewPlaneNormal: Point3, focalPoint: Point3): void
  • Parameters

    • vtkPlanes: vtkPlane[]
    • slabThickness: number
    • viewPlaneNormal: Point3
    • focalPoint: Point3

    Returns void

publicsetPan

  • setPan(pan: Point2, storeAsInitialCamera?: boolean): void
  • Sets the canvas pan value relative to the initial view position of 0,0 Modifies the camera to perform the pan.


    Parameters

    • pan: Point2
    • storeAsInitialCamera: boolean = false

    Returns void

publicsetPlaybackRate

  • setPlaybackRate(rate?: number): void
  • Parameters

    • rate: number = 1

    Returns void

publicsetProperties

  • Sets the properties for the viewport on the default actor.


    Parameters

    Returns void

publicsetRendered

  • setRendered(): void
  • Indicate that the image has been rendered. This will set the viewportStatus to RENDERED if there is image data available to actually be rendered - otherwise, the rendering simply showed the background image.


    Returns void

publicsetScrollSpeed

  • setScrollSpeed(scrollSpeed?: number, unit?: SpeedUnit): void
  • Parameters

    • scrollSpeed: number = 1
    • unit: SpeedUnit = VideoViewportEnum.SpeedUnit.FRAME

    Returns void

publicsetTime

  • setTime(timeInSeconds: number): Promise<void>
  • Parameters

    • timeInSeconds: number

    Returns Promise<void>

publicsetVideoURL

  • setVideoURL(videoURL: string): Promise<unknown>
  • Parameters

    • videoURL: string

    Returns Promise<unknown>

publicsetZoom

  • setZoom(value: number, storeAsInitialCamera?: boolean): void
  • Zooms the image using parallel scale by updating the camera value.


    Parameters

    • value: number

      The relative parallel scale to apply. It is relative to the initial offsets value.

    • storeAsInitialCamera: boolean = false

      can be set to true to reset the camera after applying this zoom as the initial camera. A subsequent getZoom call will return “1”, but the zoom will have been applied.

    Returns void

publicstart

  • start(): Promise<void>
  • Returns Promise<void>

publictogglePlayPause

  • togglePlayPause(): boolean
  • Returns boolean

publictriggerCameraModifiedEventIfNecessary

  • triggerCameraModifiedEventIfNecessary(previousCamera: ICamera, updatedCamera: ICamera): void
  • Trigger camera modified event


    Parameters

    Returns void

publicworldToCanvas

  • Converts and [x,y] video coordinate to a Cornerstone3D VideoViewport.


    Parameters

    • worldPos: Point3

      world coord to convert to canvas

    Returns Point2

    Canvas position