|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectuk.ac.starlink.ttools.plot2.layer.Pixel1dPlotter<S>
public abstract class Pixel1dPlotter<S extends Style>
Abstract superclass for histogram-like plotters that have pixel-sized bins with optional smoothing. Only works with PlaneSurfaces.
Nested Class Summary | |
---|---|
static class |
Pixel1dPlotter.BinArray
Data object storing counts per pixel. |
static class |
Pixel1dPlotter.Pixel1dPlan
Plot plan implementation for this class. |
Field Summary | |
---|---|
static ConfigKey<Kernel1dShape> |
KERNEL_KEY
Config key for smoothing kernel shape. |
static ConfigKey<BinSizer> |
SMOOTHSIZER_KEY
Config key for smoothing width configuration. |
static ReportKey<Double> |
SMOOTHWIDTH_KEY
Report key for smoothing width. |
Constructor Summary | |
---|---|
protected |
Pixel1dPlotter(FloatingCoord xCoord,
boolean hasWeight,
String name,
Icon icon)
Constructor. |
Method Summary | |
---|---|
Pixel1dPlotter.Pixel1dPlan |
calculatePixelPlan(Object[] knownPlans,
Axis xAxis,
int xpad,
DataSpec dataSpec,
DataStore dataStore)
Calculates the plan object for this plotter. |
static Kernel1d |
createKernel(Kernel1dShape kernelShape,
BinSizer sizer,
Axis xAxis,
boolean xLog)
Creates a new kernel from configuration items. |
PlotLayer |
createLayer(DataGeom geom,
DataSpec dataSpec,
S style)
The supplied geom is ignored. |
protected abstract void |
extendPixel1dCoordinateRanges(Range[] ranges,
boolean[] logFlags,
S style,
DataSpec dataSpec,
DataStore dataStore)
Performs any required range extension. |
CoordGroup |
getCoordGroup()
Returns an object describing which data coordinates are used for this plotter and how they are arranged in supplied DataSpec objects. |
static double[] |
getDataBins(Pixel1dPlotter.BinArray binArray,
Axis xAxis,
Kernel1d kernel,
Normalisation norm,
boolean cumul)
Returns an array of data coordinate values, one for each bin accumulated by the bin array (X pixel value). |
static int |
getEffectiveExtent(Kernel1d kernel)
Returns the range of a given kernel over which it will be evaluated for the purposes of this plotter. |
protected abstract LayerOpt |
getLayerOpt(S style)
Returns the LayerOpt suitable for a given style for this plotter. |
protected abstract ReportMap |
getPixel1dReport(Pixel1dPlotter.Pixel1dPlan plan,
S style,
boolean xLog)
Returns information associated with the plot. |
protected abstract int |
getPixelPadding(S style,
PlaneSurface surf)
Returns the padding required at both ends of the array of pixel bins for calculations. |
static double |
getPixelWidth(BinSizer sizer,
Axis xAxis,
boolean xLog)
Calculates the width in pixel coordinates represented by a bin sizer applied to a given axis. |
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 |
getWeightCoordIndex()
Returns the DataSpec coord index used for the weighting data for this plotter. |
boolean |
hasReports()
Indicates whether the drawings produced by this plotter will return general interest report information to upstream plotting code. |
protected abstract void |
paintBins(PlaneSurface surface,
Pixel1dPlotter.BinArray binArray,
S style,
Graphics2D g)
Draws the graphical representation of a given array of counts per horizontal pixel. |
Pixel1dPlotter.BinArray |
readBins(Axis xAxis,
int padPix,
DataSpec dataSpec,
DataStore dataStore)
Reads per-horizontal-pixel frequency data from a given data set. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface uk.ac.starlink.ttools.plot2.Plotter |
---|
createStyle, getPlotterDescription, getStyleKeys |
Field Detail |
---|
public static final ReportKey<Double> SMOOTHWIDTH_KEY
public static final ConfigKey<BinSizer> SMOOTHSIZER_KEY
public static final ConfigKey<Kernel1dShape> KERNEL_KEY
Constructor Detail |
---|
protected Pixel1dPlotter(FloatingCoord xCoord, boolean hasWeight, String name, Icon icon)
xCoord
- X axis coordinatehasWeight
- true to permit histogram weightingname
- plotter nameicon
- plotter iconMethod Detail |
---|
public String getPlotterName()
Plotter
getPlotterName
in interface Plotter<S extends Style>
public Icon getPlotterIcon()
Plotter
getPlotterIcon
in interface Plotter<S extends Style>
public CoordGroup getCoordGroup()
Plotter
getCoordGroup
in interface Plotter<S extends Style>
public boolean hasReports()
Plotter
hasReports
in interface Plotter<S extends Style>
Drawing.getReport(java.lang.Object)
protected abstract LayerOpt getLayerOpt(S style)
style
- plot style
protected abstract int getPixelPadding(S style, PlaneSurface surf)
style
- plotting stylesurf
- plotting surface
protected abstract void paintBins(PlaneSurface surface, Pixel1dPlotter.BinArray binArray, S style, Graphics2D g)
surface
- plotting surfacebinArray
- counts per X axis pixelstyle
- plotting styleg
- graphics contextprotected abstract void extendPixel1dCoordinateRanges(Range[] ranges, boolean[] logFlags, S style, DataSpec dataSpec, DataStore dataStore)
ranges
- array of data space dimension ranges to updatelogFlags
- array of linear/log flags corresponding to rangesstyle
- plotting styledataSpec
- data specificationdataStore
- data storage objectPlotLayer.extendCoordinateRanges(uk.ac.starlink.ttools.plot.Range[], boolean[], uk.ac.starlink.ttools.plot2.data.DataStore)
protected abstract ReportMap getPixel1dReport(Pixel1dPlotter.Pixel1dPlan plan, S style, boolean xLog)
plan
- plotting planstyle
- plot stylexLog
- true iff X axis is logarithmic
Drawing.getReport(java.lang.Object)
public Pixel1dPlotter.Pixel1dPlan calculatePixelPlan(Object[] knownPlans, Axis xAxis, int xpad, DataSpec dataSpec, DataStore dataStore)
knownPlans
- available plan objectsxAxis
- bin width axisxpad
- number of pixel bins required each side of plot rangedataSpec
- data specificationdataStore
- data storage objectpublic PlotLayer createLayer(DataGeom geom, DataSpec dataSpec, S style)
geom
is ignored.
createLayer
in interface Plotter<S extends Style>
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 truedataSpec
- specifies the data required for the plotstyle
- data style as obtained from createStyle
public int getWeightCoordIndex()
public Pixel1dPlotter.BinArray readBins(Axis xAxis, int padPix, DataSpec dataSpec, DataStore dataStore)
xAxis
- axis along which frequencies are accumulatedpadPix
- number of pixels in each direction
outside of the axis range over which counts should
be gathereddataSpec
- specification for frequency data valuesdataStore
- data storagepublic static double[] getDataBins(Pixel1dPlotter.BinArray binArray, Axis xAxis, Kernel1d kernel, Normalisation norm, boolean cumul)
binArray
- basic resultsxAxis
- axis over which counts are accumulatedkernel
- smoothing kernelnorm
- normalisation modecumul
- true for cumulative representation
public static int getEffectiveExtent(Kernel1d kernel)
kernel
-
public static Kernel1d createKernel(Kernel1dShape kernelShape, BinSizer sizer, Axis xAxis, boolean xLog)
kernelShape
- functional formsizer
- determines width in data coordinatesxAxis
- axis on which samples occurxLog
- true for logarithmic x axis, false for linear
public static double getPixelWidth(BinSizer sizer, Axis xAxis, boolean xLog)
sizer
- determines width in data coordinatesxAxis
- axis on which samples occurxLog
- true for logarithmic x axis, false for linear
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |