Class AreaFilterOperation

    • Field Detail

      • areaWidth

        private int areaWidth
      • areaHeight

        private int areaHeight
    • Constructor Detail

      • AreaFilterOperation

        public AreaFilterOperation()
    • Method Detail

      • checkAreaHeight

        public void checkAreaHeight​(int height)
        Checks if the argument is a valid area height value. The default implementation requires the argument to be odd and larger than zero. Override this method if your extension of AreaFilterOperation requires different heights.
        Throws:
        IllegalArgumentException - if the argument is not valid
      • checkAreaWidth

        public void checkAreaWidth​(int width)
        Checks if the argument is a valid area width value. The default implementation requires the argument to be odd and larger than zero. Override this method if your extension of AreaFilterOperation requires different widths.
        Throws:
        IllegalArgumentException - if the argument is not valid
      • computeSample

        public abstract int computeSample​(int[] samples,
                                          int numSamples)
        Determine the resulting sample for an array with the source sample and zero or more of its neighbors. This abstract method must be implemented by classes extending this operation. The array will hold numSamples samples, which will be stored starting at offset 0.

        Normally, numSamples is equal to getAreaWidth() times getAreaHeight(). Near the border of the image you may get less samples. Example: the top left sample of an image has only three neighbors (east, south-east and south), so you will only get four samples (three neighbors and the sample itself).

        Parameters:
        samples - the array holding the sample(s)
        numSamples - number of samples in the array
        Returns:
        sample to be written to the output image
      • getAreaHeight

        public int getAreaHeight()
        Returns the current area height.
        Returns:
        height of area window in pixels
        See Also:
        setAreaHeight(int)
      • getAreaWidth

        public int getAreaWidth()
        Returns the current area width.
        Returns:
        width of area window in pixels
        See Also:
        setAreaWidth(int)
      • process

        private void process​(int channelIndex,
                             IntegerImage in,
                             IntegerImage out)
        Applies the filter to one of the channels of an image.
      • setArea

        public void setArea​(int width,
                            int height)
        Sets the area of the window to be used to determine each pixel's mean to the argument width and height.
        Parameters:
        width - width of window, must be 1 or larger
        height - height of window, must be 1 or larger
        See Also:
        setAreaHeight(int), setAreaWidth(int)
      • setAreaHeight

        public void setAreaHeight​(int height)
        Sets the height of the area of the window to be used to determine each pixel's mean to the argument value.
        Parameters:
        height - height of window, must be odd and 1 or larger
        See Also:
        getAreaHeight(), setArea(int, int), setAreaWidth(int)
      • setAreaWidth

        public void setAreaWidth​(int width)
        Sets the width of the area of the window to be used to determine each pixel's mean to the argument value.
        Parameters:
        width - width of window, must be odd and 1 or larger
        See Also:
        getAreaWidth(), setArea(int, int), setAreaHeight(int)