Interface Histogram3D

All Known Implementing Classes:
NaiveHistogram3D, OnDemandHistogram3D

public interface Histogram3D
An interface for classes that store three-dimensional histograms. Histograms count the occurrence of values, so a three-dimensional histogram has counters for three-dimensional values. The 3D histograms are used (as an example) to count the occurrence of each color in an RGB image.
Author:
Marco Schmidt
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Sets all counters to zero.
    int
    getEntry(int index1, int index2, int index3)
    Returns the counter value of (index1, index2, index3).
    int
    getMaxValue(int index)
    Returns the maximum index value for one of the three indexes.
    int
    Returns the number of used entries (those entries with a counter value larger than zero).
    void
    increaseEntry(int index1, int index2, int index3)
    Increases the counter value of (index1, index2, index3) by one.
    void
    setEntry(int index1, int index2, int index3, int newValue)
    Sets the counter value of (index1, index2, index3) to newValue.
  • Method Details

    • clear

      void clear()
      Sets all counters to zero.
    • getEntry

      int getEntry(int index1, int index2, int index3)
      Returns the counter value of (index1, index2, index3).
      Parameters:
      index1 - first of the three values forming the threedimensional index
      index2 - second of the three values forming the threedimensional index
      index3 - three of the three values forming the threedimensional index
      Returns:
      the counter value of the desired index
      Throws:
      IllegalArgumentException - if the index formed by the arguments is invalid
    • getMaxValue

      int getMaxValue(int index)
      Returns the maximum index value for one of the three indexes.
      Throws:
      IllegalArgumentException - if the index formed by the arguments is invalid
    • getNumUsedEntries

      int getNumUsedEntries()
      Returns the number of used entries (those entries with a counter value larger than zero).
      Returns:
      number of non-zero counter values
    • increaseEntry

      void increaseEntry(int index1, int index2, int index3)
      Increases the counter value of (index1, index2, index3) by one. This method can be implemented by the one-liner setEntry(index1, index2, index3, getEntry(index1, index2, index3) + 1); However, implementations of this method may take advantage of implementation details to provide a more efficient approach.
      Parameters:
      index1 - first of the three values forming the threedimensional index
      index2 - second of the three values forming the threedimensional index
      index3 - three of the three values forming the threedimensional index
      Throws:
      IllegalArgumentException - if the index formed by the arguments is invalid
    • setEntry

      void setEntry(int index1, int index2, int index3, int newValue)
      Sets the counter value of (index1, index2, index3) to newValue.
      Parameters:
      index1 - first of the three values forming the threedimensional index
      index2 - second of the three values forming the threedimensional index
      index3 - three of the three values forming the threedimensional index
      newValue - the counter value that is assigned to the argument index
      Throws:
      IllegalArgumentException - if the index formed by the first three arguments is invalid