Class BaseSpatialWindow<T extends Tensor<T>,​P extends SpatialPadding2D<T>>

java.lang.Object
deepboof.impl.forward.standard.BaseFunction<T>
deepboof.impl.forward.standard.BaseSpatialWindow<T,​P>
All Implemented Interfaces:
Function<T>
Direct Known Subclasses:
SpatialWindowChannel, SpatialWindowImage

public abstract class BaseSpatialWindow<T extends Tensor<T>,​P extends SpatialPadding2D<T>>
extends BaseFunction<T>
Common class for implementations of SpatialConvolve2D. Does not assume how kernels span input channels.
  • Field Details

    • config

      protected ConfigSpatial config
      Configuration for convolution
    • N

      protected int N
    • C

      protected int C
    • H

      protected int H
    • W

      protected int W
    • HH

      protected int HH
    • WW

      protected int WW
    • Ho

      protected int Ho
    • Wo

      protected int Wo
    • Hp

      protected int Hp
    • Wp

      protected int Wp
    • padding

      protected P extends SpatialPadding2D<T> padding
  • Constructor Details

    • BaseSpatialWindow

      public BaseSpatialWindow​(ConfigSpatial config, P padding)
  • Method Details

    • _initialize

      public void _initialize()
      Specified by:
      _initialize in class BaseFunction<T extends Tensor<T>>
    • isEntirelyBorder

      protected boolean isEntirelyBorder​(int outR0, int outC0)
      Do all regions interact with the image border? The provided point is the lower-extent of the output pixel which doesn't interact with input image border.
      Parameters:
      outR0 - Lower-extent row in output coordinates.
      outC0 - Lower-extent column in output coordinates.
    • innerLowerExtent

      public static int innerLowerExtent​(int period, int padding)
      The lower extent in output coordinates for regions that are contained entirely inside the original image. s
      Parameters:
      period - Sampling period in input tensor pixels
      padding - Padding added along lower extent to input tensor
      Returns:
      Lower extent in output tensor coordinates, inclusive
    • innerUpperExtent

      public static int innerUpperExtent​(int windowLength, int period, int padding, int inputLength)
      The upper extent int output coordinates for regions that are contained entirely inside the original image.
      Parameters:
      windowLength - Length of sampling window in input tensor pixel
      period - Sampling period in input tensor pixels
      padding - Padding added along lower extent to input tensor
      inputLength - Length of the input tensor
      Returns:
      Upper extent in output tensor coordinates, exclusive
    • getPadding

      public P getPadding()