QwtPlotSpectrogram(3)

NAME
QwtPlotSpectrogram -

SYNOPSIS

Inherits QwtPlotRasterItem.

Detailed Description

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

In ContourMode contour lines are painted for the contour levels.

See also:
    QwtRasterData, QwtColorMap

Definition at line 35 of file qwt_plot_spectrogram.h.

  Public Types
enum DisplayMode { AlwaysOff, AlwaysOn, ActiveOnly, ImageMode = 1, ContourMode = 2 }

  Public Member Functions
QwtPlotSpectrogram (const QString &title=QString::null)
virtual ~QwtPlotSpectrogram ()
void setDisplayMode (DisplayMode, bool on=true)
bool testDisplayMode (DisplayMode) const
void setData (const QwtRasterData &data)
const QwtRasterData & data () const
void setColorMap (const QwtColorMap &)
const QwtColorMap & colorMap () const
virtual QwtDoubleRect boundingRect () const
virtual QSize rasterHint (const QwtDoubleRect &) const
void setDefaultContourPen (const QPen &)
QPen defaultContourPen () const
virtual QPen contourPen (double level) const
void setConrecAttribute (QwtRasterData::ConrecAttribute, bool on)
bool testConrecAttribute (QwtRasterData::ConrecAttribute) const
void setContourLevels (const QwtValueList &)
QwtValueList contourLevels () const
virtual int rtti () const
virtual void draw (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QRect &rect) const

  Protected Member Functions
virtual QImage renderImage (const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtDoubleRect &rect) const
virtual QSize contourRasterSize (const QwtDoubleRect &, const QRect &) const
virtual QwtRasterData::ContourLines renderContourLines (const QwtDoubleRect &rect, const QSize &raster) const
virtual void drawContourLines (QPainter *p, const QwtScaleMap &xMap, const QwtScaleMap &yMap, const QwtRasterData::ContourLines &lines) const

Member Enumeration Documentation

  enum QwtPlotSpectrogram::DisplayMode

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

•   ImageMode
     The values are mapped to colors using a color map.

•   ContourMode
     The data is displayed using contour lines

When both modes are enabled the contour lines are painted on top of the spectrogram. The default setting enables ImageMode.

See also:
    setDisplayMode(), testDisplayMode()

Definition at line 51 of file qwt_plot_spectrogram.h.

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

Definition at line 134 of file qwt_plot_spectrogram.cpp.

References QwtPlotItem::setItemAttribute(), and QwtPlotItem::setZ().

  QwtPlotSpectrogram::~QwtPlotSpectrogram () [virtual]

Destructor.

Definition at line 146 of file qwt_plot_spectrogram.cpp.

Member Function Documentation

  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 167 of file qwt_plot_spectrogram.cpp.

References QwtPlotItem::itemChanged().

  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 186 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::setData (const QwtRasterData & data)

Set the data to be displayed

Parameters:
    data Spectrogram Data

See also:
    data()

Definition at line 342 of file qwt_plot_spectrogram.cpp.

References QwtRasterData::copy(), data(), QwtPlotRasterItem::invalidateCache(), and QwtPlotItem::itemChanged().

  const QwtRasterData & QwtPlotSpectrogram::data () const

Returns:
    Spectrogram data

See also:
    setData()

Definition at line 355 of file qwt_plot_spectrogram.cpp.

