org.eclipse.january.dataset

## Class RGBDataset

- java.lang.Object
- - org.eclipse.january.dataset.LazyDatasetBase
  - - org.eclipse.january.dataset.AbstractDataset
    - - org.eclipse.january.dataset.AbstractCompoundDataset
      - - org.eclipse.january.dataset.CompoundShortDataset
        - - org.eclipse.january.dataset.RGBDataset

- All Implemented Interfaces:
    Serializable, Cloneable, CompoundDataset, Dataset, IDataset, ILazyDataset, IMetadataProvider, INameable

      public class RGBDataset
      extends CompoundShortDataset
      implements Cloneable

  Class to hold colour datasets as red, green, blue tuples of short integers
  See Also:
    Serialized Form

- - ### Field Summary

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

      `data`

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

      `isize`

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

      `base, BLOCK_CLOSE, BLOCK_OPEN, odata, offset, size, stride, 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
    `RGBDataset()` Create a null dataset
    `RGBDataset(byte[] redData, byte[] greenData, byte[] blueData, int... shape)` Create a dataset using given data (red, green and blue parts are given separately)
    `RGBDataset(CompoundDataset colour)` Create a dataset using given compound data
    `RGBDataset(Dataset grey)` Create a dataset using given grey data
    `RGBDataset(Dataset red, Dataset green, Dataset blue)` Create a dataset using given colour data (colour components are given separately)
    `RGBDataset(int... shape)`
    `RGBDataset(int[] redData, int[] greenData, int[] blueData, int... shape)` Create a dataset using given data (red, green and blue parts are given separately)
    `RGBDataset(RGBDataset dataset)` Copy a dataset
    `RGBDataset(short[] data, int... shape)`
    `RGBDataset(short[] redData, short[] greenData, short[] blueData, int... shape)` Create a dataset using given data (red, green and blue parts are given separately)

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `RGBDataset` | `clone()` Clone dataset
    `<T extends Dataset> T` | `createBlueDataset(Class<T> clazz)` Extract blue colour channel
    `Dataset` | `createBlueDataset(int dtype)` Deprecated. Use `createBlueDataset(java.lang.Class<T>)`
    `static RGBDataset` | `createFromCompoundDataset(CompoundDataset a)` Create a RGB dataset from a compound dataset (no normalisation performed)
    `static RGBDataset` | `createFromHSL(Dataset hue, Dataset saturation, Dataset lightness)` Create a RGB dataset from hue, saturation and lightness dataset
    `static RGBDataset` | `createFromHSV(Dataset hue, Dataset saturation, Dataset value)` Create a RGB dataset from hue, saturation and value dataset
    `static RGBDataset` | `createFromObject(Object obj)` Create a RGB dataset from an object which could be a Java list, array (of arrays...) or Number.
    `<T extends Dataset> T` | `createGreenDataset(Class<T> clazz)` Extract green colour channel
    `Dataset` | `createGreenDataset(int dtype)` Deprecated. Use `createGreenDataset(java.lang.Class<T>)`
    `<T extends Dataset> T` | `createGreyDataset(Class<T> clazz)` Convert colour dataset to a grey-scale one using the NTSC formula, aka ITU-R BT.601, for RGB to luma mapping
    `<T extends Dataset> T` | `createGreyDataset(Class<T> clazz, double red, double green, double blue)` Convert colour dataset to a grey-scale one using given RGB to luma mapping
    `Dataset` | `createGreyDataset(double red, double green, double blue, int dtype)` Deprecated. Use `createGreyDataset(Class, double, double, double)`
    `Dataset` | `createGreyDataset(int dtype)` Deprecated. Use `createGreyDataset(Class)`
    `<T extends Dataset> T` | `createRedDataset(Class<T> clazz)` Extract red colour channel
    `Dataset` | `createRedDataset(int dtype)` Deprecated. Use `createRedDataset(java.lang.Class<T>)`
    `short` | `getBlue()`
    `short` | `getBlue(int... pos)`
    `short` | `getBlue(int i)`
    `short` | `getBlue(int i, int j)`
    `short` | `getBlueAbs(int n)` Get a blue value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
    `ShortDataset` | `getBlueView()`
    `short` | `getGreen()`
    `short` | `getGreen(int... pos)`
    `short` | `getGreen(int i)`
    `short` | `getGreen(int i, int j)`
    `short` | `getGreenAbs(int n)` Get a green value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
    `ShortDataset` | `getGreenView()`
    `short` | `getRed()`
    `short` | `getRed(int... pos)`
    `short` | `getRed(int i)`
    `short` | `getRed(int i, int j)`
    `short` | `getRedAbs(int n)` Get a red value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
    `ShortDataset` | `getRedView()`
    `RGBDataset` | `getSlice(SliceIterator siter)` Get a slice of the dataset.
    `RGBDataset` | `getView(boolean deepCopyMetadata)`
    `Number` | `max(boolean... ignored)`
    `Number` | `min(boolean... ignored)`

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

      `asNonCompoundDataset, containsInfs, containsInvalidNumbers, containsNans, copyElements, copyItemsFromAxes, createArray, createCompoundDatasetWithLastDimension, createFromObject, equals, fill, fillDataset, getAbs, getAbs, getBufferLength, getByteArray, getByteArray, getByteArray, getByteArray, getData, getDoubleArray, getDoubleArray, getDoubleArray, getDoubleArray, getDoubleArrayAbs, getElementBooleanAbs, getElementDoubleAbs, getElementLongAbs, getElements, getElementsView, getFirstValue, getFirstValue, getFirstValue, getFirstValue, getFloatArray, getFloatArray, getFloatArray, getFloatArray, getIntArray, getIntArray, getIntArray, getIntArray, getLongArray, getLongArray, getLongArray, getLongArray, getObject, getObject, getObject, getObject, getObjectAbs, getShortArray, getShortArray, getShortArray, getShortArray, getString, getString, getString, getString, getStringAbs, hashCode, iadd, idivide, ifloor, imultiply, ipower, iremainder, isubtract, residual, resize, set, set, set, set, setAbs, setAbs, setBy1DIndex, setByBoolean, setByIndexes, setData, setElements, setItem, setItem, setItem, setItem, setItemDirect, setItemsOnAxes, setObjectAbs, setSlice`

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

      `argMax, argMin, cast, cast, flatten, get1DIndex, get1DIndex, get1DIndexFromShape, getBoolean, getBoolean, getBoolean, getBoolean, getBroadcastView, getBy1DIndex, getByBoolean, getByIndexes, getByte, getByte, getByte, getByte, getCompoundStats, getDouble, getDouble, getDouble, getDouble, getDoubleArray, getDoubleArray, getDoubleArray, getDoubleArray, getElementsPerItem, getError, getError, getError, getErrorArray, getErrorArray, getErrorArray, getErrors, getFloat, getFloat, getFloat, getFloat, getInt, getInt, getInt, getInt, getIterator, getIterator, getLong, getLong, getLong, getLong, getShort, getShort, getShort, getShort, getSlice, getSlice, getSlice, getSlice, getSlice, getSlice, getSliceIterator, getSliceView, getSliceView, getSliceView, getTransposedView, getUniqueItems, ifloorDivide, internalGetSliceIterator, max, maxItem, maxPos, mean, mean, min, minItem, minPos, peakToPeak, product, reshape, rootMeanSquare, rootMeanSquare, setSlice, setSlice, sort, squeeze, squeeze, squeezeEnds, stdDeviation, stdDeviation, sum, sum, swapAxes, synchronizedCopy, transpose, variance, variance, variance`

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

      `all, all, any, any, argMax, argMin, calcSteps, cast, cast, checkAxis, checkAxis, checkCompatibility, copy, copy, copyToView, count, count, count, createStrides, createStrides, createStrides, createStrides, fillData, get1DIndex, get1DIndexFromShape, getBooleanIterator, getBooleanIterator, getBuffer, getDType, getElementClass, getError, getErrorBuffer, getFirst1DIndex, getIndices, getInternalSquaredError, getItemBytes, getIterator, getMaxLineLength, getNbytes, getNDPosition, getOffset, getPositionIterator, getRank, getRealPart, getRealView, getShape, getShapeRef, getSize, getSliceIterator, getSliceIteratorFromAxes, getStats, getStrides, getStringStats, hasFloatingPointElements, isCompatibleWith, isComplex, max, mean, min, overrideInternal, peakToPeak, peakToPeak, product, product, residual, residual, rootMeanSquare, setErrorBuffer, setMaxLineLength, setShape, setSlice, setStringFormat, stdDeviation, stdDeviation, stdDeviation, stdDeviation, sum, toString, toString, variance, variance, variance`

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

      `addMetadata, checkPermutatedAxes, checkSliceND, clearMetadata, copyMetadata, copyMetadata, createFromSerializable, dirtyMetadata, 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

      `all, all, any, any, argMax, argMin, cast, cast, checkAxis, checkCompatibility, copy, copy, count, count, count, get1DIndex, getBooleanIterator, getBooleanIterator, getBuffer, getDType, getError, getErrorBuffer, getIndices, getIterator, getNbytes, getNDPosition, getOffset, getPositionIterator, getRealPart, getRealView, getShapeRef, getSliceIterator, getSliceIteratorFromAxes, getStrides, hasFloatingPointElements, isCompatibleWith, isComplex, max, mean, min, overrideInternal, peakToPeak, peakToPeak, product, product, residual, residual, rootMeanSquare, setDirty, setErrorBuffer, setSlice, stdDeviation, stdDeviation, stdDeviation, stdDeviation, sum, toString, variance, variance, variance`

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

      `getItemBytes, getMetadata, setStringFormat`

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

      `addMetadata, clearMetadata, getElementClass, getRank, getShape, getSize, hasErrors, setErrors, setMetadata, setShape`

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

      `getFirstMetadata, getMetadata`

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

      `getName, setName`

