Class SpectrogramPlotter
java.lang.Object
uk.ac.starlink.ttools.plot2.layer.SpectrogramPlotter
- All Implemented Interfaces:
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
Nested ClassesModifier and TypeClassDescriptionstatic interface
Defines the spectrum frequency channels.static class
Style subclass for SpectrogramPlotter. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncreateLayer
(DataGeom geom, DataSpec dataSpec, SpectrogramPlotter.SpectroStyle style) The suppliedgeom
is ignored.createStyle
(ConfigMap config) Creates a style that can be used when creating a plot layer.getChannelGrid
(SpectrogramPlotter.SpectroStyle style, uk.ac.starlink.table.ColumnInfo specInfo, uk.ac.starlink.table.StarTable table) Returns the channel grid to use for a given style, spectrum column and table.Returns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects.int
Returns the coordinate index for the time extent coordinate.Returns an XML description of this plotter.Returns an icon for this plotter for use in user interface.Returns the name of this plotter for use in user interface.Returns an opaque object characterising the region of the plot surface covered when using a given plotter style.int
Returns the coordinate index for the spectral coordinate.ConfigKey<?>[]
Returns the configuration keys used to configure style for this plotter.boolean
Indicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code.
-
Constructor Details
-
SpectrogramPlotter
Constructor.- Parameters:
xCoord
- horizontal axis coordinate
-
-
Method Details
-
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
Description copied from interface:Plotter
Returns the name of this plotter for use in user interface.- Specified by:
getPlotterName
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- user-directed plotter name
-
getPlotterIcon
Description copied from interface:Plotter
Returns an icon for this plotter for use in user interface.- Specified by:
getPlotterIcon
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- plotter icon
-
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 interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- one or more <p> elements
-
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 interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- coordinate group
-
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 thePlotter.createStyle(uk.ac.starlink.ttools.plot2.config.ConfigMap)
method.- Specified by:
getStyleKeys
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- keys used when creating a style for this plotter.
-
createStyle
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 byPlotter.getStyleKeys()
. The return value can be used as input toPlotter.createLayer(uk.ac.starlink.ttools.plot2.DataGeom, uk.ac.starlink.ttools.plot2.data.DataSpec, S)
.- Specified by:
createStyle
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Parameters:
config
- map of style configuration items- Returns:
- plotter-specific plot style
-
getRangeStyleKey
Description copied from interface:Plotter
Returns an opaque object characterising the region of the plot surface covered when using a given plotter style. If this object changes between layers produced by this plotter, it provides a hint that it may be necessary to redetermine the axis ranges (usingextendCoordinateRanges
).In many cases, such as scatter-plot-like plotters, the range is determined only by the coordinate data (managed by
DataSpec
inputs) so a null value may be returned. This method is chiefly required by histogram-like plotters for which the region on the plot surface is not the union of the input positions.- Specified by:
getRangeStyleKey
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Parameters:
style
- plot style to assess- Returns:
- opaque object with equality semantics, or null if axis range is not a function of 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 interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Returns:
- true if the plot report may return interesting information
- See Also:
-
createLayer
public PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, SpectrogramPlotter.SpectroStyle style) The suppliedgeom
is ignored.- Specified by:
createLayer
in interfacePlotter<SpectrogramPlotter.SpectroStyle>
- Parameters:
geom
- indicates base position coordinates and their mapping to points in the data spacedataSpec
- specifies the data required for the plotstyle
- data style as obtained fromcreateStyle
- Returns:
- new plot layer, or null if no drawing will take place
-
getChannelGrid
public SpectrogramPlotter.ChannelGrid getChannelGrid(SpectrogramPlotter.SpectroStyle style, uk.ac.starlink.table.ColumnInfo specInfo, uk.ac.starlink.table.StarTable table) Returns the channel grid to use for a given style, spectrum column and table. The column metadata aux items, and the per-table metadata, are trawled to find something appropriate. If nothing is found, a suitable default grid is returned.Currently, anything that looks like an array with shape
(n)
is interpreted as central channel positions, and an array with shape(2,n)
is interpreted as channel low/high bounds.It's a bit ad hoc.
- Parameters:
style
- stylespecInfo
- column metadata for spectral columntable
- table from which spectral column is taken- Returns:
- channel grid, not null
-