uk.ac.starlink.ttools.plot2.layer
Class SpectrogramPlotter

java.lang.Object
  extended by uk.ac.starlink.ttools.plot2.layer.SpectrogramPlotter
All Implemented Interfaces:
Plotter<SpectrogramPlotter.SpectroStyle>

public class SpectrogramPlotter
extends Object
implements Plotter<SpectrogramPlotter.SpectroStyle>

Plotter for spectrograms. A spectrogram is a spectrum represented as a vertical line of pixels at successive positions in a time series (time axis horizontal, spectral axis vertical).

Since:
16 Jul 2013
Author:
Mark Taylor

Nested Class Summary
static interface SpectrogramPlotter.ChannelGrid
          Defines the spectrum frequency channels.
static class SpectrogramPlotter.SpectroStyle
          Style subclass for SpectrogramPlotter.
 
Constructor Summary
SpectrogramPlotter(FloatingCoord xCoord)
          Constructor.
 
Method Summary
 PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, SpectrogramPlotter.SpectroStyle style)
          The supplied geom is ignored.
 SpectrogramPlotter.SpectroStyle createStyle(ConfigMap config)
          Creates a style that can be used when creating a plot layer.
 CoordGroup getCoordGroup()
          Returns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects.
 int getExtentCoordIndex()
          Returns the coordinate index for the time extent coordinate.
 String getPlotterDescription()
          Returns an XML description of this plotter.
 Icon getPlotterIcon()
          Returns an icon for this plotter for use in user interface.
 String getPlotterName()
          Returns the name of this plotter for use in user interface.
 int getSpectrumCoordIndex()
          Returns the coordinate index for the spectral coordinate.
 ConfigKey[] getStyleKeys()
          Returns the configuration keys used to configure style for this plotter.
 boolean hasReports()
          Indicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpectrogramPlotter

public SpectrogramPlotter(FloatingCoord xCoord)
Constructor.

Parameters:
xCoord - horizontal axis coordinate
Method Detail

getSpectrumCoordIndex

public int getSpectrumCoordIndex()
Returns the coordinate index for the spectral coordinate.

Returns:
spectrum coordinate index

getExtentCoordIndex

public int getExtentCoordIndex()
Returns the coordinate index for the time extent coordinate.

Returns:
time extent coordinate index

getPlotterName

public String getPlotterName()
Description copied from interface: Plotter
Returns the name of this plotter for use in user interface.

Specified by:
getPlotterName in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
user-directed plotter name

getPlotterIcon

public Icon getPlotterIcon()
Description copied from interface: Plotter
Returns an icon for this plotter for use in user interface.

Specified by:
getPlotterIcon in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
plotter icon

getPlotterDescription

public String getPlotterDescription()
Description copied from interface: Plotter
Returns an XML description of this plotter.

Note: really this should appear at the LayerType level.

Specified by:
getPlotterDescription in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
one or more <p> elements

getCoordGroup

public CoordGroup getCoordGroup()
Description copied from interface: Plotter
Returns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects.

Specified by:
getCoordGroup in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
coordinate group

getStyleKeys

public ConfigKey[] getStyleKeys()
Description copied from interface: Plotter
Returns the configuration keys used to configure style for this plotter. The keys in the return value are used in the map supplied to the Plotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap) method.

Specified by:
getStyleKeys in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
keys used when creating a style for this plotter.

createStyle

public SpectrogramPlotter.SpectroStyle createStyle(ConfigMap config)
Description copied from interface: Plotter
Creates a style that can be used when creating a plot layer. The keys that are significant in the supplied config map are those returned by Plotter.getStyleKeys(). The return value can be used as input to Plotter.createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S).

Specified by:
createStyle in interface Plotter<SpectrogramPlotter.SpectroStyle>
Parameters:
config - map of style configuration items
Returns:
plotter-specific plot style

hasReports

public boolean hasReports()
Description copied from interface: Plotter
Indicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code.

Specified by:
hasReports in interface Plotter<SpectrogramPlotter.SpectroStyle>
Returns:
true if the plot report may return interesting information
See Also:
Drawing.getReport(java.lang.Object)

createLayer

public PlotLayer createLayer(DataGeom geom,
                             DataSpec dataSpec,
                             SpectrogramPlotter.SpectroStyle style)
The supplied geom is ignored.

Specified by:
createLayer in interface Plotter<SpectrogramPlotter.SpectroStyle>
Parameters:
geom - indicates base position coordinates and their mapping to points in the data space; if non-null, the data geom's DataGeom.hasPosition() method will return true
dataSpec - specifies the data required for the plot
style - data style as obtained from createStyle
Returns:
new plot layer, or null if no drawing will take place


Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.