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:
    Histogram1D
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void clear()
      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 getNumUsedEntries()
      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 Detail

      • 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