QwtPlotSpectrogram - Man Page

A plot item, which displays a spectrogram.

Synopsis

#include <qwt_plot_spectrogram.h>

Inherits QwtPlotRasterItem.

Public Types

enum DisplayMode { ImageMode = 0x01, ContourMode = 0x02 }
typedef QFlags< DisplayMode > DisplayModes
Display modes.

Public Member Functions

QwtPlotSpectrogram (const QString &title=QString())
virtual ~QwtPlotSpectrogram ()
Destructor.
void setDisplayMode (DisplayMode, bool on=true)
bool testDisplayMode (DisplayMode) const
void setData (QwtRasterData *data)
const QwtRasterData * data () const
QwtRasterData * data ()
void setColorMap (QwtColorMap *)
const QwtColorMap * colorMap () const
virtual QwtInterval interval (Qt::Axis) const
virtual QRectF pixelHint (const QRectF &) const
Pixel hint.
void setDefaultContourPen (const QColor &, qreal width=0.0, Qt::PenStyle=Qt::SolidLine)
void setDefaultContourPen (const QPen &)
Set the default pen for the contour lines.
QPen defaultContourPen () const
virtual QPen contourPen (double level) const
Calculate the pen for a contour line.
void setConrecFlag (QwtRasterData::ConrecFlag, bool on)
bool testConrecFlag (QwtRasterData::ConrecFlag) const
void setContourLevels (const QList< double > &)
QList< double > contourLevels () const
virtual int rtti () const
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const
Draw the spectrogram.

Protected Member Functions

virtual QImage renderImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &area, const QSize &imageSize) const
Render an image from data and color map.
virtual QSize contourRasterSize (const QRectF &, const QRect &) const
Return the raster to be used by the CONREC contour algorithm.
virtual QwtRasterData::ContourLines renderContourLines (const QRectF &rect, const QSize &raster) const
virtual void drawContourLines (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtRasterData::ContourLines &) const
void renderTile (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &tile, QImage *) const
Render a tile of an image.

Detailed Description

A plot item, which displays a spectrogram.

A spectrogram displays 3-dimensional data, where the 3rd dimension ( the intensity ) is displayed using colors. The colors are calculated from the values using a color map.

On multi-core systems the performance of the image composition can often be improved by dividing the area into tiles - each of them rendered in a different thread ( see QwtPlotItem::setRenderThreadCount() ).

In ContourMode contour lines are painted for the contour levels.

See also

QwtRasterData, QwtColorMap, QwtPlotItem::setRenderThreadCount()

Member Enumeration Documentation

enum QwtPlotSpectrogram::DisplayMode

The display mode controls how the raster data will be represented.

See also

setDisplayMode(), testDisplayMode()

Enumerator

ImageMode

The values are mapped to colors using a color map.

ContourMode

The data is displayed using contour lines.

Constructor & Destructor Documentation

QwtPlotSpectrogram::QwtPlotSpectrogram (const QString & title = QString()) [explicit]

Sets the following item attributes:

  • QwtPlotItem::AutoScale: true
  • QwtPlotItem::Legend: false

The z value is initialized by 8.0.

Parameters

title Title

See also

QwtPlotItem::setItemAttribute(), QwtPlotItem::setZ()

Member Function Documentation

const QwtColorMap * QwtPlotSpectrogram::colorMap () const

Returns

Color Map used for mapping the intensity values to colors

See also

setColorMap()

QList< double > QwtPlotSpectrogram::contourLevels () const

Returns

Levels of the contour lines.

The levels are sorted in increasing order.

See also

contourLevels(), renderContourLines(), QwtRasterData::contourLines()

QPen QwtPlotSpectrogram::contourPen (double level) const [virtual]

Calculate the pen for a contour line. The color of the pen is the color for level calculated by the color map

Parameters

level Contour level

Returns

Pen for the contour line

Note

contourPen is only used if defaultContourPen().style() == Qt::NoPen

See also

setDefaultContourPen(), setColorMap(), setContourLevels()

QSize QwtPlotSpectrogram::contourRasterSize (const QRectF & area, const QRect & rect) const [protected], [virtual]

Return the raster to be used by the CONREC contour algorithm. A larger size will improve the precision of the CONREC algorithm, but will slow down the time that is needed to calculate the lines.

The default implementation returns rect.size() / 2 bounded to the resolution depending on pixelSize().

Parameters

area Rectangle, where to calculate the contour lines
rect Rectangle in pixel coordinates, where to paint the contour lines

Returns

Raster to be used by the CONREC contour algorithm.

Note

The size will be bounded to rect.size().

See also

drawContourLines(), QwtRasterData::contourLines()

QwtRasterData * QwtPlotSpectrogram::data ()

Returns

Spectrogram data

See also

setData()

const QwtRasterData * QwtPlotSpectrogram::data () const

Returns

Spectrogram data

See also

setData()

QPen QwtPlotSpectrogram::defaultContourPen () const

Returns

Default contour pen

See also

setDefaultContourPen()

void QwtPlotSpectrogram::draw (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect) const [virtual]

Draw the spectrogram.

Parameters

painter Painter
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
canvasRect Contents rectangle of the canvas in painter coordinates

See also

setDisplayMode(), renderImage(), QwtPlotRasterItem::draw(), drawContourLines()

Reimplemented from QwtPlotRasterItem.

void QwtPlotSpectrogram::drawContourLines (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QwtRasterData::ContourLines & contourLines) const [protected], [virtual]

