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 bprop_slice(self, x, S, Q, padding, stride, dilation):
      qs = x - (dilation * (S - 1) - padding)
      f1 = None
      for s in range(S):
          q = qs + s * dilation
          if q % stride == 0:
              q //= stride
              if q >= 0 and q < Q:
                  if f1 is None:
                      f1 = s
                      x1 = q
                  f2 = s
                  x2 = q
      if f1 is None:
          return (slice(0, 0, 1), slice(0, 0, 1), 0)
  
      f_step = 1
      while ((f_step * dilation) % stride) != 0:
          f_step += 1
      x_step = (f_step * dilation) // stride
      return (slice(f1, f2 + 1, f_step), slice(x1, x2 + 1, x_step), 0)
  
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 6 for calling the ConvLayer obj's underlying member method code with example usage: obj.bprop_slice(x, S, Q, padding, stride, dilation) and returns: slice,  slice,  int, slice,  slice,  int