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
silx.gui.plot3d.items.image.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
-
getInterpolation()¶ Returns the interpolation mode set by
setInterpolation()Return type: str
-
setColormap(colormap)¶ Set the colormap of this image
Parameters: colormap (silx.gui.plot.Colormap.Colormap) – colormap description
-
setInterpolation(mode)¶ Set image interpolation mode
Parameters: mode (str) – ‘nearest’ or ‘linear’
-
ImageRgba¶
ImageRgba inherits from DataItem3D and also provides its API.
-
class
silx.gui.plot3d.items.image.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
silx.gui.plot3d.items.scatter.Scatter2D(parent=None)[source]¶ 2D scatter data with settable visualization mode.
Parameters: parent – The View widget this item belongs to. -
supportedVisualizations()[source]¶ Returns the list of supported visualization modes.
See
setVisualizationModes()Return type: tuple of str
-
setVisualization(mode)[source]¶ Set the visualization mode of the data.
Supported visualization modes are:
- ‘points’: For scatter plot representation
- ‘lines’: For Delaunay tesselation-based wireframe representation
- ‘solid’: For Delaunay tesselation-based solid surface representation
Parameters: mode (str) – Mode of representation to use
-
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
-
getValues(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
-
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
-
setColormap(colormap)¶ Set the colormap of this image
Parameters: colormap (silx.gui.plot.Colormap.Colormap) – colormap description
-
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
silx.gui.plot3d.items.scatter.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
-
getValues(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
-
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
-
setColormap(colormap)¶ Set the colormap of this image
Parameters: colormap (silx.gui.plot.Colormap.Colormap) – colormap description
-
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
silx.gui.plot3d.items.volume.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
silx.gui.plot3d.items.volume.Isosurface(parent)[source]¶ Bases:
silx.gui.plot3d.items.core.Item3DClass representing an iso-surface in a
ScalarField3Ditem.Parameters: parent – The DataItem3D this iso-surface belongs to -
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
silx.gui.plot3d.items.volume.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
-
getInterpolation()¶ Returns the interpolation mode set by
setInterpolation()Return type: str
-
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
-
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
-
getPoint()¶ Returns a point on the plane
Returns: (x, y, z) Return type: numpy.ndarray
-
isValid()¶ Returns whether the cut plane is defined or not (bool)
-
moveToCenter()¶ Move cut plane to center of data set
-
setColormap(colormap)¶ Set the colormap of this image
Parameters: colormap (silx.gui.plot.Colormap.Colormap) – colormap description
-
setInterpolation(mode)¶ Set image interpolation mode
Parameters: mode (str) – ‘nearest’ or ‘linear’
-
setNormal(normal)¶ Set the normal of the plane
Parameters: normal – 3-tuple of float: nx, ny, nz
-
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
-
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
-
Clipping plane¶
ClipPlane¶
ClipPlane inherits from Item3D and also provides its API.
-
class
silx.gui.plot3d.items.clipplane.ClipPlane(parent=None)[source]¶ Bases:
silx.gui.plot3d.items.core.Item3D,silx.gui.plot3d.items.mixins.PlaneMixInRepresents a clipping plane that clips following items within the group.
For now only on clip plane is allowed at once in a scene.
3D mesh¶
Mesh¶
Mesh inherits from DataItem3D and also provides its API.
-
class
silx.gui.plot3d.items.mesh.Mesh(parent=None)[source]¶ Bases:
silx.gui.plot3d.items.core.DataItem3DDescription of mesh.
Parameters: parent – The View widget this item belongs to. -
setData(position, color, normal=None, mode='triangles', copy=True)[source]¶ Set mesh geometry data.
Supported drawing modes are:
- For points: ‘points’
- For lines: ‘lines’, ‘line_strip’, ‘loop’
- For triangles: ‘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 (numpy.ndarray) – Normals for each point or None (default)
- mode (str) – The drawing mode.
- copy (bool) – True (default) to copy the data, False to use as is (do not modify!).
-
getData(copy=True)[source]¶ Get the mesh geometry.
Parameters: copy (bool) – True (default) to get a copy, False to get internal representation (do not modify!). Returns: The positions, colors, normals and mode Return type: tuple of numpy.ndarray
-
getPositionData(copy=True)[source]¶ Get the mesh vertex positions.
Parameters: copy (bool) – True (default) to get a copy, False to get internal representation (do not modify!). Returns: The (x, y, z) positions as a (N, 3) array Return type: numpy.ndarray
-
getColorData(copy=True)[source]¶ Get the mesh vertex colors.
Parameters: copy (bool) – True (default) to get a copy, False to get internal representation (do not modify!). Returns: The RGBA colors as a (N, 4) array or a single color Return type: numpy.ndarray
-
Item base classes¶
The following classes provides the base classes for other items.
Item3D¶
-
class
silx.gui.plot3d.items.core.Item3D(parent, primitive=None)[source]¶ Bases:
PyQt4.QtCore.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
silx.gui.plot3d.items.core.DataItem3D(parent, group=None)[source]¶ Bases:
silx.gui.plot3d.items.core.Item3DBase class representing a data item with transform in the scene.
Parameters: - parent – The View widget this item belongs to.
- None] group (Union[GroupBBox,) – 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