class_docstr: ConvLayer parameter object.
  This then is passed as an argument to all the convolution operations.
  
  N: Number of images in mini-batch
  C: Number of input feature maps
  K: Number of output feature maps
  
  D: Depth  of input image
  H: Height of input image
  W: Width  of input image
  
  T: Depth  of filter kernel
  R: Height of filter kernel
  S: Width  of filter kernel
  
  padding: amount of zero-padding around the given edge
  strides: factor to step the filters by in a given direction
  dilation: dilation factor for each dimension
code: def fprop_slice(self, q, S, X, padding, stride, dilation):
      f1 = None
      qs = q * stride - padding
      for s in range(S):
          x = qs + s * dilation
          if f1 is None and x >= 0 and x < X:
              x1 = x
              f1 = s
          if x < X:
              x2 = x
              f2 = s
      if f1 is None:
          return (slice(0, 0, 1), slice(0, 0, 1), 0)
      return (
          slice(f1, f2 + 1),
          slice(x1, x2 + 1, dilation),
          f2 - f1 + 1,
      )
  
imports: from __future__ import division
  from builtins import object
  import math
  from operator import mul
  import numpy
  from functools import reduce
label_desc: Use image node_id 5 for calling the ConvLayer obj's underlying member method code with example usage: obj.fprop_slice(q, S, X, padding, stride, dilation) and returns: slice,  slice,  unknown, slice,  slice,  int