Package uk.ac.starlink.ttools.mode
Class CubeWriter
java.lang.Object
uk.ac.starlink.ttools.mode.CubeWriter
- All Implemented Interfaces:
TableConsumer
TableConsumer implementation which constructs and outputs a histogram
data cube for an input table.
- Since:
- 9 May 2006
- Author:
- Mark Taylor
-
Constructor Summary
ConstructorsConstructorDescriptionCubeWriter
(double[] loBounds, double[] hiBounds, int[] nbins, double[] binSizes, String[] colExprs, String scaleExpr, Combiner combiner, uk.ac.starlink.util.Destination dest, Class<?> outType) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic double[]
calculateCube
(uk.ac.starlink.table.StarTable table, Combiner combiner, double[] loBounds, int[] nbins, double[] binSizes) Accumulates the contents of an N-dimensional histogram representing data from an N+1-columned table.void
consume
(uk.ac.starlink.table.StarTable inTable) Consumes a table.static uk.ac.starlink.ttools.mode.CubeWriter.NumberWriter
createNumberWriter
(DataOutput out, Class<?> clazz) Constructs an object which can write signed integer values to a DataOutput object.
-
Constructor Details
-
CubeWriter
public CubeWriter(double[] loBounds, double[] hiBounds, int[] nbins, double[] binSizes, String[] colExprs, String scaleExpr, Combiner combiner, uk.ac.starlink.util.Destination dest, Class<?> outType) Constructor. One, but not both, ofnbins
andbinSizes
may be null (it will be worked out from the other). Elements ofloBounds
andhiBounds
may be NaN to indicate that the corresponding bound should be calculated from a pass through the data.- Parameters:
loBounds
- lower bounds for each dimensionhiBounds
- upper bounds for each dimensionnbins
- number of bins in each dimensionbinSizes
- extent of bins in each dimensioncolExprs
- expression strings for axesscaleExpr
- expression string for scale column (or null)combiner
- combination modedest
- data output locatoroutType
- primitive numeric data type for output data; if null worked out automatically
-
-
Method Details
-
consume
Description copied from interface:TableConsumer
Consumes a table.- Specified by:
consume
in interfaceTableConsumer
- Parameters:
inTable
- table to consume- Throws:
IOException
-
calculateCube
public static double[] calculateCube(uk.ac.starlink.table.StarTable table, Combiner combiner, double[] loBounds, int[] nbins, double[] binSizes) throws IOException Accumulates the contents of an N-dimensional histogram representing data from an N+1-columned table. The final column is a scaling value.- Parameters:
table
- table with N+1 columnscombiner
- combination modeloBounds
- N-element array of lower bounds by dimensionnbins
- N-element array of number of bins by dimensionbinSizes
- N-element array of bin extents by dimension- Throws:
IOException
-
createNumberWriter
public static uk.ac.starlink.ttools.mode.CubeWriter.NumberWriter createNumberWriter(DataOutput out, Class<?> clazz) Constructs an object which can write signed integer values to a DataOutput object.- Parameters:
out
- destination streamclazz
- primitive numeric type for output
-