QwtPlotSpectrogram Class Reference

Inheritance diagram for QwtPlotSpectrogram:

Inheritance graph
[legend]
Collaboration diagram for QwtPlotSpectrogram:

Collaboration graph
[legend]
List of all members.

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.

spectrogram3.png

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 QwtRasterDatadata () const
void setColorMap (const QwtColorMap &)
const QwtColorMapcolorMap () 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.

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:

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


Generated on Thu May 1 15:45:24 2008 for Qwt User's Guide by  doxygen 1.5.0