items: SceneWidget items#
The following classes are items that describes the content of a SceneWidget:
2D images#
ImageData#
ImageData inherits from DataItem3D and also provides its API.
- class ImageData(parent=None)[source]#
 Description of a 2D image data.
- Parameters:
 parent – The View widget this item belongs to.
- setData(data, copy=True)[source]#
 Set the image data to display.
The data will be casted to float32.
- Parameters:
 data (numpy.ndarray) – The image data
copy (bool) – True (default) to copy the data, False to use as is (do not modify!).
- getData(copy=True)[source]#
 Get the image data.
- Parameters:
 copy (bool) – True (default) to get a copy, False to get internal representation (do not modify!).
- Return type:
 numpy.ndarray
- Returns:
 The image data
- getColormap()#
 Return the used colormap
- setColormap(colormap)#
 Set the colormap of this item
- Parameters:
 colormap (silx.gui.colors.Colormap) – colormap description
- getInterpolation()#
 Returns the interpolation mode set by
setInterpolation()- Return type:
 str
- setInterpolation(mode)#
 Set image interpolation mode
- Parameters:
 mode (str) – ‘nearest’ or ‘linear’
ImageRgba#
ImageRgba inherits from DataItem3D and also provides its API.
- class ImageRgba(parent=None)[source]#
 Description of a 2D data RGB(A) image.
- Parameters:
 parent – The View widget this item belongs to.
- setData(data, copy=True)[source]#
 Set the RGB(A) image data to display.
Supported array format: float32 in [0, 1], uint8.
- Parameters:
 data (numpy.ndarray) – The RGBA image data as an array of shape (H, W, Channels)
copy (bool) – True (default) to copy the data, False to use as is (do not modify!).
- getData(copy=True)[source]#
 Get the image data.
- Parameters:
 copy (bool) – True (default) to get a copy, False to get internal representation (do not modify!).
- Return type:
 numpy.ndarray
- Returns:
 The image data
- getInterpolation()#
 Returns the interpolation mode set by
setInterpolation()- Return type:
 str
- setInterpolation(mode)#
 Set image interpolation mode
- Parameters:
 mode (str) – ‘nearest’ or ‘linear’
2D/3D scatter data#
Scatter2D#
Scatter2D inherits from DataItem3D and also provides its API.
- class Scatter2D(parent=None)[source]#
 2D scatter data with settable visualization mode.
- Parameters:
 parent – The View widget this item belongs to.
- isPropertyEnabled(name, visualization=None)[source]#
 Returns true if the property is used with visualization mode.
- Parameters:
 name (str) – The name of the property to check, in: ‘lineWidth’, ‘symbol’, ‘symbolSize’
visualization (str) – The visualization mode for which to get the info. By default, it is the current visualization mode.
- Returns:
 
- setHeightMap(heightMap)[source]#
 Set whether to display the data has a height map or not.
When displayed as a height map, the data values are used as z coordinates.
- Parameters:
 heightMap (bool) – True to display a height map, False to display as 2D data with z=0
- setLineWidth(width)[source]#
 Set the width in pixel of the curve line
See
getLineWidth().- Parameters:
 width (float) – Width in pixels
- setData(x, y, value, copy=True)[source]#
 Set the data represented by this item.
Provided arrays must have the same length.
- Parameters:
 x (numpy.ndarray) – X coordinates (array-like)
y (numpy.ndarray) – Y coordinates (array-like)
value – Points value: array-like or single scalar
copy (bool) – True (default) to make a copy of the data, False to avoid copy if possible (do not modify the arrays).
- getData(copy=True)[source]#
 Returns data as provided to
setData().- Parameters:
 copy (bool) – True to get a copy, False to return internal data (do not modify!)
- Returns:
 (x, y, value)
- getXData(copy=True)[source]#
 Returns X data coordinates.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 X coordinates
- Return type:
 numpy.ndarray
- getYData(copy=True)[source]#
 Returns Y data coordinates.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 Y coordinates
- Return type:
 numpy.ndarray
- getValueData(copy=True)[source]#
 Returns data values.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 data values
- Return type:
 numpy.ndarray
- classmethod supportedVisualizations()#
 Returns the list of supported scatter visualization modes.
- Return type:
 List[Visualization]
- getVisualization()#
 Returns the scatter plot visualization mode in use.
- Return type:
 Visualization
- setVisualization(mode)#
 Set the scatter plot visualization mode to use.
See
Visualizationfor all possible values, andsupportedVisualizations()for supported ones.- Parameters:
 mode (Union[str,Visualization]) – The visualization mode to use.
- Returns:
 True if value was set, False if is was already set
- Return type:
 bool
