Class CubeWriter

  • All Implemented Interfaces:
    TableConsumer

    public class CubeWriter
    extends java.lang.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, java.lang.String[] colIds, java.lang.String scaleId, Combiner combiner, uk.ac.starlink.util.Destination dest, java.lang.Class<?> outType)
      Constructor.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      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 createNumberWriter​(java.io.DataOutput out, java.lang.Class<?> clazz)
      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 Detail

      • CubeWriter

        public CubeWriter​(double[] loBounds,
                          double[] hiBounds,
                          int[] nbins,
                          double[] binSizes,
                          java.lang.String[] colIds,
                          java.lang.String scaleId,
                          Combiner combiner,
                          uk.ac.starlink.util.Destination dest,
                          java.lang.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
        colIds - column ID strings for axes
        scaleId - column ID 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 Detail

      • consume

        public void consume​(uk.ac.starlink.table.StarTable inTable)
                     throws java.io.IOException
        Description copied from interface: TableConsumer
        Consumes a table.
        Specified by:
        consume in interface TableConsumer
        Parameters:
        inTable - table to consume
        Throws:
        java.io.IOException
      • calculateCube

        public static double[] calculateCube​(uk.ac.starlink.table.StarTable table,
                                             Combiner combiner,
                                             double[] loBounds,
                                             int[] nbins,
                                             double[] binSizes)
                                      throws java.io.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:
        java.io.IOException
      • createNumberWriter

        public static uk.ac.starlink.ttools.mode.CubeWriter.NumberWriter createNumberWriter​(java.io.DataOutput out,
                                                                                            java.lang.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