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

  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
void setColorTableSize (int numColors)
int colorTableSize () const
virtual QwtInterval interval (Qt::Axis) const override
virtual QRectF pixelHint (const QRectF &) const override
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 override
virtual void draw (QPainter *, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &canvasRect) const override
Draw the spectrogram.

  Protected Member Functions
virtual QImage renderImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &area, const QSize &imageSize) const override
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()

Definition at line 36 of file qwt_plot_spectrogram.h.

Member Typedef Documentation

  typedef QFlags<DisplayMode > QwtPlotSpectrogram::DisplayModes
An ORed combination of DisplayMode values.

Definition at line 53 of file qwt_plot_spectrogram.h.

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.

Definition at line 44 of file qwt_plot_spectrogram.h.

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()

Definition at line 108 of file qwt_plot_spectrogram.cpp.

Member Function Documentation

  const QwtColorMap * QwtPlotSpectrogram::colorMap () const

Returns
    Color Map used for mapping the intensity values to colors

See also
    setColorMap()

Definition at line 200 of file qwt_plot_spectrogram.cpp.

  int QwtPlotSpectrogram::colorTableSize () const

Returns
    Size of the color table, 0 means not using a color table

See also
    QwtColorMap::colorTable(), setColorTableSize()

Definition at line 238 of file qwt_plot_spectrogram.cpp.

  QList< double > QwtPlotSpectrogram::contourLevels () const

Returns
    Levels of the contour lines.

The levels are sorted in increasing order.

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

Definition at line 382 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 303 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 663 of file qwt_plot_spectrogram.cpp.

  QwtRasterData * QwtPlotSpectrogram::data ()

Returns
    Spectrogram data

See also
    setData()

Definition at line 418 of file qwt_plot_spectrogram.cpp.

  const QwtRasterData * QwtPlotSpectrogram::data () const

Returns
    Spectrogram data

See also
    setData()

Definition at line 409 of file qwt_plot_spectrogram.cpp.

  QPen QwtPlotSpectrogram::defaultContourPen () const

Returns
    Default contour pen

See also
    setDefaultContourPen()

Definition at line 287 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::draw (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & canvasRect) const [override], [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.

Definition at line 754 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 709 of file qwt_plot_spectrogram.cpp.

  QwtInterval QwtPlotSpectrogram::interval (Qt::Axis axis) const [override], [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.

Definition at line 432 of file qwt_plot_spectrogram.cpp.

  QRectF QwtPlotSpectrogram::pixelHint (const QRectF & area) const [override], [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.

Definition at line 456 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 689 of file qwt_plot_spectrogram.cpp.

  QImage QwtPlotSpectrogram::renderImage (const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRectF & area, const QSize & imageSize) const [override], [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.

Definition at line 480 of file qwt_plot_spectrogram.cpp.

  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

Definition at line 572 of file qwt_plot_spectrogram.cpp.

  int QwtPlotSpectrogram::rtti () const [override], [virtual]

Returns
    QwtPlotItem::Rtti_PlotSpectrogram

Reimplemented from QwtPlotItem.

Definition at line 126 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 177 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::setColorTableSize (int numColors)
Limit the number of colors being used by the color map

When using a color table the mapping from the value into a color is usually faster as it can be done by simple lookups into a precalculated color table.

Setting a table size > 0 enables using a color table, while setting the size to 0 disables it.

The default size = 0, and no color table is used.

Parameters
    numColors Number of colors. 0 means not using a color table

Note
    The colorTableSize has no effect when using a color table of QwtColorMap::Indexed, where the size is always 256.

See also
    QwtColorMap::colorTable(), colorTableSize()

Definition at line 224 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 324 of file qwt_plot_spectrogram.cpp.

  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.

Definition at line 365 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::setData (QwtRasterData * data)
Set the data to be displayed

Parameters
    data Spectrogram Data

See also
    data()

Definition at line 393 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 256 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 272 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 141 of file qwt_plot_spectrogram.cpp.

  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()

Definition at line 350 of file qwt_plot_spectrogram.cpp.

  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

Definition at line 161 of file qwt_plot_spectrogram.cpp.

Author

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