ComplexImageView: Plot a 2D array of complex

This module provides a widget to view 2D complex data.

The ComplexImageView widget is dedicated to visualize a single 2D dataset of complex data.

../../../_images/ComplexImageView.png

ComplexImageView class

class ComplexImageView(parent=None)[source]

Display an image of complex data and allow to choose the visualization.

Parameters

parent – See QMainWindow

class ComplexMode(value)

Identify available display mode for complex

sigDataChanged

Signal emitted when data has changed.

sigVisualizationModeChanged

Signal emitted when the visualization mode has changed.

It provides the new visualization mode.

getPlot()[source]

Return the PlotWidget displaying the data

setData(data=None, copy=True)[source]

Set the complex data to display.

Parameters
  • data (numpy.ndarray) – 2D complex data

  • copy (bool) – True (default) to copy the data, False to use provided data (do not modify!).

getData(copy=True)[source]

Get the currently displayed complex data.

Parameters

copy (bool) – True (default) to return a copy of the data, False to return internal data (do not modify!).

Returns

The complex data array.

Return type

numpy.ndarray of complex with 2 dimensions

getDisplayedData(copy=True)[source]

Returns the displayed data depending on the visualization mode

WARNING: The returned data can be a uint8 RGBA image

Parameters

copy (bool) – True (default) to return a copy of the data, False to return internal data (do not modify!)

Return type

numpy.ndarray of float with 2 dims or RGBA image (uint8).

Mode

alias of ComplexMode

static supportedComplexModes()[source]

Returns the supported visualization modes.

Supported visualization modes are:

  • amplitude: The absolute value provided by numpy.absolute

  • phase: The phase (or argument) provided by numpy.angle

  • real: Real part

  • imaginary: Imaginary part

  • amplitude_phase: Color-coded phase with amplitude as alpha.

  • log10_amplitude_phase: Color-coded phase with log10(amplitude) as alpha.

Return type

List[ComplexMode]

setComplexMode(mode)[source]

Set the mode of visualization of the complex data.

See supportedComplexModes() for the list of supported modes.

How-to change visualization mode:

widget = ComplexImageView()
widget.setComplexMode(ComplexImageView.ComplexMode.PHASE)
# or
widget.setComplexMode('phase')
Parameters

mode (Unions[ComplexMode,str]) – The mode to use.

getComplexMode()[source]

Get the current visualization mode of the complex data.

Return type

ComplexMode

setColormap(colormap, mode=None)[source]

Set the colormap to use for amplitude, phase, real or imaginary.

WARNING: This colormap is not used when displaying both amplitude and phase.

Parameters
  • colormap (Colormap) – The colormap

  • mode (ComplexMode) – If specified, set the colormap of this specific mode

getColormap(mode=None)[source]

Returns the colormap used to display the data.

Parameters

mode (ComplexMode) – If specified, set the colormap of this specific mode

Return type

Colormap

getOrigin()[source]

Returns the offset from origin at which to display the image.

Return type

2-tuple of float

setOrigin(origin)[source]

Set the offset from origin at which to display the image.

Parameters

origin (float or 2-tuple of float) – (ox, oy) Offset from origin

getScale()[source]

Returns the scale of the image in data coordinates.

Return type

2-tuple of float

setScale(scale)[source]

Set the scale of the image

Parameters

scale (float or 2-tuple of float) – (sx, sy) Scale of the image

getXAxis()[source]

Returns the X axis

Return type

items.Axis

getYAxis()[source]

Returns an Y axis

Return type

items.Axis

getGraphTitle()[source]

Return the plot main title as a str.

setGraphTitle(title='')[source]

Set the plot main title.

Parameters

title (str) – Main title of the plot (default: ‘’)

setKeepDataAspectRatio(flag)[source]

Set whether the plot keeps data aspect ratio or not.

Parameters

flag (bool) – True to respect data aspect ratio

isKeepDataAspectRatio()[source]

Returns whether the plot is keeping data aspect ratio or not.