WSIViewport
Hierarchy
- Viewport
- WSIViewport
Implements
Index
Constructors
Properties
Accessors
Methods
- _getCorners
- _getEdges
- _getFocalPointForResetCamera
- _isInBounds
- _removeActor
- addActor
- addActors
- addWidget
- canvasToWorld
- customRenderViewportToCanvas
- getActor
- getActorByIndex
- getActorUIDByIndex
- getActorUIDs
- getActors
- getCamera
- getCanvas
- getClippingPlanesForActor
- getCurrentImageId
- getCurrentImageIdIndex
- getDefaultActor
- getDisplayArea
- getFrameNumber
- getFrameOfReferenceUID
- getImageData
- getNumberOfSlices
- getPan
- getProperties
- getReferenceId
- getRenderer
- getRenderingEngine
- getRotation
- getSliceIndex
- getView
- getViewPresentation
- getViewReference
- getWidget
- getWidgets
- getZoom
- hasImageURI
- isReferenceViewable
- postrender
- removeActors
- removeAllActors
- removeWidgets
- render
- reset
- resetCamera
- resetProperties
- resize
- scroll
- setActors
- setCamera
- setDataIds
- setDisplayArea
- setFrameNumber
- setOptions
- setOrientationOfClippingPlanes
- setPan
- setProperties
- setRendered
- setViewPresentation
- setViewReference
- setWSI
- setZoom
- triggerCameraModifiedEventIfNecessary
- updateCameraClippingPlanesAndRange
- worldToCanvas
- boundsRadius
Constructors
constructor
Parameters
props: WSIViewportInput
Returns WSIViewport
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
readonlydefaultOptions
Default options for the viewport which includes orientation, viewPlaneNormal and backgroundColor
readonlyelement
HTML element in DOM that is used for rendering the viewport
readonlyid
unique identifier for the viewport
publicisDisabled
if the viewport has been disabled
publicmodality
options
options for the viewport which includes orientation axis, backgroundColor and displayArea
readonlyrenderingEngineId
renderingEngineId the viewport belongs to
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
readonlyuid
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
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
publicstaticuseCustomRenderingPipeline
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
publiccanvasToWorld
publiccustomRenderViewportToCanvas
whether the viewport has custom rendering
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
returns camera object
Returns ICamera
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
publicgetCurrentImageId
This function returns the imageID associated with either the current frame being displayed, or the range of frames being played. This may not correspond to any particular imageId that has imageId metadata, as the format is one of:
<DICOMweb URI>/frames/<Start Frame>(-<End Frame>)?
or<Other URI>[?&]frameNumber=<Start Frame>(-<EndFrame>)?
for a URL parameter.Returns string
an imageID for video
publicgetCurrentImageIdIndex
Gets the index of the current image, it is not guaranteed to be the slice index in the view, use getSliceIndex for positional information
Returns number
publicgetDefaultActor
Get the default actor
Returns ActorEntry
An actor entry.
publicgetDisplayArea
returns the displayArea
Returns DisplayArea
publicgetFrameNumber
Gets the current frame, 1 based
Returns number
publicgetFrameOfReferenceUID
The FOR for whole slide imaging is the frame of reference in the DICOM metadata, and should be the same for all slices being viewed.
Returns string
publicgetImageData
Returns { calibration: IImageCalibration; dimensions: any; direction: any; getScalarData: () => any; hasPixelSpacing: boolean; imageData: { getDimensions: () => any; getDirection: () => any; getRange: () => number[]; getScalarData: () => any; getSpacing: () => any; indexToWorld: (point: Point3) => Point3; worldToIndex: (point: Point3) => number[] }; metadata: { Modality: any }; numComps: number; origin: any; preScale: { scaled: boolean }; spacing: any }
calibration: IImageCalibration
dimensions: any
direction: any
getScalarData: () => any
Returns any
hasPixelSpacing: boolean
imageData: { getDimensions: () => any; getDirection: () => any; getRange: () => number[]; getScalarData: () => any; getSpacing: () => any; indexToWorld: (point: Point3) => Point3; worldToIndex: (point: Point3) => number[] }
metadata: { Modality: any }
Modality: any
numComps: number
origin: any
preScale: { scaled: boolean }
scaled: boolean
spacing: any
publicgetNumberOfSlices
Gets the number of slices - this will be the number of focal planes, and not hte actual number of slices in the image sets.
Returns number
publicgetPan
publicgetProperties
Retrieve the viewport properties
Returns ViewportProperties
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.
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.
publicgetRotation
get the rotation either from the camera provided or the viewport if not provided
Returns number
publicgetSliceIndex
This can be implemented later when multi-slice WSI is supported
Returns number
getView
Gets the internal OpenLayers view object being rendered Note this is not typeds right now, but might add typing later.
Returns any
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 the parallel zoom relative to the default (eg returns 1 after reset)
Returns any
publichasImageURI
Checks to see if the imageURI is currently being displayed. The imageURI may contain frame numbers according to the DICOM standard format, which will be stripped to compare the base image URI, and then the values used to check if that frame is currently being displayed.
The DICOM standard allows for comma separated values as well, however, this is not supported here, with only a single range or single value being tested.
For a single value, the time range +/- 5 frames is permitted to allow the detection to actually succeed when nearby without requiring an exact time frame to be matched.
Parameters
imageURI: string
containing frame number or range.
Returns boolean
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
publicpostrender
Returns void
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
Centers Pan and resets the zoom for stack viewport.
Returns boolean
publicresetProperties
Reset the viewport properties to the default values
Returns void
publicresize
Resizes the viewport - only used in CPU fallback for StackViewport. The GPU resizing happens inside the RenderingEngine.
Returns void
publicscroll
Scrolls the image - for WSI, this changes the zoom ratio since different images are used to represent different zoom levels, although this also allows fractional zoom levels
Parameters
delta: number
Returns 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
camera: ICamera
Returns void
publicsetDataIds
This is a wrapper for setWSI to allow generic behaviour
Parameters
imageIds: string[]
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
publicsetFrameNumber
Sets the current frame
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
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
publicsetProperties
Sets the properties for the viewport on the default actor.
Parameters
props: ViewportProperties
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
publicsetWSI
Sets the WSI to play. The WSI should have at least some metadata in the metadata provider, including:
- study/series/sop common module for UIDs
cineModule
for information on number of frames and playback rateimageUrlModule
- to get the URL for the image under therendered
attribute
Without these, other tools requiring metadata wont work, although basic playback does work if the setWSIURL is used instead.
Parameters
imageIds: string[]
client: any
Returns Promise<void>
publicsetZoom
Sets the relative zoom - set to 1 to reset it
Parameters
zoom: number
Returns void
publictriggerCameraModifiedEventIfNecessary
publicupdateCameraClippingPlanesAndRange
Updates the camera’s clipping planes and range.
Returns void
publicworldToCanvas
staticboundsRadius
Computes the bounds radius value
Parameters
bounds: number[]
Returns number
An object representing a single stack viewport, which is a camera looking into an internal scene, and an associated target output
canvas
.