vis module¶
Classes and functions to deal with the visualisation of the AmpObjects. These include wrappers for vtk and Qt Copyright: Joshua Steer 2020, Joshua.Steer@soton.ac.uk
- class ampActor(*args: Any, **kwargs: Any)
Bases:
vtkActor
A wrapper around the classic vtkActor that makes it easier to transfer data from the ampObject
- addSlices(slices)
Adds slices into the AmpActor which can then be rendered
- Parameters
slices (array_like) – The values in the z-axis of which to make the slices
- setCMap(CMap, bands=128)
Sets the colormap used to display scalar values
- Parameters
CMap (array_like) – The base colors used to define the color map
bands (int, default 128) – The number of contour bands to divide up the color map
- setColor(color=[1.0, 1.0, 1.0])
Sets the color of the ampActor
- Parameters
color (array_like, default [1.0, 1.0, 1.0]) – The RGB values as floats of the ampActor colour between [0, 1]
- setFaces(faces, deep=0)
Sets the faces of the ampActor
- Parameters
faces (ndarray) – The numpy array specifying the faces, or connectivity index based upon the vertex array
deep (int, default 0) – If 1, the numpy array will be deep-copied to the ampActor
- setNorm(norm=None, deep=0)
Sets or calculates the vertex normals
- Parameters
norm (ndarray, default None) – The numpy array specifying the face normals. If None, the inbuilt vtk method will be used to calculate the normals
deep (int, default 0) – If 1, the numpy array will be deep-copied to the ampActor
- setOpacity(opacity=1.0)
Sets the opacity of the ampActor
- Parameters
opacity (float, default 1.0) – Opacity value between [0 1]
- setScalarRange(sRange)
Sets the scalar range on the ampActor
- Parameters
sRange (array_like) – Specifies the lower and upper bound of the scalar range to display
- setShading(shading=True)
Sets whether shading is used on the ampActor
- Parameters
shading (boolean, default True) – If True, shading is used in the display of the ampActor
- setValues(values, deep=0)
Set the values of the ampActor
- Parameters
values (ndarray) – Scalar data attached to each vertex
deep (int, default 0) – If 1, the numpy array will be deep-copied to the ampActor
- setVert(vert, deep=0)
Set the vertices of the ampActor
- Parameters
vert (ndarray) – The numpy array specifying the vertices
deep (int, default 0) – If 1, the numpy array will be deep-copied to the ampActor
- class qtVtkWindow(*args: Any, **kwargs: Any)
Bases:
QVTKRenderWindowInteractor
This provides the interface between Qt and the vtkRenWin
- class visMixin
Bases:
object
Set of visualisation methods that are contained within the AmpActor
- addActor(CMap=None, bands=128, sRange=[0, 8])
Creates an ampActor based upon the ampObject
- createCMap(cmap=None, n=50)
Function to generate a linear colormap for the AmpObj based upon base colours
- cmap: array_like
The rgb float values of the base colors used to generate the colormap
- n: int, default 50
The number of bands that form the colormap
- display()
Function to display the ampActor within in an interactable vtkRenWin window
- Returns
win – The generated vtkRenWin
- Return type
vtkRenWin
- genIm(size=[512, 512], views=[[0, -1, 0]], background=[1.0, 1.0, 1.0], projection=True, shading=True, mag=10, out='im', fh='test.tiff', zoom=1.0, az=0, el=0, crop=False, cam=None)
Creates a temporary off screen vtkRenWin which is then either returned as a numpy array or saved as a .png file
- Parameters
out (str: default 'im') – If ‘im’ the the image will be returned as an array, if ‘fh’ the image will be saved as .png image
size (array_like, default [512, 512]) – The width and height of the vtkRenWin to create
views (array_like, default [[0, -1, 0],]) – The camera view set for each viewport, the length of this also sets the number of viewports
background (array_like, default [1, 1, 1]) – The RGB values as floats of the background colour between [0, 1]
projection (boolean, default True) – If true, then perspective will be used as the projection for the camera
shading (boolean, default True) – If true, shading will be used on the ampActor
mag (int, default 10) – The magnification for saving the image
fh (str) – The file handle used if out =’fh’
- Returns
im – The array representation of the image if out = ‘im’
- Return type
ndarray
- class vtkRenWin(*args: Any, **kwargs: Any)
Bases:
vtkRenderWindow
This class inherits from the vtkRenderWindow and wraps extra functions on top
This window can be either be used on it’s own, or embedded within a Qt Window
- Pick_point(loc)
This receives coordinates in the GUI where user has picked, converts it to mesh coordinates using vtkCellPicker, and places a sphere at picked location as a visual aid. Also places a label at the point in the render window. TO-DO: Add functionality so user can type the label in, rather than have it read ‘Mid Patella’ every time
- addAxes(actors, viewport=0, color=[1.0, 1.0, 1.0], font=None)
Add 3D axes to the vtk window
- Parameters
actors (list) – List of ampActors, this is used to determine the necessary limits of the axes
viewport (int, default 0) – The index of the viewport add the axes into
color (array_like) – The RGB values as floats of the axes line and text colour between [0, 1]
- addTriad(actors, viewport=0, color=[1.0, 1.0, 1.0], font=None)
Add 3D axes to the vtk window
- Parameters
actors (list) – List of ampActors, this is used to determine the necessary limits of the axes
viewport (int, default 0) – The index of the viewport add the axes into
color (array_like) – The RGB values as floats of the axes line and text colour between [0, 1]
- delMarker()
removes the sphere marker and label from the renderer
- getImage()
Return an array representation of the image
- Returns
im – The array representation of the image
- Return type
ndarray
- getScreenshot(fname, mag=10)
Generate a screenshot of the window and save to a png file
- Parameters
fname (str) – The file handle to save the image to
mag (int, default 10) – The magnificaiton of the image, this will scale the resolution of the saved image by this face
- mark(x, y, z)
mark the picked point with a sphere
- renderActors(actors, viewport=0, zoom=1.0)
Given a list of ampActors, this function removes those which are not in the new list, and adds in the new ones
- Parameters
actors (list of ampActors) – A list of actors to be displayed in the render window
viewport (int, default 0) – The viewport index to render the actor within
zoom (float, default 1.0) – The zoom magnitude of the camera
- setBackground(color=[0.1, 0.2, 0.4])
Set the background colour of the renderer
- Parameters
color (array_like) – The RGB values as floats of the background colour between [0, 1]
- setProjection(perspective=False, viewport=0)
Set the projection of the camera to either parallel or perspective
- Parameters
perspective (boolean, default False) – If true, then perspective will be used as the projection for the camera
viewport (int, default 0) – The index of the viewport to set the projection of the camera in
- setScalarBar(actor, viewport=0, title='')
Set the scalar bar within the window based upon a look-up table defined within an actor
- Parameters
actor (ampActor) – The actor from which the lut is read from, the actor must have the attribute actor.lut
viewport (int, default 0) – The viewport index to render the scalar bar within
title (str) – The accompanying title for the scalar bar
- Returns
A vtkScalarBarActor attribute to the vtkRenWin
- Return type
scalar_bar
- setView(view=[0, -1, 0], viewport=0)
Function to set the camera view within the specified viewport
- Parameters
view (array_like, default [0, -1, 0]) – The view of the vtk camera
viewport (int, default 0) – The index of the viewport to set the camera view
- setnumViewports(n)
Function to set multiple viewports within the vtkWindow
- Parameters
n (int) – number of viewports required