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

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.