Paint the contour lines

Parameters

painter Painter
xMap Maps x-values into pixel coordinates.
yMap Maps y-values into pixel coordinates.
contourLines Contour lines

See also

renderContourLines(), defaultContourPen(), contourPen()

QwtInterval QwtPlotSpectrogram::interval (Qt::Axis axis) const [virtual]

Returns

Bounding interval for an axis

The default implementation returns the interval of the associated raster data object.

Parameters

axis X, Y, or Z axis

See also

QwtRasterData::interval()

Reimplemented from QwtPlotRasterItem.

QRectF QwtPlotSpectrogram::pixelHint (const QRectF & area) const [virtual]

Pixel hint. The geometry of a pixel is used to calculated the resolution and alignment of the rendered image.

The default implementation returns data()->pixelHint( rect );

Parameters

area In most implementations the resolution of the data doesn't depend on the requested area.

Returns

Bounding rectangle of a pixel

See also

QwtPlotRasterItem::pixelHint(), QwtRasterData::pixelHint(), render(), renderImage()

Reimplemented from QwtPlotRasterItem.

QwtRasterData::ContourLines QwtPlotSpectrogram::renderContourLines (const QRectF & rect, const QSize & raster) const [protected], [virtual]

Calculate contour lines

Parameters

rect Rectangle, where to calculate the contour lines
raster Raster, used by the CONREC algorithm

Returns

Calculated contour lines

See also

contourLevels(), setConrecFlag(), QwtRasterData::contourLines()

QImage QwtPlotSpectrogram::renderImage (const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & area, const QSize & imageSize) const [protected], [virtual]

Render an image from data and color map. For each pixel of area the value is mapped into a color.

Parameters

xMap X-Scale Map
yMap Y-Scale Map
area Requested area for the image in scale coordinates
imageSize Size of the requested image

Returns

A QImage::Format_Indexed8 or QImage::Format_ARGB32 depending on the color map.

See also

QwtRasterData::value(), QwtColorMap::rgb(), QwtColorMap::colorIndex()

Implements QwtPlotRasterItem.

void QwtPlotSpectrogram::renderTile (const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRect & tile, QImage * image) const [protected]

Render a tile of an image. Rendering in tiles can be used to composite an image in parallel threads.

Parameters

xMap X-Scale Map
yMap Y-Scale Map
tile Geometry of the tile in image coordinates
image Image to be rendered

int QwtPlotSpectrogram::rtti () const [virtual]

Returns

QwtPlotItem::Rtti_PlotSpectrogram

Reimplemented from QwtPlotItem.

void QwtPlotSpectrogram::setColorMap (QwtColorMap * colorMap)

Change the color map

Often it is useful to display the mapping between intensities and colors as an additional plot axis, showing a color bar.

Parameters

colorMap Color Map

See also

colorMap(), QwtScaleWidget::setColorBarEnabled(), QwtScaleWidget::setColorMap()

void QwtPlotSpectrogram::setConrecFlag (QwtRasterData::ConrecFlag flag, bool on)

Modify an attribute of the CONREC algorithm, used to calculate the contour lines.

Parameters

flag CONREC flag
on On/Off

See also

testConrecFlag(), renderContourLines(), QwtRasterData::contourLines()

void QwtPlotSpectrogram::setContourLevels (const QList< double > & levels)

Set the levels of the contour lines

Parameters

levels Values of the contour levels

See also

contourLevels(), renderContourLines(), QwtRasterData::contourLines()

Note

contourLevels returns the same levels but sorted.

void QwtPlotSpectrogram::setData (QwtRasterData * data)

Set the data to be displayed

Parameters

data Spectrogram Data

See also

data()

void QwtPlotSpectrogram::setDefaultContourPen (const QColor & color, qreal width = 0.0, Qt::PenStyle style = Qt::SolidLine)

Build and assign the default pen for the contour lines

In Qt5 the default pen width is 1.0 ( 0.0 in Qt4 ) what makes it non cosmetic ( see QPen::isCosmetic() ). This method has been introduced to hide this incompatibility.

Parameters

color Pen color
width Pen width
style Pen style

See also

pen(), brush()

void QwtPlotSpectrogram::setDefaultContourPen (const QPen & pen)

Set the default pen for the contour lines. If the spectrogram has a valid default contour pen a contour line is painted using the default contour pen. Otherwise (pen.style() == Qt::NoPen) the pen is calculated for each contour level using contourPen().

See also

defaultContourPen(), contourPen()

void QwtPlotSpectrogram::setDisplayMode (DisplayMode mode, bool on = true)

The display mode controls how the raster data will be represented.

Parameters

mode Display mode
on On/Off

The default setting enables ImageMode.

See also

DisplayMode, displayMode()

bool QwtPlotSpectrogram::testConrecFlag (QwtRasterData::ConrecFlag flag) const

Test an attribute of the CONREC algorithm, used to calculate the contour lines.

Parameters

flag CONREC flag

Returns

true, is enabled

The default setting enables QwtRasterData::IgnoreAllVerticesOnLevel

See also

setConrecClag(), renderContourLines(), QwtRasterData::contourLines()

bool QwtPlotSpectrogram::testDisplayMode (DisplayMode mode) const

The display mode controls how the raster data will be represented.

Parameters

mode Display mode

Returns

true if mode is enabled

Author

Generated automatically by Doxygen for Qwt User's Guide from the source code.

Info

Mon Jun 1 2020 Version 6.1.5 Qwt User's Guide