Referenced by setData().

  void QwtPlotSpectrogram::setColorMap (const 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 202 of file qwt_plot_spectrogram.cpp.

References colorMap(), QwtColorMap::copy(), QwtPlotRasterItem::invalidateCache(), and QwtPlotItem::itemChanged().

  const QwtColorMap & QwtPlotSpectrogram::colorMap () const

Returns:
    Color Map used for mapping the intensity values to colors

See also:
    setColorMap()

Definition at line 215 of file qwt_plot_spectrogram.cpp.

Referenced by setColorMap().

  QwtDoubleRect QwtPlotSpectrogram::boundingRect () const [virtual]

Returns:
    Bounding rect of the data

See also:
    QwtRasterData::boundingRect

Reimplemented from QwtPlotItem.

Definition at line 364 of file qwt_plot_spectrogram.cpp.

Referenced by draw().

  QSize QwtPlotSpectrogram::rasterHint (const QwtDoubleRect & rect) const [virtual]

Returns the recommended raster for a given rect.

F.e the raster hint is used to limit the resolution of the image that is rendered.

Parameters:
    rect Rect for the raster hint

Returns:
    data().rasterHint(rect)

Reimplemented from QwtPlotRasterItem.

Definition at line 378 of file qwt_plot_spectrogram.cpp.

Referenced by contourRasterSize().

  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 230 of file qwt_plot_spectrogram.cpp.

References QwtPlotItem::itemChanged().

  QPen QwtPlotSpectrogram::defaultContourPen () const

Returns:
    Default contour pen

See also:
    setDefaultContourPen

Definition at line 243 of file qwt_plot_spectrogram.cpp.

Referenced by drawContourLines().

  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 259 of file qwt_plot_spectrogram.cpp.

Referenced by drawContourLines().

  void QwtPlotSpectrogram::setConrecAttribute (QwtRasterData::ConrecAttribute attribute, bool on)

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

Parameters:
    attribute CONREC attribute
    on On/Off

See also:
    testConrecAttribute, renderContourLines, QwtRasterData::contourLines

Definition at line 276 of file qwt_plot_spectrogram.cpp.

References QwtPlotItem::itemChanged().

  bool QwtPlotSpectrogram::testConrecAttribute (QwtRasterData::ConrecAttribute attribute) const

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

Parameters:
    attribute CONREC attribute

Returns:
    true, is enabled

See also:
    setConrecAttribute, renderContourLines, QwtRasterData::contourLines

Definition at line 299 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::setContourLevels (const QwtValueList & 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 313 of file qwt_plot_spectrogram.cpp.

References QwtPlotItem::itemChanged().

  QwtValueList QwtPlotSpectrogram::contourLevels () const

Return the levels of the contour lines.

The levels are sorted in increasing order.

See also:
    contourLevels, renderContourLines, QwtRasterData::contourLines

Definition at line 331 of file qwt_plot_spectrogram.cpp.

  int QwtPlotSpectrogram::rtti () const [virtual]

Returns:
    QwtPlotItem::Rtti_PlotSpectrogram

Reimplemented from QwtPlotItem.

Definition at line 152 of file qwt_plot_spectrogram.cpp.

  void QwtPlotSpectrogram::draw (QPainter * painter, const QwtScaleMap & xMap, const QwtScaleMap & yMap, const QRect & 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 rect of the canvas in painter coordinates

See also:
    setDisplayMode, renderImage, QwtPlotRasterItem::draw, drawContourLines

Reimplemented from QwtPlotRasterItem.

Definition at line 615 of file qwt_plot_spectrogram.cpp.

References boundingRect(), contourRasterSize(), QwtPlotRasterItem::draw(), drawContourLines(), QwtPlotItem::invTransform(), renderContourLines(), and QwtPlotItem::transform().

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

Render an image from the data and color map.

The area is translated into a rect of the paint device. For each pixel of this rect the intensity is mapped into a color.

Parameters:
    xMap X-Scale Map
    yMap Y-Scale Map
    area Area that should be rendered in scale coordinates.

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

See also:
    QwtRasterData::intensity(), QwtColorMap::rgb(), QwtColorMap::colorIndex()

Implements QwtPlotRasterItem.

Definition at line 400 of file qwt_plot_spectrogram.cpp.

References QwtScaleMap::invTransform(), QwtScaleMap::p1(), QwtScaleMap::p2(), QwtScaleMap::s1(), QwtScaleMap::s2(), QwtScaleMap::setPaintInterval(), QwtScaleMap::setScaleInterval(), and QwtPlotItem::transform().

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

Return the raster to be used by the CONREC contour algorithm.

A larger size will improve the precisision 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 data().rasterHint().

Parameters:
    area Rect, where to calculate the contour lines
    rect Rect 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 529 of file qwt_plot_spectrogram.cpp.

References rasterHint().

Referenced by draw().

  QwtRasterData::ContourLines QwtPlotSpectrogram::renderContourLines (const QwtDoubleRect & 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

See also:
    contourLevels, setConrecAttribute, QwtRasterData::contourLines

Definition at line 549 of file qwt_plot_spectrogram.cpp.

Referenced by draw().

  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 566 of file qwt_plot_spectrogram.cpp.

References contourPen(), defaultContourPen(), QwtPainter::drawLine(), and QwtScaleMap::transform().

Referenced by draw().

Author

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