- getColormap()#
 Return the used colormap
- setColormap(colormap)#
 Set the colormap of this item
- Parameters:
 colormap (silx.gui.colors.Colormap) – colormap description
- classmethod getSupportedSymbols()#
 Returns the list of supported symbol names.
- Return type:
 tuple of str
- getSymbol()#
 Return the point marker type.
Marker type:
- 'o' circle - '.' point - ',' pixel - '+' cross - 'x' x-cross - 'd' diamond - 's' square
- Return type:
 str
- setSymbol(symbol)#
 Set the marker type
See
getSymbol().- Parameters:
 symbol (str) – Marker type or marker name
Scatter3D#
Scatter3D inherits from DataItem3D and also provides its API.
- class Scatter3D(parent=None)[source]#
 Description of a 3D scatter plot.
- Parameters:
 parent – The View widget this item belongs to.
- setData(x, y, z, value, copy=True)[source]#
 Set the data of the scatter plot
- Parameters:
 x (numpy.ndarray) – Array of X coordinates (single value not accepted)
y – Points Y coordinate (array-like or single value)
z – Points Z coordinate (array-like or single value)
value – Points values (array-like or single value)
copy (bool) – True (default) to copy the data, False to use provided data (do not modify!)
- getData(copy=True)[source]#
 Returns data as provided to
setData().- Parameters:
 copy (bool) – True to get a copy, False to return internal data (do not modify!)
- Returns:
 (x, y, z, value)
- getXData(copy=True)[source]#
 Returns X data coordinates.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 X coordinates
- Return type:
 numpy.ndarray
- getYData(copy=True)[source]#
 Returns Y data coordinates.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 Y coordinates
- Return type:
 numpy.ndarray
- getZData(copy=True)[source]#
 Returns Z data coordinates.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 Z coordinates
- Return type:
 numpy.ndarray
- getValueData(copy=True)[source]#
 Returns data values.
- Parameters:
 copy (bool) – True to get a copy, False to return internal array (do not modify!)
- Returns:
 data values
- Return type:
 numpy.ndarray
- getColormap()#
 Return the used colormap
- setColormap(colormap)#
 Set the colormap of this item
- Parameters:
 colormap (silx.gui.colors.Colormap) – colormap description
- classmethod getSupportedSymbols()#
 Returns the list of supported symbol names.
- Return type:
 tuple of str
- getSymbol()#
 Return the point marker type.
Marker type:
- 'o' circle - '.' point - ',' pixel - '+' cross - 'x' x-cross - 'd' diamond - 's' square
- Return type:
 str
- setSymbol(symbol)#
 Set the marker type
See
getSymbol().- Parameters:
 symbol (str) – Marker type or marker name
3D volume#
ScalarField3D#
ScalarField3D inherits from DataItem3D and also provides its API.
- class ScalarField3D(parent=None)[source]#
 3D scalar field on a regular grid.
- Parameters:
 parent – The View widget this item belongs to.
- setData(data, copy=True)[source]#
 Set the 3D scalar data represented by this item.
Dataset order is zyx (i.e., first dimension is z).
- Parameters:
 data (3D numpy.ndarray of float32 with shape at least (2, 2, 2)) – 3D array
copy (bool) – True (default) to make a copy, False to avoid copy (DO NOT MODIFY data afterwards)
- getData(copy=True)[source]#
 Return 3D dataset.
- Parameters:
 copy (bool) – True (default) to get a copy, False to get the internal data (DO NOT modify!)
- Returns:
 The data set (or None if not set)
- getCutPlanes()[source]#
 Return an iterable of all
CutPlaneof this item.This includes hidden cut planes.
For now, there is always one cut plane.
- sigIsosurfaceAdded#
 Signal emitted when a new iso-surface is added to the view.
The newly added iso-surface is provided by this signal
- sigIsosurfaceRemoved#
 Signal emitted when an iso-surface is removed from the view
The removed iso-surface is provided by this signal.
- addIsosurface(level, color)[source]#
 Add an isosurface to this item.
- Parameters:
 level (float or callable) – The value at which to build the iso-surface or a callable (e.g., a function) taking a 3D numpy.ndarray as input and returning a float. Example: numpy.mean(data) + numpy.std(data)
color (str or array-like of 4 float in [0., 1.]) – RGBA color of the isosurface
- Returns:
 isosurface object
- Return type:
 
- getIsosurfaces()[source]#
 Return an iterable of all
Isosurfaceinstance of this item
- removeIsosurface(isosurface)[source]#
 Remove an iso-surface from this item.
- Parameters:
 isosurface (Isosurface) – The isosurface object to remove
- clearIsosurfaces()[source]#
 Remove all
