org.eclipse.january.dataset

## Class AbstractDataset

- java.lang.Object
- - org.eclipse.january.dataset.LazyDatasetBase
  - - org.eclipse.january.dataset.AbstractDataset

- All Implemented Interfaces:
    Serializable, Dataset, IDataset, ILazyDataset, IMetadataProvider, INameable
  Direct Known Subclasses:
    AbstractCompoundDataset, BooleanDatasetBase, ByteDataset, DoubleDataset, FloatDataset, IntegerDataset, LongDataset, ObjectDatasetBase, ShortDataset, StringDatasetBase

      public abstract class AbstractDataset
      extends LazyDatasetBase
      implements Dataset

  Generic container class for data

  Each subclass has an array of primitive types, elements of this array are grouped or compounded to make items

  Data items can be boolean, integer, float, complex float, vector float, etc

  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected AbstractDataset` | `base`
    `protected static char` | `BLOCK_CLOSE`
    `protected static char` | `BLOCK_OPEN`
    `protected Serializable` | `odata` The data itself, held in a 1D array, but the object will wrap it to appear as possessing as many dimensions as wanted
    `protected int` | `offset`
    `protected int` | `size`
    `protected int[]` | `stride`
    `protected Format` | `stringFormat`

    - ### Fields inherited from class org.eclipse.january.dataset.LazyDatasetBase

      `metadata, name, shape`

    - ### Fields inherited from interface org.eclipse.january.dataset.Dataset

      `ARRAYFLOAT32, ARRAYFLOAT64, ARRAYINT16, ARRAYINT32, ARRAYINT64, ARRAYINT8, ARRAYMUL, BOOL, COMPLEX, COMPLEX128, COMPLEX64, DATE, FLOAT, FLOAT32, FLOAT64, INT, INT16, INT32, INT64, INT8, OBJECT, RGB, RGB8, STRING`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AbstractDataset()` Constructor required for serialisation.

  - ### Method Summary

    All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `all()`
    `BooleanDataset` | `all(int axis)`
    `boolean` | `any()`
    `BooleanDataset` | `any(int axis)`
    `int` | `argMax(boolean... ignoreInvalids)` Find absolute index of maximum value (in a flattened view)
    `IntegerDataset` | `argMax(int axis, boolean... ignoreInvalids)` Find indices of maximum values along given axis
    `int` | `argMin(boolean... ignoreInvalids)` Find absolute index of minimum value (in a flattened view)
    `IntegerDataset` | `argMin(int axis, boolean... ignoreInvalids)` Find indices of minimum values along given axis
    `protected static int` | `calcSteps(double start, double stop, double step)`
    `Dataset` | `cast(boolean repeat, int dtype, int isize)` Cast a dataset
    `<T extends Dataset> T` | `cast(Class<T> clazz)` Cast a dataset
    `Dataset` | `cast(int dtype)` Cast a dataset
    `<T extends Dataset> T` | `cast(int isize, Class<T> clazz, boolean repeat)` Cast a dataset
    `int` | `checkAxis(int axis)` Check that axis is in range [-rank,rank)
    `protected static int` | `checkAxis(int rank, int axis)` Deprecated.
    `void` | `checkCompatibility(ILazyDataset g)` This method takes a dataset and checks its shape against the current dataset.
    `abstract AbstractDataset` | `clone()` Clone dataset
    `<T extends Dataset> T` | `copy(Class<T> clazz)` Copy and cast a dataset
    `Dataset` | `copy(int dtype)` Copy and cast a dataset
    `protected static void` | `copyToView(Dataset orig, AbstractDataset view, boolean clone, boolean cloneMetadata)` Copy fields from original to view
    `long` | `count(boolean... ignoreInvalids)`
    `Dataset` | `count(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `count(int axis, boolean... ignoreInvalids)`
    `static int[]` | `createStrides(Dataset a, int[] offset)` Create a stride array from dataset
    `static int[]` | `createStrides(int isize, int[] shape, int[] oStride, int oOffset, int[] offset)` Create a stride array from dataset
    `static int[]` | `createStrides(SliceND slice, Dataset a, int[] stride, int[] offset)` Create a stride array from slice information and a dataset
    `static int[]` | `createStrides(SliceND slice, int isize, int[] shape, int[] oStride, int oOffset, int[] stride, int[] offset)` Create a stride array from slice and dataset information
    `protected void` | `fillData(Object obj, int depth, int[] pos)` Fill dataset from object at depth dimension
    `Dataset` | `flatten()` Flatten shape
    `int` | `get1DIndex(int... n)` This method calculates the index in the data array that corresponds to the given n-dimensional position
    `protected int` | `get1DIndex(int i)`
    `protected int` | `get1DIndex(int i, int j)`
    `protected int` | `get1DIndexFromShape(int[] n)`
    `protected static int` | `get1DIndexFromShape(int[] shape, int[] n)`
    `BooleanIterator` | `getBooleanIterator(Dataset choice)` Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is true
    `BooleanIterator` | `getBooleanIterator(Dataset choice, boolean value)` Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is given by value
    `Dataset` | `getBroadcastView(int... broadcastShape)`
    `Serializable` | `getBuffer()`
    `protected abstract int` | `getBufferLength()`
    `Dataset` | `getBy1DIndex(IntegerDataset index)` This is modelled after the NumPy get item with an index dataset
    `Dataset` | `getByBoolean(Dataset selection)` This is modelled after the NumPy get item with a condition specified by a boolean dataset
    `Dataset` | `getByIndexes(Object... indexes)` This is modelled after the NumPy get item with an array of indexing objects
    `int` | `getDType()`
    `Class<?>` | `getElementClass()`
    `int` | `getElementsPerItem()`
    `double` | `getError()` Get the error for the first item.
    `double` | `getError(int... pos)` Get the error for a given position.
    `double` | `getError(int i)` Get the error for given position.
    `double` | `getError(int i, int j)` Get the error for given position.
    `double[]` | `getErrorArray(int... pos)` Get the error values for a single point in the dataset
    `double[]` | `getErrorArray(int i)` Get the error values for given position
    `double[]` | `getErrorArray(int i, int j)` Get the error values for given position
    `Dataset` | `getErrorBuffer()` Get the (un-broadcasted) dataset that backs the (squared) error data
    `Dataset` | `getErrors()` Get the errors, if any.
    `protected int` | `getFirst1DIndex()`
    `IntegerDataset` | `getIndices()` Generate an index dataset for current dataset
    `protected Dataset` | `getInternalSquaredError()`
    `int` | `getItemBytes()`
    `IndexIterator` | `getIterator()`
    `IndexIterator` | `getIterator(boolean withPosition)`
    `static int` | `getMaxLineLength()`
    `int` | `getNbytes()`
    `int[]` | `getNDPosition(int n)` This method calculates the n-dimensional position in the dataset of the given index in the data array
    `int` | `getOffset()`
    `PositionIterator` | `getPositionIterator(int... axes)`
    `int` | `getRank()` The rank (or number of dimensions/indices) of the dataset can be zero for a zero-rank (single-valued) dataset
    `Dataset` | `getRealPart()`
    `Dataset` | `getRealView()`
    `int[]` | `getShape()` The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets
    `int[]` | `getShapeRef()` The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets and null for null datasets
    `int` | `getSize()` The size of the dataset is the number of items in the array
    `Dataset` | `getSlice(IMonitor monitor, int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSlice(IMonitor monitor, Slice... slice)` Get a slice of the dataset.
    `Dataset` | `getSlice(IMonitor monitor, SliceND slice)` Get a slice of the dataset.
    `Dataset` | `getSlice(int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSlice(Slice... slice)` Get a slice of the dataset.
    `abstract AbstractDataset` | `getSlice(SliceIterator iterator)` Get a slice of the dataset.
    `Dataset` | `getSlice(SliceND slice)` Get a slice of the dataset.
    `IndexIterator` | `getSliceIterator(int[] start, int[] stop, int[] step)`
    `IndexIterator` | `getSliceIterator(SliceND slice)`
    `SliceIterator` | `getSliceIteratorFromAxes(int[] pos, boolean[] axes)` Get a slice iterator that is defined by a starting position and a set of axes to include
    `Dataset` | `getSliceView(int[] start, int[] stop, int[] step)` Get a slice of the dataset.
    `Dataset` | `getSliceView(Slice... slice)` Get a slice of the dataset.
    `Dataset` | `getSliceView(SliceND slice)` Get a slice of the dataset.
    `protected StatisticsMetadata<Number>` | `getStats()`
    `int[]` | `getStrides()`
    `protected StatisticsMetadata<String>` | `getStringStats()`
    `Dataset` | `getTransposedView(int... axes)` Permute copy of dataset's axes so that given order is old order:
    `abstract AbstractDataset` | `getView(boolean deepCopyMetadata)`
    `boolean` | `hasFloatingPointElements()`
    `int` | `hashCode()`
    `Dataset` | `ifloorDivide(Object o)` In-place floor division
    `protected IndexIterator` | `internalGetSliceIterator(SliceND slice)`
    `boolean` | `isCompatibleWith(ILazyDataset g)` This method takes a dataset and checks its shape against the current dataset.
    `boolean` | `isComplex()`
    `Number` | `max(boolean... ignoreInvalids)`
    `Dataset` | `max(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `max(int axis, boolean... ignoreInvalids)`
    `Object` | `mean(boolean... ignoreInvalids)`
    `Dataset` | `mean(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `mean(int axis, boolean... ignoreInvalids)`
    `Number` | `min(boolean... ignoreInvalids)`
    `Dataset` | `min(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `min(int axis, boolean... ignoreInvalids)`
    `void` | `overrideInternal(Serializable buffer, int... shape)` Set the buffer that backs the dataset and its shape
    `Number` | `peakToPeak(boolean... ignoreInvalids)`
    `Dataset` | `peakToPeak(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `peakToPeak(int axis, boolean... ignoreInvalids)`
    `Object` | `product(boolean... ignoreInvalids)`
    `Dataset` | `product(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `product(int axis, boolean... ignoreInvalids)`
    `Dataset` | `reshape(int... shape)` Returns new dataset with new shape but old data if possible, otherwise a copy is made
    `double` | `residual(Object o)` Calculate residual of dataset with object See `Dataset.residual(Object o, boolean ignoreNaNs)` with ignoreNaNs = false
    `double` | `residual(Object o, boolean ignoreNaNs)` Calculate residual of dataset with object
    `double` | `rootMeanSquare(boolean... ignoreInvalids)`
    `Dataset` | `rootMeanSquare(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `rootMeanSquare(int axis, boolean... ignoreInvalids)`
    `protected abstract void` | `setData()` Set aliased data as base data
    `void` | `setErrorBuffer(Serializable buffer)` Set a copy of the buffer that backs the (squared) error data
    `protected abstract void` | `setItemDirect(int dindex, int sindex, Object src)` Set item from compatible dataset in a direct and speedy way.
    `static void` | `setMaxLineLength(int maxLineLength)` Set maximum line length for toString() method
    `void` | `setShape(int... shape)` Set a compatible shape for dataset.
    `Dataset` | `setSlice(Object obj, int[] start, int[] stop, int[] step)` This is modelled after the NumPy array slice
    `Dataset` | `setSlice(Object obj, Slice... slice)` This is modelled after the NumPy array slice
    `Dataset` | `setSlice(Object obj, SliceND slice)` This is modelled after the NumPy array slice
    `void` | `setStringFormat(Format format)` Set string output format
    `Dataset` | `squeeze()` Remove dimensions of 1 in shape of the dataset
    `Dataset` | `squeeze(boolean onlyFromEnds)` Remove dimensions of 1 in shape of the dataset from ends only if true
    `Dataset` | `squeezeEnds()` Remove dimensions of 1 from ends of shape of the dataset
    `double` | `stdDeviation()` Standard deviation is square root of the variance
    `double` | `stdDeviation(boolean isWholePopulation, boolean... ignoreInvalids)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int axis)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int[] axes)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int[] axes, boolean isWholePopulation, boolean... ignoreInvalids)` Standard deviation is square root of the variance
    `Dataset` | `stdDeviation(int axis, boolean isWholePopulation, boolean... ignoreInvalids)` Standard deviation is square root of the variance
    `Object` | `sum(boolean... ignoreInvalids)`
    `Dataset` | `sum(int[] axes, boolean... ignoreInvalids)`
    `Dataset` | `sum(int axis, boolean... ignoreInvalids)`
    `Dataset` | `swapAxes(int axis1, int axis2)` Swap two axes in dataset
    `Dataset` | `synchronizedCopy()` This is a synchronized version of the clone method
    `String` | `toString()`
    `String` | `toString(boolean showData)`
    `Dataset` | `transpose(int... axes)` See `Dataset.getTransposedView(int...)`
    `double` | `variance()`
    `double` | `variance(boolean isWholePopulation, boolean... ignoreInvalids)` The sample variance can be calculated in two ways: if the dataset is considered as the entire population then the sample variance is simply the second central moment:
    `Dataset` | `variance(int axis)`
    `Dataset` | `variance(int[] axes)`
    `Dataset` | `variance(int[] axes, boolean isWholePopulation, boolean... ignoreInvalids)`
    `Dataset` | `variance(int axis, boolean isWholePopulation, boolean... ignoreInvalids)`

    - ### Methods inherited from class org.eclipse.january.dataset.LazyDatasetBase

      `addMetadata, checkPermutatedAxes, checkSliceND, clearMetadata, copyMetadata, copyMetadata, createFromSerializable, dirtyMetadata, equals, findMetadataTypeSubInterfaces, getErrorMetadata, getFirstMetadata, getMetadata, getMetadata, getMetadataMap, getName, hasErrors, reshapeMetadata, restoreMetadata, setDirty, setErrors, setMetadata, setName, sliceMetadata, transposeMetadata`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.january.dataset.Dataset

      `containsInfs, containsInvalidNumbers, containsNans, copyItemsFromAxes, fill, fillDataset, getBoolean, getBoolean, getBoolean, getByte, getByte, getByte, getDouble, getDouble, getDouble, getElementBooleanAbs, getElementDoubleAbs, getElementLongAbs, getFloat, getFloat, getFloat, getInt, getInt, getInt, getLong, getLong, getLong, getObject, getObject, getObject, getObjectAbs, getShort, getShort, getShort, getString, getString, getString, getStringAbs, getUniqueItems, iadd, idivide, ifloor, imultiply, ipower, iremainder, isubtract, residual, set, set, set, setBy1DIndex, setByBoolean, setByIndexes, setDirty, setItemsOnAxes, setObjectAbs, setSlice, sort`

    - ### Methods inherited from interface org.eclipse.january.dataset.IDataset

      `getBoolean, getByte, getDouble, getFloat, getInt, getLong, getMetadata, getObject, getShort, getString, maxPos, minPos, resize, set`

    - ### Methods inherited from interface org.eclipse.january.dataset.ILazyDataset

      `addMetadata, clearMetadata, hasErrors, setErrors, setMetadata`

    - ### Methods inherited from interface org.eclipse.january.dataset.IMetadataProvider

      `getFirstMetadata, getMetadata`

    - ### Methods inherited from interface org.eclipse.january.INameable

      `getName, setName`

- - ### Field Detail

    - #### size

          protected int size

    - #### base

          protected transient AbstractDataset base

    - #### stride

          protected int[] stride

    - #### offset

          protected int offset

    - #### odata

          protected Serializable odata

      The data itself, held in a 1D array, but the object will wrap it to appear as possessing as many dimensions as wanted

    - #### stringFormat

          protected Format stringFormat

    - #### BLOCK_OPEN

          protected static final char BLOCK_OPEN

      See Also:
        Constant Field Values

    - #### BLOCK_CLOSE

          protected static final char BLOCK_CLOSE

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### AbstractDataset

          public AbstractDataset()

      Constructor required for serialisation.

  - ### Method Detail

    - #### setData

          protected abstract void setData()

      Set aliased data as base data

    - #### synchronizedCopy

          public Dataset synchronizedCopy()

      Description copied from interface: `Dataset`
      This is a synchronized version of the clone method
      Specified by:
        `synchronizedCopy` in interface `Dataset`
      Returns:
        a copy of dataset

    - #### getElementClass

          public Class<?> getElementClass()

      Specified by:
        `getElementClass` in interface `ILazyDataset`
      Returns:
        Boxed class of element. Can be null when interface is not defined

    - #### getDType

          public int getDType()

      Specified by:
        `getDType` in interface `Dataset`
      Specified by:
        `getDType` in class `LazyDatasetBase`
      Returns:
        type of dataset item

    - #### hashCode

          public int hashCode()

      Overrides:
        `hashCode` in class `LazyDatasetBase`

    - #### clone

          public abstract AbstractDataset clone()

      Description copied from interface: `ILazyDataset`
      Clone dataset
      Specified by:
        `clone` in interface `Dataset`
      Specified by:
        `clone` in interface `IDataset`
      Specified by:
        `clone` in interface `ILazyDataset`
      Overrides:
        `clone` in class `LazyDatasetBase`
      Returns:
        a (shallow) copy of dataset

    - #### setStringFormat

          public void setStringFormat(Format format)

      Description copied from interface: `IDataset`
      Set string output format
      Specified by:
        `setStringFormat` in interface `IDataset`
      Parameters:
        `format` - to output

    - #### copy

          public Dataset copy(int dtype)

      Description copied from interface: `Dataset`
      Copy and cast a dataset
      Specified by:
        `copy` in interface `Dataset`
      Parameters:
        `dtype` - dataset type
      Returns:
        a converted copy of the dataset

    - #### copy

          public <T extends Dataset> T copy(Class<T> clazz)

      Description copied from interface: `Dataset`
      Copy and cast a dataset
      Specified by:
        `copy` in interface `Dataset`
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a converted copy of the dataset

    - #### cast

          public Dataset cast(int dtype)

      Description copied from interface: `Dataset`
      Cast a dataset
      Specified by:
        `cast` in interface `Dataset`
      Parameters:
        `dtype` - dataset type
      Returns:
        a converted dataset

    - #### cast

          public <T extends Dataset> T cast(Class<T> clazz)

      Description copied from interface: `Dataset`
      Cast a dataset
      Specified by:
        `cast` in interface `Dataset`
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a converted dataset

    - #### cast

          public <T extends Dataset> T cast(int isize,
                                            Class<T> clazz,
                                            boolean repeat)

      Description copied from interface: `Dataset`
      Cast a dataset
      Specified by:
        `cast` in interface `Dataset`
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `isize` - item size
        `clazz` - dataset sub-interface
        `repeat` - if true, repeat elements over item
      Returns:
        a converted dataset

    - #### cast

          public Dataset cast(boolean repeat,
                              int dtype,
                              int isize)

      Description copied from interface: `Dataset`
      Cast a dataset
      Specified by:
        `cast` in interface `Dataset`
      Parameters:
        `repeat` - if true, repeat elements over item
        `dtype` - dataset type
        `isize` - item size
      Returns:
        a converted dataset

    - #### getView

          public abstract AbstractDataset getView(boolean deepCopyMetadata)

      Specified by:
        `getView` in interface `Dataset`
      Parameters:
        `deepCopyMetadata` - if true then deep-copy metadata
      Returns:
        whole view of dataset (i.e. data buffer is shared)

    - #### copyToView

          protected static void copyToView(Dataset orig,
                                           AbstractDataset view,
                                           boolean clone,
                                           boolean cloneMetadata)

      Copy fields from original to view
      Parameters:
        `orig` - original
        `view` - destination
        `clone` - if true, then clone everything but bulk data
        `cloneMetadata` - if true, clone metadata

    - #### getIndices

          public IntegerDataset getIndices()

      Description copied from interface: `Dataset`
      Generate an index dataset for current dataset
      Specified by:
        `getIndices` in interface `Dataset`
      Returns:
        an index dataset

    - #### getTransposedView

          public Dataset getTransposedView(int... axes)

      Description copied from interface: `IDataset`
      Permute copy of dataset's axes so that given order is old order:

            axisPerm = (p(0), p(1),...) => newdata(n(0), n(1),...) = olddata(o(0), o(1), ...)
            such that n(i) = o(p(i)) for all i

      I.e. for a 3D dataset (1,0,2) implies the new dataset has its 1st dimension running along the old dataset's 2nd dimension and the new 2nd is the old 1st. The 3rd dimension is left unchanged.
      Specified by:
        `getTransposedView` in interface `Dataset`
      Specified by:
        `getTransposedView` in interface `IDataset`
      Specified by:
        `getTransposedView` in interface `ILazyDataset`
      Parameters:
        `axes` - if zero length then axes order reversed
      Returns:
        remapped view of data

    - #### transpose

          public Dataset transpose(int... axes)

      Description copied from interface: `Dataset`
      See `Dataset.getTransposedView(int...)`
      Specified by:
        `transpose` in interface `Dataset`
      Parameters:
        `axes` - if zero length then axes order reversed
      Returns:
        remapped copy of data

    - #### swapAxes

          public Dataset swapAxes(int axis1,
                                  int axis2)

      Description copied from interface: `Dataset`
      Swap two axes in dataset
      Specified by:
        `swapAxes` in interface `Dataset`
      Parameters:
        `axis1` - to swap
        `axis2` - to swap
      Returns:
        swapped view of dataset

    - #### flatten

          public Dataset flatten()

      Description copied from interface: `Dataset`
      Flatten shape
      Specified by:
        `flatten` in interface `Dataset`
      Returns:
        a flattened dataset which is a view if dataset is contiguous otherwise is a copy

    - #### fillData

          protected void fillData(Object obj,
                                  int depth,
                                  int[] pos)

      Fill dataset from object at depth dimension
      Parameters:
        `obj` - fill value
        `depth` - dimension
        `pos` - position

    - #### getIterator

          public IndexIterator getIterator(boolean withPosition)

      Specified by:
        `getIterator` in interface `Dataset`
      Parameters:
        `withPosition` - set true if position is needed
      Returns:
        an IndexIterator tailored for this dataset

    - #### getIterator

          public IndexIterator getIterator()

      Specified by:
        `getIterator` in interface `Dataset`
      Returns:
        an IndexIterator tailored for this dataset

    - #### getPositionIterator

          public PositionIterator getPositionIterator(int... axes)

      Specified by:
        `getPositionIterator` in interface `Dataset`
      Parameters:
        `axes` - axes to omit from iterator
      Returns:
        a PositionIterator that misses out axes

    - #### getSliceIterator

          public IndexIterator getSliceIterator(int[] start,
                                                int[] stop,
                                                int[] step)

      Specified by:
        `getSliceIterator` in interface `Dataset`
      Parameters:
        `start` - specifies the starting indexes
        `stop` - specifies the stopping indexes (nb, these are not included in the slice)
        `step` - specifies the steps in the slice
      Returns:
        an slice iterator that operates like an IndexIterator

    - #### getSliceIterator

          public IndexIterator getSliceIterator(SliceND slice)

      Specified by:
        `getSliceIterator` in interface `Dataset`
      Parameters:
        `slice` - an n-D slice
      Returns:
        an slice iterator that operates like an IndexIterator

    - #### internalGetSliceIterator

          protected IndexIterator internalGetSliceIterator(SliceND slice)

      Parameters:
        `slice` - an n-D slice
      Returns:
        an slice iterator that operates like an IndexIterator

    - #### getSliceIteratorFromAxes

          public SliceIterator getSliceIteratorFromAxes(int[] pos,
                                                        boolean[] axes)

      Description copied from interface: `Dataset`
      Get a slice iterator that is defined by a starting position and a set of axes to include
      Specified by:
        `getSliceIteratorFromAxes` in interface `Dataset`
      Parameters:
        `pos` - starting position (can be null for origin)
        `axes` - to include
      Returns:
        slice iterator

    - #### getBooleanIterator

          public BooleanIterator getBooleanIterator(Dataset choice)

      Description copied from interface: `Dataset`
      Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is true
      Specified by:
        `getBooleanIterator` in interface `Dataset`
      Parameters:
        `choice` - where true values are used
      Returns:
        an iterator of dataset that visits items chosen by given choice dataset

    - #### getBooleanIterator

          public BooleanIterator getBooleanIterator(Dataset choice,
                                                    boolean value)

      Description copied from interface: `Dataset`
      Get an iterator that visits every item in this dataset where the corresponding item in choice dataset is given by value
      Specified by:
        `getBooleanIterator` in interface `Dataset`
      Parameters:
        `choice` - to use
        `value` - to match to items in choice
      Returns:
        an iterator of dataset that visits items chosen by given choice dataset

    - #### getByBoolean

          public Dataset getByBoolean(Dataset selection)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy get item with a condition specified by a boolean dataset
      Specified by:
        `getByBoolean` in interface `Dataset`
      Parameters:
        `selection` - a boolean dataset of same shape to use for selecting items
      Returns:
        The new selected dataset

    - #### getBy1DIndex

          public Dataset getBy1DIndex(IntegerDataset index)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy get item with an index dataset
      Specified by:
        `getBy1DIndex` in interface `Dataset`
      Parameters:
        `index` - an integer dataset
      Returns:
        The new selected dataset by indices

    - #### getByIndexes

          public Dataset getByIndexes(Object... indexes)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy get item with an array of indexing objects
      Specified by:
        `getByIndexes` in interface `Dataset`
      Parameters:
        `indexes` - an array of integer dataset, boolean dataset, slices or null entries (same as full slices)
      Returns:
        The new selected dataset by index

    - #### hasFloatingPointElements

          public boolean hasFloatingPointElements()

      Specified by:
        `hasFloatingPointElements` in interface `Dataset`
      Returns:
        true if dataset has elements which are floating point values

    - #### getElementsPerItem

          public int getElementsPerItem()

      Specified by:
        `getElementsPerItem` in interface `ILazyDataset`
      Returns:
        Number of elements per item

    - #### getItemBytes

          public int getItemBytes()

      Specified by:
        `getItemBytes` in interface `IDataset`
      Returns:
        Size of an item in dataset in bytes

    - #### getSize

          public int getSize()

      Description copied from interface: `ILazyDataset`
      The size of the dataset is the number of items in the array
      Specified by:
        `getSize` in interface `ILazyDataset`
      Returns:
        number of data items

    - #### getShape

          public int[] getShape()

      Description copied from interface: `ILazyDataset`
      The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets
      Specified by:
        `getShape` in interface `ILazyDataset`
      Overrides:
        `getShape` in class `LazyDatasetBase`
      Returns:
        Copy of shape of dataset

    - #### getRank

          public int getRank()

      Description copied from interface: `ILazyDataset`
      The rank (or number of dimensions/indices) of the dataset can be zero for a zero-rank (single-valued) dataset
      Specified by:
        `getRank` in interface `ILazyDataset`
      Overrides:
        `getRank` in class `LazyDatasetBase`
      Returns:
        rank

    - #### getNbytes

          public int getNbytes()

      Specified by:
        `getNbytes` in interface `Dataset`
      Returns:
        number of bytes used

    - #### setShape

          public void setShape(int... shape)

      Description copied from interface: `ILazyDataset`
      Set a compatible shape for dataset. A shape is compatible if it has the capacity to contain the same number of items
      Specified by:
        `setShape` in interface `ILazyDataset`
      Parameters:
        `shape` - to set

    - #### getShapeRef

          public int[] getShapeRef()

      Description copied from interface: `Dataset`
      The shape (or array of lengths for each dimension) of the dataset can be empty for zero-rank datasets and null for null datasets
      Specified by:
        `getShapeRef` in interface `Dataset`
      Returns:
        reference of shape of dataset

    - #### getOffset

          public int getOffset()

      Specified by:
        `getOffset` in interface `Dataset`
      Returns:
        offset where dataset view begins

    - #### getStrides

          public int[] getStrides()

      Specified by:
        `getStrides` in interface `Dataset`
      Returns:
        a stride array (can be null)

    - #### getBuffer

          public Serializable getBuffer()

      Specified by:
        `getBuffer` in interface `Dataset`
      Returns:
        the buffer that backs the dataset

    - #### overrideInternal

          public void overrideInternal(Serializable buffer,
                                       int... shape)

      Description copied from interface: `Dataset`
      Set the buffer that backs the dataset and its shape

      This is very, very dangerous. Please use carefully

      Specified by:
        `overrideInternal` in interface `Dataset`
      Parameters:
        `buffer` - (can be null to leave unchanged)
        `shape` - (can be null to leave unchanged)

    - #### createStrides

          public static int[] createStrides(Dataset a,
                                            int[] offset)

      Create a stride array from dataset
      Parameters:
        `a` - dataset
        `offset` - output offset
      Returns:
        new strides

    - #### createStrides

          public static int[] createStrides(int isize,
                                            int[] shape,
                                            int[] oStride,
                                            int oOffset,
                                            int[] offset)

      Create a stride array from dataset
      Parameters:
        `isize` - item size
        `shape` - to use
        `oStride` - original stride
        `oOffset` - original offset (only used if there is an original stride)
        `offset` - output offset
      Returns:
        new strides

    - #### createStrides

          public static int[] createStrides(SliceND slice,
                                            Dataset a,
                                            int[] stride,
                                            int[] offset)

      Create a stride array from slice information and a dataset
      Parameters:
        `slice` - an n-D slice
        `a` - dataset
        `stride` - output stride
        `offset` - output offset
      Returns:
        new shape

    - #### createStrides

          public static int[] createStrides(SliceND slice,
                                            int isize,
                                            int[] shape,
                                            int[] oStride,
                                            int oOffset,
                                            int[] stride,
                                            int[] offset)

      Create a stride array from slice and dataset information
      Parameters:
        `slice` - an n-D slice
        `isize` - item size
        `shape` - to use
        `oStride` - original stride
        `oOffset` - original offset (only used if there is an original stride)
        `stride` - output stride
        `offset` - output offset
      Returns:
        new shape

    - #### getBroadcastView

          public Dataset getBroadcastView(int... broadcastShape)

      Specified by:
        `getBroadcastView` in interface `Dataset`
      Parameters:
        `broadcastShape` - to use for broadcast
      Returns:
        view of dataset that is broadcasted to given shape

    - #### getSliceView

          public Dataset getSliceView(int[] start,
                                      int[] stop,
                                      int[] step)

      Description copied from interface: `IDataset`
      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `Dataset`
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The sliced view of a dataset

    - #### getSliceView

          public Dataset getSliceView(Slice... slice)

      Description copied from interface: `IDataset`
      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `Dataset`
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The sliced view of a dataset

    - #### getSliceView

          public Dataset getSliceView(SliceND slice)

      Get a slice of the dataset. The returned dataset is a view on a selection of items
      Specified by:
        `getSliceView` in interface `Dataset`
      Specified by:
        `getSliceView` in interface `IDataset`
      Specified by:
        `getSliceView` in interface `ILazyDataset`
      Parameters:
        `slice` - an n-D slice
      Returns:
        slice view

    - #### getFirst1DIndex

          protected int getFirst1DIndex()

      Returns:
        index of first element
      Since:
        2.0

    - #### get1DIndex

          public int get1DIndex(int... n)

      Description copied from interface: `Dataset`
      This method calculates the index in the data array that corresponds to the given n-dimensional position
      Specified by:
        `get1DIndex` in interface `Dataset`
      Parameters:
        `n` - the integer array specifying the n-D position
      Returns:
        the index on the data array corresponding to that location

    - #### get1DIndex

          protected int get1DIndex(int i)

      Parameters:
        `i` - position in first dimension
      Returns:
        the index on the data array corresponding to that location

    - #### get1DIndex

          protected int get1DIndex(int i,
                                   int j)

      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        the index on the data array corresponding to that location

    - #### get1DIndexFromShape

          protected int get1DIndexFromShape(int[] n)

    - #### get1DIndexFromShape

          protected static int get1DIndexFromShape(int[] shape,
                                                   int[] n)

    - #### getNDPosition

          public int[] getNDPosition(int n)

      Description copied from interface: `Dataset`
      This method calculates the n-dimensional position in the dataset of the given index in the data array
      Specified by:
        `getNDPosition` in interface `Dataset`
      Parameters:
        `n` - The index in the array
      Returns:
        the corresponding [a,b,...,n] position in the dataset

    - #### getBufferLength

          protected abstract int getBufferLength()

      Returns:
        entire buffer length

    - #### checkAxis

          public int checkAxis(int axis)

      Description copied from interface: `Dataset`
      Check that axis is in range [-rank,rank)
      Specified by:
        `checkAxis` in interface `Dataset`
      Parameters:
        `axis` - to check
      Returns:
        sanitized axis in range [0, rank)

    - #### checkAxis

          @Deprecated
          protected static int checkAxis(int rank,
                                                     int axis)

      Deprecated.

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`

    - #### toString

          public String toString(boolean showData)

      Specified by:
        `toString` in interface `Dataset`
      Parameters:
        `showData` - if true, show data
      Returns:
        string representation

    - #### setMaxLineLength

          public static void setMaxLineLength(int maxLineLength)

      Set maximum line length for toString() method
      Parameters:
        `maxLineLength` - limit on length of line

    - #### getMaxLineLength

          public static int getMaxLineLength()

      Returns:
        maximum line length for toString() method

    - #### squeezeEnds

          public Dataset squeezeEnds()

      Description copied from interface: `ILazyDataset`
      Remove dimensions of 1 from ends of shape of the dataset
      Specified by:
        `squeezeEnds` in interface `Dataset`
      Specified by:
        `squeezeEnds` in interface `IDataset`
      Specified by:
        `squeezeEnds` in interface `ILazyDataset`
      Returns:
        this

    - #### squeeze

          public Dataset squeeze()

      Description copied from interface: `IDataset`
      Remove dimensions of 1 in shape of the dataset
      Specified by:
        `squeeze` in interface `Dataset`
      Specified by:
        `squeeze` in interface `IDataset`
      Returns:
        this

    - #### squeeze

          public Dataset squeeze(boolean onlyFromEnds)

      Description copied from interface: `IDataset`
      Remove dimensions of 1 in shape of the dataset from ends only if true
      Specified by:
        `squeeze` in interface `Dataset`
      Specified by:
        `squeeze` in interface `IDataset`
      Parameters:
        `onlyFromEnds` - if true, trim ends
      Returns:
        this

    - #### isCompatibleWith

          public boolean isCompatibleWith(ILazyDataset g)

      Description copied from interface: `Dataset`
      This method takes a dataset and checks its shape against the current dataset. If they are both of the same size, then this returns true otherwise it returns false.
      Specified by:
        `isCompatibleWith` in interface `Dataset`
      Parameters:
        `g` - The dataset to be compared
      Returns:
        true if shapes are compatible

    - #### checkCompatibility

          public void checkCompatibility(ILazyDataset g)
                                  throws IllegalArgumentException

      Description copied from interface: `Dataset`
      This method takes a dataset and checks its shape against the current dataset. If they are both of the same size, then this returns with no error, if there is a problem, then an error is thrown.
      Specified by:
        `checkCompatibility` in interface `Dataset`
      Parameters:
        `g` - The dataset to be compared
      Throws:
        `IllegalArgumentException` - This will be thrown if there is a problem with the compatibility

    - #### reshape

          public Dataset reshape(int... shape)

      Description copied from interface: `Dataset`
      Returns new dataset with new shape but old data if possible, otherwise a copy is made
      Specified by:
        `reshape` in interface `Dataset`
      Parameters:
        `shape` - new shape
      Returns:
        reshaped dataset

    - #### calcSteps

          protected static int calcSteps(double start,
                                         double stop,
                                         double step)

      Parameters:
        `start` - begin
        `stop` - exclusive end
        `step` - number to skip
      Returns:
        number of steps to take

    - #### isComplex

          public boolean isComplex()

      Specified by:
        `isComplex` in interface `Dataset`
      Returns:
        true if dataset is complex

    - #### getRealPart

          public Dataset getRealPart()

      Specified by:
        `getRealPart` in interface `Dataset`
      Returns:
        real part of dataset (if necessary, as new dataset)

    - #### getRealView

          public Dataset getRealView()

      Specified by:
        `getRealView` in interface `Dataset`
      Returns:
        real part of dataset as a view

    - #### getSlice

          public Dataset getSlice(int[] start,
                                  int[] stop,
                                  int[] step)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public Dataset getSlice(Slice... slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public Dataset getSlice(IMonitor monitor,
                                  Slice... slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `monitor` - can be null
        `slice` - an array of slice objects (the array can be null or contain nulls)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public Dataset getSlice(IMonitor monitor,
                                  SliceND slice)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `monitor` - can be null
        `slice` - an n-D slice
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public Dataset getSlice(IMonitor monitor,
                                  int[] start,
                                  int[] stop,
                                  int[] step)

      Description copied from interface: `ILazyDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `monitor` - can be null
        `start` - specifies the starting indexes (can be null for origin)
        `stop` - specifies the stopping indexes (can be null for end)
        `step` - specifies the steps in the slice (can be null for unit steps)
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public Dataset getSlice(SliceND slice)

      Get a slice of the dataset. The returned dataset is a copied selection of items
      Specified by:
        `getSlice` in interface `Dataset`
      Specified by:
        `getSlice` in interface `IDataset`
      Specified by:
        `getSlice` in interface `ILazyDataset`
      Parameters:
        `slice` - an n-D slice
      Returns:
        The dataset of the sliced data

    - #### getSlice

          public abstract AbstractDataset getSlice(SliceIterator iterator)

      Get a slice of the dataset. The returned dataset is a copied selection of items
      Parameters:
        `iterator` - Slice iterator
      Returns:
        The dataset of the sliced data

    - #### setSlice

          public Dataset setSlice(Object obj,
                                  SliceND slice)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy array slice
      Specified by:
        `setSlice` in interface `Dataset`
      Parameters:
        `obj` - specifies the object used to set the specified slice
        `slice` - destination where items of obj are set
      Returns:
        this

    - #### setSlice

          public Dataset setSlice(Object obj,
                                  int[] start,
                                  int[] stop,
                                  int[] step)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy array slice
      Specified by:
        `setSlice` in interface `Dataset`
      Parameters:
        `obj` - specifies the object used to set the specified slice
        `start` - specifies the starting indexes
        `stop` - specifies the stopping indexes (nb, these are not included in the slice)
        `step` - specifies the steps in the slice
      Returns:
        this

    - #### setSlice

          public Dataset setSlice(Object obj,
                                  Slice... slice)

      Description copied from interface: `Dataset`
      This is modelled after the NumPy array slice
      Specified by:
        `setSlice` in interface `Dataset`
      Parameters:
        `obj` - specifies the object used to set the specified slice
        `slice` - destination where items of obj are set
      Returns:
        this

    - #### all

          public boolean all()

      Specified by:
        `all` in interface `Dataset`
      Returns:
        true if all items are true

    - #### all

          public BooleanDataset all(int axis)

      Specified by:
        `all` in interface `Dataset`
      Parameters:
        `axis` - to check over
      Returns:
        dataset where items are true if all items along axis are true

    - #### any

          public boolean any()

      Specified by:
        `any` in interface `Dataset`
      Returns:
        true if any items are true

    - #### any

          public BooleanDataset any(int axis)

      Specified by:
        `any` in interface `Dataset`
      Parameters:
        `axis` - to check over
      Returns:
        dataset where items are true if any items along axis are true

    - #### ifloorDivide

          public Dataset ifloorDivide(Object o)

      Description copied from interface: `Dataset`
      In-place floor division
      Specified by:
        `ifloorDivide` in interface `Dataset`
      Parameters:
        `o` - object to use
      Returns:
        dividend dataset

    - #### residual

          public double residual(Object o)

      Description copied from interface: `Dataset`
      Calculate residual of dataset with object See `Dataset.residual(Object o, boolean ignoreNaNs)` with ignoreNaNs = false
      Specified by:
        `residual` in interface `Dataset`
      Parameters:
        `o` - object to use
      Returns:
        sum of the squares of the differences

    - #### residual

          public double residual(Object o,
                                 boolean ignoreNaNs)

      Description copied from interface: `Dataset`
      Calculate residual of dataset with object
      Specified by:
        `residual` in interface `Dataset`
      Parameters:
        `o` - object to use
        `ignoreNaNs` - if true, skip NaNs
      Returns:
        sum of the squares of the differences

    - #### getStats

          protected StatisticsMetadata<Number> getStats()

      Returns:
        statistics
      Since:
        2.0

    - #### getStringStats

          protected StatisticsMetadata<String> getStringStats()

      Returns:
        statistics
      Since:
        2.0

    - #### max

          public Number max(boolean... ignoreInvalids)

      Specified by:
        `max` in interface `IDataset`
      Parameters:
        `ignoreInvalids` - - Can be null, empty, or one or more booleans. By default, all booleans are false. If the first boolean is true, will ignore NaNs and ignore infinities. Use the second boolean to ignore infinities separately.
      Returns:
        Maximum value

    - #### max

          public Dataset max(int axis,
                             boolean... ignoreInvalids)

      Specified by:
        `max` in interface `Dataset`
      Parameters:
        `axis` - to reduce over
        `ignoreInvalids` - - Can be null, empty, or one or more booleans. By default, all booleans are false. If the first boolean is true, will ignore NaNs and ignore infinities. Use the second boolean to ignore infinities separately.
      Returns:
        maxima along axis in dataset

    - #### max

          public Dataset max(int[] axes,
                             boolean... ignoreInvalids)

      Specified by:
        `max` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        maxima in given axes of dataset

    - #### min

          public Number min(boolean... ignoreInvalids)

      Specified by:
        `min` in interface `IDataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        Minimum value

    - #### min

          public Dataset min(int axis,
                             boolean... ignoreInvalids)

      Specified by:
        `min` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        minima along axis in dataset

    - #### min

          public Dataset min(int[] axes,
                             boolean... ignoreInvalids)

      Specified by:
        `min` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        minima in given axes of dataset

    - #### argMax

          public int argMax(boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Find absolute index of maximum value (in a flattened view)
      Specified by:
        `argMax` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        absolute index

    - #### argMax

          public IntegerDataset argMax(int axis,
                                       boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Find indices of maximum values along given axis
      Specified by:
        `argMax` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        index dataset
      Since:
        2.0

    - #### argMin

          public int argMin(boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Find absolute index of minimum value (in a flattened view)
      Specified by:
        `argMin` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        absolute index

    - #### argMin

          public IntegerDataset argMin(int axis,
                                       boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Find indices of minimum values along given axis
      Specified by:
        `argMin` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        index dataset
      Since:
        2.0

    - #### peakToPeak

          public Number peakToPeak(boolean... ignoreInvalids)

      Specified by:
        `peakToPeak` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        peak-to-peak value, the difference of maximum and minimum of dataset

    - #### peakToPeak

          public Dataset peakToPeak(int axis,
                                    boolean... ignoreInvalids)

      Specified by:
        `peakToPeak` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        peak-to-peak dataset, the difference of maxima and minima of dataset along axis

    - #### peakToPeak

          public Dataset peakToPeak(int[] axes,
                                    boolean... ignoreInvalids)

      Specified by:
        `peakToPeak` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        peak-to-peak dataset, the difference of maxima and minima of dataset in given axes

    - #### count

          public long count(boolean... ignoreInvalids)

      Specified by:
        `count` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        number of items in dataset

    - #### count

          public Dataset count(int axis,
                               boolean... ignoreInvalids)

      Specified by:
        `count` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        number of items along axis in dataset

    - #### count

          public Dataset count(int[] axes,
                               boolean... ignoreInvalids)

      Specified by:
        `count` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        number of items in given axes of dataset

    - #### sum

          public Object sum(boolean... ignoreInvalids)

      Specified by:
        `sum` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        sum over all items in dataset as a Double, array of doubles or a complex number

    - #### sum

          public Dataset sum(int axis,
                             boolean... ignoreInvalids)

      Specified by:
        `sum` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sum along axis in dataset

    - #### sum

          public Dataset sum(int[] axes,
                             boolean... ignoreInvalids)

      Specified by:
        `sum` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sum in given axes of dataset

    - #### product

          public Object product(boolean... ignoreInvalids)

      Specified by:
        `product` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        product over all items in dataset

    - #### product

          public Dataset product(int axis,
                                 boolean... ignoreInvalids)

      Specified by:
        `product` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        product along axis in dataset

    - #### product

          public Dataset product(int[] axes,
                                 boolean... ignoreInvalids)

      Specified by:
        `product` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        product in given axes of dataset

    - #### mean

          public Object mean(boolean... ignoreInvalids)

      Specified by:
        `mean` in interface `IDataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        mean of all items in dataset as a double, array of doubles or a complex number

    - #### mean

          public Dataset mean(int axis,
                              boolean... ignoreInvalids)

      Specified by:
        `mean` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        mean along axis in dataset

    - #### mean

          public Dataset mean(int[] axes,
                              boolean... ignoreInvalids)

      Specified by:
        `mean` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        mean in given axes of dataset

    - #### variance

          public double variance()

      Specified by:
        `variance` in interface `Dataset`
      Returns:
        sample variance of whole dataset
      See Also:
        `with isWholePopulation = false`

    - #### variance

          public double variance(boolean isWholePopulation,
                                 boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      The sample variance can be calculated in two ways: if the dataset is considered as the entire population then the sample variance is simply the second central moment:

              sum((x_i - m)^2)/N
           where {x_i} are set of N population values and m is the mean
              m = sum(x_i)/N

      Otherwise, if the dataset is a set of samples (with replacement) from the population then

              sum((x_i - m)^2)/(N-1)
           where {x_i} are set of N sample values and m is the unbiased estimate of the mean
              m = sum(x_i)/N

      Note that the second definition is also the unbiased estimator of population variance.
      Specified by:
        `variance` in interface `Dataset`
      Parameters:
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sample variance

    - #### variance

          public Dataset variance(int axis)

      Specified by:
        `variance` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
      Returns:
        sample variance along axis in dataset
      See Also:
        `with isWholePopulation = false`

    - #### variance

          public Dataset variance(int[] axes)

      Specified by:
        `variance` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
      Returns:
        sample variance in given axes of dataset
      See Also:
        `with isWholePopulation = false`

    - #### variance

          public Dataset variance(int axis,
                                  boolean isWholePopulation,
                                  boolean... ignoreInvalids)

      Specified by:
        `variance` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sample variance along axis in dataset

    - #### variance

          public Dataset variance(int[] axes,
                                  boolean isWholePopulation,
                                  boolean... ignoreInvalids)

      Specified by:
        `variance` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sample variance in given axes of dataset

    - #### stdDeviation

          public double stdDeviation()

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Returns:
        sample standard deviation of all items in dataset
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          public double stdDeviation(boolean isWholePopulation,
                                     boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Parameters:
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        sample standard deviation of all items in dataset
      See Also:
        `Dataset.variance(boolean, boolean...)`

    - #### stdDeviation

          public Dataset stdDeviation(int axis)

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
      Returns:
        standard deviation along axis in dataset
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          public Dataset stdDeviation(int[] axes)

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
      Returns:
        standard deviation in given axes of dataset
      See Also:
        `with isWholePopulation = false`

    - #### stdDeviation

          public Dataset stdDeviation(int axis,
                                      boolean isWholePopulation,
                                      boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        standard deviation along axis in dataset

    - #### stdDeviation

          public Dataset stdDeviation(int[] axes,
                                      boolean isWholePopulation,
                                      boolean... ignoreInvalids)

      Description copied from interface: `Dataset`
      Standard deviation is square root of the variance
      Specified by:
        `stdDeviation` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `isWholePopulation` - if false, consider as sample of population
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        standard deviation in given axes of dataset

    - #### rootMeanSquare

          public double rootMeanSquare(boolean... ignoreInvalids)

      Specified by:
        `rootMeanSquare` in interface `Dataset`
      Parameters:
        `ignoreInvalids` - - see `IDataset.max(boolean...)`
      Returns:
        root mean square

    - #### rootMeanSquare

          public Dataset rootMeanSquare(int axis,
                                        boolean... ignoreInvalids)

      Specified by:
        `rootMeanSquare` in interface `Dataset`
      Parameters:
        `axis` - to reduce along
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        root mean square along axis in dataset

    - #### rootMeanSquare

          public Dataset rootMeanSquare(int[] axes,
                                        boolean... ignoreInvalids)

      Specified by:
        `rootMeanSquare` in interface `Dataset`
      Parameters:
        `axes` - to reduce over
        `ignoreInvalids` - - see `Dataset.max(int, boolean...)`
      Returns:
        root mean square in given axes of dataset

    - #### setItemDirect

          protected abstract void setItemDirect(int dindex,
                                                int sindex,
                                                Object src)

      Set item from compatible dataset in a direct and speedy way. Remember to setDirty afterwards.
      Parameters:
        `dindex` - destination index
        `sindex` - source index
        `src` - is the source data buffer

    - #### getErrors

          public Dataset getErrors()

      Description copied from interface: `ILazyDataset`
      Get the errors, if any. These will be in a shape that can broadcast to the dataset
      Specified by:
        `getErrors` in interface `Dataset`
      Specified by:
        `getErrors` in interface `IDataset`
      Specified by:
        `getErrors` in interface `ILazyDataset`
      Overrides:
        `getErrors` in class `LazyDatasetBase`
      Returns:
        errors

    - #### getError

          public double getError()

      Description copied from interface: `Dataset`
      Get the error for the first item. The dataset must not be null
      Specified by:
        `getError` in interface `Dataset`
      Returns:
        item

    - #### getError

          public double getError(int i)

      Description copied from interface: `Dataset`
      Get the error for given position. The dataset must be 1D
      Specified by:
        `getError` in interface `Dataset`
      Parameters:
        `i` - position in first dimension
      Returns:
        error value (symmetric)

    - #### getError

          public double getError(int i,
                                 int j)

      Description copied from interface: `Dataset`
      Get the error for given position. The dataset must be 2D
      Specified by:
        `getError` in interface `Dataset`
      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        error value (symmetric)

    - #### getError

          public double getError(int... pos)

      Description copied from interface: `IDataset`
      Get the error for a given position.
      Specified by:
        `getError` in interface `IDataset`
      Parameters:
        `pos` - position
      Returns:
        error value (symmetric)

    - #### getErrorArray

          public double[] getErrorArray(int i)

      Description copied from interface: `Dataset`
      Get the error values for given position
      Specified by:
        `getErrorArray` in interface `Dataset`
      Parameters:
        `i` - position in first dimension
      Returns:
        the values of the error at this point (can be null when no error defined)

    - #### getErrorArray

          public double[] getErrorArray(int i,
                                        int j)

      Description copied from interface: `Dataset`
      Get the error values for given position
      Specified by:
        `getErrorArray` in interface `Dataset`
      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        the values of the error at this point (can be null when no error defined)

    - #### getErrorArray

          public double[] getErrorArray(int... pos)

      Description copied from interface: `IDataset`
      Get the error values for a single point in the dataset
      Specified by:
        `getErrorArray` in interface `IDataset`
      Parameters:
        `pos` - position
      Returns:
        the values of the error at this point (can be null when no error defined)

    - #### getInternalSquaredError

          protected Dataset getInternalSquaredError()

    - #### getErrorBuffer

          public Dataset getErrorBuffer()

      Description copied from interface: `Dataset`
      Get the (un-broadcasted) dataset that backs the (squared) error data
      Specified by:
        `getErrorBuffer` in interface `Dataset`
      Returns:
        the dataset which contains the (squared) error information (can be null)

    - #### setErrorBuffer

          public void setErrorBuffer(Serializable buffer)

      Set a copy of the buffer that backs the (squared) error data
      Specified by:
        `setErrorBuffer` in interface `Dataset`
      Parameters:
        `buffer` - can be null, anything that can be used to create a DoubleDataset or CompoundDoubleDataset

Copyright © 2014–2022 Eclipse Foundation. All rights reserved.