Viewport
Hierarchy
Implements
Index
Constructors
Properties
- _actors
- _suppressCameraModifiedEvents
- canvas
- canvasToWorld
- customRenderViewportToCanvas
- defaultOptions
- element
- getFrameOfReferenceUID
- getNumberOfSlices
- getProperties
- getRotation
- id
- isDisabled
- options
- renderingEngineId
- resize
- sHeight
- sWidth
- suppressEvents
- sx
- sy
- type
- updateRenderingPipeline
- viewportStatus
- worldToCanvas
- CameraViewPresentation
- TransferViewPresentation
Accessors
Methods
- _getCorners
- _getEdges
- _getFocalPointForResetCamera
- _isInBounds
- _removeActor
- addActor
- addActors
- addWidget
- getActor
- getActorByIndex
- getActorUIDByIndex
- getActorUIDs
- getActors
- getCamera
- getCanvas
- getClippingPlanesForActor
- getCurrentImageIdIndex
- getDefaultActor
- getDisplayArea
- getPan
- getReferenceId
- getRenderer
- getRenderingEngine
- getViewPresentation
- getViewReference
- getWidget
- getWidgets
- getZoom
- isReferenceViewable
- removeActors
- removeAllActors
- removeWidgets
- render
- reset
- resetCamera
- setActors
- setCamera
- setDisplayArea
- setOptions
- setOrientationOfClippingPlanes
- setPan
- setRendered
- setViewPresentation
- setViewReference
- setZoom
- triggerCameraModifiedEventIfNecessary
- updateCameraClippingPlanesAndRange
- boundsRadius
Constructors
constructor
Parameters
props: ViewportInput
Returns Viewport
Properties
_actors
a Map containing the actor uid and actors
_suppressCameraModifiedEvents
informs if a new actor was added before a resetCameraClippingRange phase
readonlycanvas
an internal canvas that is created on the provided HTML element
canvasToWorld
customRenderViewportToCanvas
Type declaration
Returns unknown
readonlydefaultOptions
Default options for the viewport which includes orientation, viewPlaneNormal and backgroundColor
readonlyelement
HTML element in DOM that is used for rendering the viewport
getFrameOfReferenceUID
Type declaration
Returns string
getNumberOfSlices
Type declaration
Returns number
getProperties
Type declaration
Returns ViewportProperties
getRotation
Type declaration
Returns number
readonlyid
unique identifier for the viewport
publicisDisabled
if the viewport has been disabled
options
options for the viewport which includes orientation axis, backgroundColor and displayArea
readonlyrenderingEngineId
RenderingEngine id that the viewport belongs to
resize
Type declaration
Returns void
sHeight
sHeight of viewport on the offscreen canvas
sWidth
sWidth of viewport on the offscreen canvas
readonlysuppressEvents
A flag representing if viewport methods should fire events or not
sx
sx of viewport on the offscreen canvas
sy
sy of viewport on the offscreen canvas
readonlytype
Type of viewport
updateRenderingPipeline
Type declaration
Returns void
publicviewportStatus
Record the rendering status, mostly for testing purposes, but can also be useful for knowing things like whether the viewport is initialized
worldToCanvas
publicstaticreadonlyCameraViewPresentation
CameraViewPresentation is a view preentation selector that has all the camera related presentation selections, and would typically be used for choosing presentation information between two viewports showing the same type of orientation of a view, such as the CT, PT and fusion views in the same orientation view.
publicstaticreadonlyTransferViewPresentation
TransferViewPresentation is a view presentation selector that selects all the transfer function related attributes. It would typically be used for synchronizing different orientations of the same series, or for synchronizing two views of the same type of series such as a CT.
Accessors
staticuseCustomRenderingPipeline
Returns boolean
Methods
_getCorners
Parameters
bounds: number[]
Returns number[][]
_getEdges
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
_isInBounds
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
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
actorEntry: ActorEntry
ActorEntry
- actorEntry.uid - The unique identifier for the actor.
- actorEntry.actor - The volume actor.
- actorEntry.slabThickness - The slab thickness.
Returns void
publicaddActors
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
publicaddWidget
Parameters
widgetId: any
widget: any
Returns 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
Get an actor UID by its index
Parameters
index: number
array index.
Returns string
actorUID
publicgetActorUIDs
Returns an array of unique identifiers for all the actors in the viewport.
Returns string[]
An array of strings
publicgetActors
Get all the actors in the viewport
Returns ActorEntry[]
An array of ActorEntry objects.
publicgetCamera
Get the camera’s current state
Returns ICamera
The camera object.
publicgetCanvas
Gets the target output canvas for the
Viewport
.Returns HTMLCanvasElement
an HTMLCanvasElement.
publicgetClippingPlanesForActor
Method to get the clipping planes of a given actor
Parameters
optionalactorEntry: ActorEntry
The actor entry (a specific type you’ll define dependent on your code)
Returns vtkPlane[]
vtkPlanes - An array of vtkPlane objects associated with the given actor
publicgetCurrentImageIdIndex
Gets the current slice in the current camera orientation
Returns number
publicgetDefaultActor
Get the default actor
Returns ActorEntry
An actor entry.
publicgetDisplayArea
returns the displayArea
Returns DisplayArea
publicgetPan
publicgetReferenceId
Gets a referenced image url of some sort - could be a real image id, or could be a URL with parameters. Regardless it refers to the currently displaying image as a string value.
Parameters
optional_specifier: ViewReferenceSpecifier
Returns string
publicgetRenderer
Returns the
vtkRenderer
responsible for rendering theViewport
.Returns any
The
vtkRenderer
for theViewport
.
publicgetRenderingEngine
Returns the rendering engine driving the
Viewport
.Returns default
The RenderingEngine instance.
publicgetViewPresentation
Gets a view presentation information specifying HOW a viewport displays something, but not what is being displayed. See getViewReference to get information on WHAT is being displayed.
This is intended to have information on how an image is presented to the user, without specifying what image s displayed. All of this information is available externally, but this method combines the parts of this that are appropriate for remember or applying to other views, without necessarily needing to know what all the atributes are. That differs from methods like getCamera which fetch exact view details that are not likely to be identical between viewports as they change sizes or apply to different images.
Note that the results of this can be used on different viewports, for example, the pan values can be applied to a volume viewport showing a CT, and a stack viewport showing an ultrasound.
The selector allows choosing which view presentation attributes to return. Some default values are available from
Viewport.CameraViewPresentation
andViewport.TransferViewPresentation
Parameters
viewPresSel: ViewPresentationSelector = ...
select which attributes to display.
Returns ViewPresentation
publicgetViewReference
Gets a view target specifying WHAT a view is displaying, allowing for checking if a given image is displayed or could be displayed in a given viewport. See getViewPresentation for HOW a view is displayed.
Parameters
viewRefSpecifier: ViewReferenceSpecifier = {}
choose an alternate view to be specified, typically a different slice index in the same set of images.
Returns ViewReference
publicgetWidget
Parameters
id: any
Returns any
publicgetWidgets
Returns any[]
publicgetZoom
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.
Parameters
compareCamera: ICamera = ...
Returns number
publicisReferenceViewable
Find out if this viewport does or could show this view reference.
Parameters
viewRef: ViewReference
optionaloptions: ReferenceCompatibleOptions
allows specifying whether the view COULD display this with some modification - either navigation or displaying as volume.
Returns boolean
true if the viewport could show this view reference
publicremoveActors
Remove the actors with the given UIDs from the viewport
Parameters
actorUIDs: string[]
An array of actor UIDs to remove.
Returns void
publicremoveAllActors
Remove all actors from the renderer
Returns void
publicremoveWidgets
Returns void
publicrender
Renders the
Viewport
using theRenderingEngine
.Returns void
publicreset
Resets the options the
Viewport
‘sdefaultOptions
Parameters
immediate: boolean = false
If
true
, renders the viewport after the options are reset.
Returns void
publicresetCamera
Resets the camera based on the rendering volume(s) 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
resetPan: boolean = true
If true, the camera focal point is reset to the center of the volume (slice)
resetZoom: boolean = true
If true, the camera zoom is reset to the default zoom
resetToCenter: boolean = true
storeAsInitialCamera: boolean = true
If true, reset camera is stored as the initial camera (to allow differences to be detected for pan/zoom values)
Returns boolean
boolean
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
Set the camera parameters
Parameters
cameraInterface: ICamera
ICamera
storeAsInitialCamera: boolean = false
to set the provided camera as the initial one, used to compute differences for things like pan and zoom.
Returns void
publicsetDisplayArea
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
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
publicsetPan
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
publicsetRendered
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
publicsetViewPresentation
Applies the display area, zoom, pan and rotation from the view presentation. No-op is viewPres isn’t defined.
Parameters
viewPres: ViewPresentation
Returns void
publicsetViewReference
Navigates to the image specified by the viewRef.
Parameters
viewRef: ViewReference
Returns void
publicsetZoom
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
publictriggerCameraModifiedEventIfNecessary
publicupdateCameraClippingPlanesAndRange
Updates the camera’s clipping planes and range.
Returns void
staticboundsRadius
Computes the bounds radius value
Parameters
bounds: number[]
Returns number
An object representing a single viewport, which is a camera looking into a viewport, and an associated target output
HTMLDivElement
. Viewport is a base class that can be extended to create a specific viewport type. Both VolumeViewport and StackViewport are subclasses of Viewport. Common logic for all viewports is contained in Viewport class which is camera properties/methods, vtk.js actors, and other common logic.