QwtPlotSpectrogram (3) - Linux Manuals

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 (doublelevel) 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::Axisaxis) 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::ConrecFlagflag, boolon)

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, qrealwidth = 0.0, Qt::PenStylestyle = 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 (DisplayModemode, boolon = 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::ConrecFlagflag) 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 (DisplayModemode) 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.