Class CubeWriter

java.lang.Object
uk.ac.starlink.ttools.mode.CubeWriter
All Implemented Interfaces:
TableConsumer

public class CubeWriter extends Object implements TableConsumer
TableConsumer implementation which constructs and outputs a histogram data cube for an input table.
Since:
9 May 2006
Author:
Mark Taylor
  • Constructor Summary

    Constructors
    Constructor
    Description
    CubeWriter(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 Type
    Method
    Description
    static 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
    Constructs an object which can write signed integer values to a DataOutput object.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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, of nbins and binSizes may be null (it will be worked out from the other). Elements of loBounds and hiBounds may be NaN to indicate that the corresponding bound should be calculated from a pass through the data.
      Parameters:
      loBounds - lower bounds for each dimension
      hiBounds - upper bounds for each dimension
      nbins - number of bins in each dimension
      binSizes - extent of bins in each dimension
      colExprs - expression strings for axes
      scaleExpr - expression string for scale column (or null)
      combiner - combination mode
      dest - data output locator
      outType - primitive numeric data type for output data; if null worked out automatically
  • Method Details

    • consume

      public void consume(uk.ac.starlink.table.StarTable inTable) throws IOException
      Description copied from interface: TableConsumer
      Consumes a table.
      Specified by:
      consume in interface TableConsumer
      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 columns
      combiner - combination mode
      loBounds - N-element array of lower bounds by dimension
      nbins - N-element array of number of bins by dimension
      binSizes - 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 stream
      clazz - primitive numeric type for output