Isosurfaceinstances from this item.
The following classes allows to configure ScalarField3D visualization:
IsoSurface#
IsoSurface inherits from Item3D and also provides its API.
- class Isosurface(parent)[source]#
 Bases:
Item3DClass representing an iso-surface in a
ScalarField3Ditem.- Parameters:
 parent – The DataItem3D this iso-surface belongs to
- getData(copy=True)[source]#
 Return 3D dataset.
- Parameters:
 copy (bool) – True (default) to get a copy, False to get the internal data (DO NOT modify!)
- Returns:
 The data set (or None if not set)
- setLevel(level)[source]#
 Set the value at which to build the iso-surface.
Setting this value reset auto-level function
- Parameters:
 level (float) – The value at which to build the iso-surface
- setAutoLevelFunction(autoLevel)[source]#
 Set the function used to compute the iso-level.
WARNING: The function might get called in a thread.
- Parameters:
 autoLevel (callable) – A function taking a 3D numpy.ndarray of float32 and returning a float used as iso-level. Example: numpy.mean(data) + numpy.std(data)
CutPlane#
CutPlane inherits from Item3D and also provides its API.
- class CutPlane(parent)[source]#
 Class representing a cutting plane in a
ScalarField3Ditem.- Parameters:
 parent – 3D Data set in which the cut plane is applied.
- getDisplayValuesBelowMin()[source]#
 Return whether values <= colormap min are displayed or not.
- Return type:
 bool
- setDisplayValuesBelowMin(display)[source]#
 Set whether to display values <= colormap min.
- Parameters:
 display (bool) – True to show values below min, False to discard them
- getColormap()#
 Return the used colormap
- setColormap(colormap)#
 Set the colormap of this item
- Parameters:
 colormap (silx.gui.colors.Colormap) – colormap description
- getInterpolation()#
 Returns the interpolation mode set by
setInterpolation()- Return type:
 str
- setInterpolation(mode)#
 Set image interpolation mode
- Parameters:
 mode (str) – ‘nearest’ or ‘linear’
- moveToCenter()#
 Move cut plane to center of data set
- isValid()#
 Returns whether the cut plane is defined or not (bool)
- getNormal()#
 Returns the normal of the plane (as a unit vector)
- Returns:
 Normal (nx, ny, nz), vector is 0 if no plane is defined
- Return type:
 numpy.ndarray
- setNormal(normal)#
 Set the normal of the plane
- Parameters:
 normal – 3-tuple of float: nx, ny, nz
- getPoint()#
 Returns a point on the plane
- Returns:
 (x, y, z)
- Return type:
 numpy.ndarray
- setPoint(point)#
 Set a point contained in the plane.
Warning: The plane might not intersect the bounding box of the data.
- Parameters:
 point (3-tuple of float) – (x, y, z) position
- getParameters()#
 Returns the plane equation parameters: a*x + b*y + c*z + d = 0
- Returns:
 Plane equation parameters: (a, b, c, d)
- Return type:
 numpy.ndarray
- setParameters(parameters)#
 Set the plane equation parameters: a*x + b*y + c*z + d = 0
Warning: The plane might not intersect the bounding box of the data. The given parameters will be normalized.
- Parameters:
 parameters – (a, b, c, d) equation parameters
Height map#
HeightMapData#
HeightMapData inherits from DataItem3D and also provides its API.
- class HeightMapData(parent=None)[source]#
 Description of a 2D height field associated to a colormapped dataset.
- Parameters:
 parent – The View widget this item belongs to.
- setColormappedData(data, copy=True)[source]#
 Set the 2D data used to compute colors.
- Parameters:
 data – 2D array of data
copy (
bool) – True (default) to copy the data, False to use as is (do not modify!).
- getColormappedData(copy=True)[source]#
 Returns the 2D data used to compute colors.
- Parameters:
 copy (
bool) – True (default) to get a copy, False to get internal representation (do not modify!).- Return type:
 ndarray
- getData(copy=True)#
 Get the height field 2D data.
- Parameters:
 copy (
bool) – True (default) to get a copy, False to get internal representation (do not modify!).copy
- Return type:
 ndarray
- setData(data, copy=True)#
 Set the height field data.
- Parameters:
 data
copy (
bool) – True (default) to copy the data, False to use as is (do not modify!).
HeightMapRGBA#
HeightMapRGBA inherits from DataItem3D and also provides its API.
- class HeightMapRGBA(parent=None)[source]#
 Description of a 2D height field associated to a RGB(A) image.
- Parameters:
 parent – The View widget this item belongs to.
- setColorData(data, copy=True)[source]#
 Set the RGB(A) image to use.
