Scroll to navigation

QwtPlotSpectrogram(3) Qwt User's Guide QwtPlotSpectrogram(3)

NAME

QwtPlotSpectrogram - 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

The values are mapped to colors using a color map.
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()

const QwtRasterData * QwtPlotSpectrogram::data () const

Returns:

Spectrogram data

See also:

setData()

QwtRasterData * QwtPlotSpectrogram::data ()

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.

Wed Jan 2 2019 Version 6.1.4