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::null)
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 *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRectF &rect) 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 *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtRasterData::ContourLines &lines) const
void renderTile (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &imageRect, QImage *image) 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::null) [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.