Supported array format: float32 in [0, 1], uint8.
- Parameters:
 data – The RGBA image data as an array of shape (H, W, Channels)
copy (
bool) – True (default) to copy the data, False to use as is (do not modify!).
- getColorData(copy=True)[source]#
 Get the RGB(A) image data.
- Parameters:
 copy (
bool) – True (default) to get a copy, False to get internal representation (do not modify!).- Return type:
 ndarray
- getData(copy=True)#
 Get the height field 2D data.
- Parameters:
 copy (
bool) – True (default) to get a copy, False to get internal representation (do not modify!).copy
- Return type:
 ndarray
- setData(data, copy=True)#
 Set the height field data.
- Parameters:
 data
copy (
bool) – True (default) to copy the data, False to use as is (do not modify!).
Clipping plane#
ClipPlane#
3D mesh#
Mesh#
Mesh inherits from DataItem3D and also provides its API.
- class Mesh(parent=None)[source]#
 Bases:
_MeshBaseDescription of mesh.
- Parameters:
 parent – The View widget this item belongs to.
- setData(position, color, normal=None, mode='triangles', indices=None, copy=True)[source]#
 Set mesh geometry data.
Supported drawing modes are: ‘triangles’, ‘triangle_strip’, ‘fan’
- Parameters:
 position (numpy.ndarray) – Position (x, y, z) of each vertex as a (N, 3) array
color (numpy.ndarray) – Colors for each point or a single color
normal (Union[numpy.ndarray,None]) – Normals for each point or None (default)
mode (str) – The drawing mode.
indices (Union[List[int],None]) – Array of vertex indices or None to use arrays directly.
copy (bool) – True (default) to copy the data, False to use as is (do not modify!).
Item base classes#
The following classes provides the base classes for other items.
Item3D#
- class Item3D(parent, primitive=None)[source]#
 Bases:
QObjectBase class representing an item in the scene.
- Parameters:
 parent – The View widget this item belongs to.
primitive – An optional primitive to use as scene primitive
- sigItemChanged#
 Signal emitted when an item’s property has changed.
It provides a flag describing which property of the item has changed. See
ItemChangedTypeandItem3DChangedTypefor flags description.
DataItem3D#
DataItem3D inherits from Item3D and also provides its API.
- class DataItem3D(parent, group=None)[source]#
 Bases:
Item3DBase class representing a data item with transform in the scene.
- Parameters:
 parent – The View widget this item belongs to.
group (Union[GroupBBox, None]) – The scene group to use for rendering
- setScale(sx=1.0, sy=1.0, sz=1.0)[source]#
 Set the scale of the item in the scene.
- Parameters:
 sx (float) – Scale factor along the X axis
sy (float) – Scale factor along the Y axis
sz (float) – Scale factor along the Z axis
- getScale()[source]#
 Returns the scales provided by
setScale().- Return type:
 numpy.ndarray
- setTranslation(x=0.0, y=0.0, z=0.0)[source]#
 Set the translation of the origin of the item in the scene.
- Parameters:
 x (float) – Offset of the data origin on the X axis
y (float) – Offset of the data origin on the Y axis
z (float) – Offset of the data origin on the Z axis
- getTranslation()[source]#
 Returns the offset set by
setTranslation().- Return type:
 numpy.ndarray
- setRotationCenter(x=0.0, y=0.0, z=0.0)[source]#
 Set the center of rotation of the item.
Position of the rotation center is either a float for an absolute position or one of the following string to define a position relative to the item’s bounding box: ‘lower’, ‘center’, ‘upper’
- Parameters:
 x – rotation center position on the X axis
y – rotation center position on the Y axis
z – rotation center position on the Z axis
- Return type:
 float or str
- Return type:
 float or str
- Return type:
 float or str
- getRotationCenter()[source]#
 Returns the rotation center set by
setRotationCenter().- Return type:
 3-tuple of float or str
- setRotation(angle=0.0, axis=(0.0, 0.0, 1.0))[source]#
 Set the rotation of the item in the scene
- Parameters:
 angle (float) – The rotation angle in degrees.
axis – The (x, y, z) coordinates of the rotation axis.
- getRotation()[source]#
 Returns the rotation set by
setRotation().- Returns:
 (angle, axis)
- Return type:
 2-tuple (float, numpy.ndarray)
- setMatrix(matrix=None)[source]#
 Set the transform matrix
- Parameters:
 matrix (numpy.ndarray) – 3x3 transform matrix
- getMatrix()[source]#
 Returns the matrix set by
setMatrix()- Returns:
 3x3 matrix
- Return type:
 numpy.ndarray
GroupItem#
GroupItem inherits from DataItem3D and also provides its API.