- - ### Constructor Detail

    - #### RGBDataset

          public RGBDataset()

      Create a null dataset

    - #### RGBDataset

          public RGBDataset(int... shape)

      Parameters:
        `shape` - output shape

    - #### RGBDataset

          public RGBDataset(short[] data,
                            int... shape)

      Parameters:
        `data` - interleaved RGB values
        `shape` - output shape

    - #### RGBDataset

          public RGBDataset(RGBDataset dataset)

      Copy a dataset
      Parameters:
        `dataset` - to clone

    - #### RGBDataset

          public RGBDataset(int[] redData,
                            int[] greenData,
                            int[] blueData,
                            int... shape)

      Create a dataset using given data (red, green and blue parts are given separately)
      Parameters:
        `redData` - data for red
        `greenData` - data for green
        `blueData` - data for blue
        `shape` - (can be null to create 1D dataset)

    - #### RGBDataset

          public RGBDataset(short[] redData,
                            short[] greenData,
                            short[] blueData,
                            int... shape)

      Create a dataset using given data (red, green and blue parts are given separately)
      Parameters:
        `redData` - data for red
        `greenData` - data for green
        `blueData` - data for blue
        `shape` - (can be null to create 1D dataset)

    - #### RGBDataset

          public RGBDataset(byte[] redData,
                            byte[] greenData,
                            byte[] blueData,
                            int... shape)

      Create a dataset using given data (red, green and blue parts are given separately)
      Parameters:
        `redData` - data for red
        `greenData` - data for green
        `blueData` - data for blue
        `shape` - (can be null to create 1D dataset)

    - #### RGBDataset

          public RGBDataset(Dataset red,
                            Dataset green,
                            Dataset blue)

      Create a dataset using given colour data (colour components are given separately)
      Parameters:
        `red` - dataset
        `green` - dataset
        `blue` - dataset

    - #### RGBDataset

          public RGBDataset(Dataset grey)

      Create a dataset using given grey data
      Parameters:
        `grey` - dataset

    - #### RGBDataset

          public RGBDataset(CompoundDataset colour)

      Create a dataset using given compound data
      Parameters:
        `colour` - dataset with colour data
      Since:
        2.3

  - ### Method Detail

    - #### clone

          public RGBDataset clone()

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

    - #### createFromObject

          public static RGBDataset createFromObject(Object obj)

      Create a RGB dataset from an object which could be a Java list, array (of arrays...) or Number. Ragged sequences or arrays are padded with zeros. The item size is the last dimension of the corresponding elemental dataset
      Parameters:
        `obj` - object
      Returns:
        dataset with contents given by input

    - #### createFromCompoundDataset

          public static RGBDataset createFromCompoundDataset(CompoundDataset a)

      Create a RGB dataset from a compound dataset (no normalisation performed)
      Parameters:
        `a` - dataset
      Returns:
        RGB dataset (grey if input dataset has less than 3 elements per item)

    - #### createFromHSV

          public static RGBDataset createFromHSV(Dataset hue,
                                                 Dataset saturation,
                                                 Dataset value)

      Create a RGB dataset from hue, saturation and value dataset
      Parameters:
        `hue` - (in degrees from -360 to 360)
        `saturation` - (from 0 to 1), can be null to denote 1
        `value` - (from 0 to 1)
      Returns:
        RGB dataset

    - #### createFromHSL

          public static RGBDataset createFromHSL(Dataset hue,
                                                 Dataset saturation,
                                                 Dataset lightness)

      Create a RGB dataset from hue, saturation and lightness dataset
      Parameters:
        `hue` - (in degrees from -360 to 360)
        `saturation` - (from 0 to 1), can be null to denote 1
        `lightness` - (from 0 to 1)
      Returns:
        RGB dataset

    - #### getSlice

          public RGBDataset getSlice(SliceIterator siter)

      Description copied from class: `AbstractDataset`
      Get a slice of the dataset. The returned dataset is a copied selection of items
      Overrides:
        `getSlice` in class `CompoundShortDataset`
      Parameters:
        `siter` - Slice iterator
      Returns:
        The dataset of the sliced data

    - #### getView

          public RGBDataset getView(boolean deepCopyMetadata)

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

    - #### getRed

          public short getRed()

      Returns:
        red value in the first position
      Since:
        2.0

    - #### getRed

          public short getRed(int i)

      Parameters:
        `i` - position in first dimension
      Returns:
        red value in given position

    - #### getRed

          public short getRed(int i,
                              int j)

      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        red value in given position

    - #### getRed

          public short getRed(int... pos)

      Parameters:
        `pos` - position
      Returns:
        red value in given position

    - #### getGreen

          public short getGreen()

      Returns:
        green value in the first position
      Since:
        2.0

    - #### getGreen

          public short getGreen(int i)

      Parameters:
        `i` - position in first dimension
      Returns:
        green value in given position

    - #### getGreen

          public short getGreen(int i,
                                int j)

      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        green value in given position

    - #### getGreen

          public short getGreen(int... pos)

      Parameters:
        `pos` - position
      Returns:
        green value in given position

    - #### getBlue

          public short getBlue()

      Returns:
        blue value in the first position
      Since:
        2.0

    - #### getBlue

          public short getBlue(int i)

      Parameters:
        `i` - position in first dimension
      Returns:
        blue value in given position

    - #### getBlue

          public short getBlue(int i,
                               int j)

      Parameters:
        `i` - position in first dimension
        `j` - position in second dimension
      Returns:
        blue value in given position

    - #### getBlue

          public short getBlue(int... pos)

      Parameters:
        `pos` - position
      Returns:
        blue value in given position

    - #### getRedAbs

          public short getRedAbs(int n)

      Get a red value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
      Parameters:
        `n` - absolute index
      Returns:
        red value

    - #### getGreenAbs

          public short getGreenAbs(int n)

      Get a green value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
      Parameters:
        `n` - absolute index
      Returns:
        green value

    - #### getBlueAbs

          public short getBlueAbs(int n)

      Get a blue value from given absolute index as a short - note this index does not take in account the item size so be careful when using with multi-element items
      Parameters:
        `n` - absolute index
      Returns:
        blue value

    - #### createGreyDataset

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

      Convert colour dataset to a grey-scale one using the NTSC formula, aka ITU-R BT.601, for RGB to luma mapping
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a grey-scale dataset of given type
      Since:
        2.2

    - #### createGreyDataset

          public <T extends Dataset> T createGreyDataset(Class<T> clazz,
                                                         double red,
                                                         double green,
                                                         double blue)

      Convert colour dataset to a grey-scale one using given RGB to luma mapping
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
        `red` - weight
        `green` - weight
        `blue` - weight
      Returns:
        a grey-scale dataset of given class
      Since:
        2.2

    - #### createGreyDataset

          @Deprecated
          public Dataset createGreyDataset(int dtype)

      Deprecated. Use `createGreyDataset(Class)`
      Convert colour dataset to a grey-scale one using the NTSC formula, aka ITU-R BT.601, for RGB to luma mapping
      Parameters:
        `dtype` - dataset type
      Returns:
        a grey-scale dataset of given class

    - #### createGreyDataset

          @Deprecated
          public Dataset createGreyDataset(double red,
                                                       double green,
                                                       double blue,
                                                       int dtype)

      Deprecated. Use `createGreyDataset(Class, double, double, double)`
      Convert colour dataset to a grey-scale one using given RGB to luma mapping
      Parameters:
        `red` - weight
        `green` - weight
        `blue` - weight
        `dtype` - dataset type
      Returns:
        a grey-scale dataset of given type

    - #### createRedDataset

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

      Extract red colour channel
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a dataset of given class
      Since:
        2.1

    - #### createGreenDataset

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

      Extract green colour channel
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a dataset of given class
      Since:
        2.1

    - #### createBlueDataset

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

      Extract blue colour channel
      Type Parameters:
        `T` - dataset sub-interface
      Parameters:
        `clazz` - dataset sub-interface
      Returns:
        a dataset of given class
      Since:
        2.1

    - #### createRedDataset

          @Deprecated
          public Dataset createRedDataset(int dtype)

      Deprecated. Use `createRedDataset(java.lang.Class<T>)`
      Extract red colour channel
      Parameters:
        `dtype` - dataset type
      Returns:
        a dataset of given type

    - #### createGreenDataset

          @Deprecated
          public Dataset createGreenDataset(int dtype)

      Deprecated. Use `createGreenDataset(java.lang.Class<T>)`
      Extract green colour channel
      Parameters:
        `dtype` - dataset type
      Returns:
        a dataset of given type

    - #### createBlueDataset

          @Deprecated
          public Dataset createBlueDataset(int dtype)

      Deprecated. Use `createBlueDataset(java.lang.Class<T>)`
      Extract blue colour channel
      Parameters:
        `dtype` - dataset type
      Returns:
        a dataset of given type

    - #### getRedView

          public ShortDataset getRedView()

      Returns:
        red view

    - #### getGreenView

          public ShortDataset getGreenView()

      Returns:
        green view

    - #### getBlueView

          public ShortDataset getBlueView()

      Returns:
        blue view

    - #### max

          public Number max(boolean... ignored)

      Specified by:
        `max` in interface `IDataset`
      Overrides:
        `max` in class `AbstractCompoundDataset`
      Parameters:
        `ignored` - - 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

    - #### min

          public Number min(boolean... ignored)

      Specified by:
        `min` in interface `IDataset`
      Overrides:
        `min` in class `AbstractCompoundDataset`
      Parameters:
        `ignored` - - see `IDataset.max(boolean...)`
      Returns:
        Minimum value

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