class_docstr: Test for niftynet.layer.subpixel.SubPixelLayer.
  Mostly adapted from convolution_test.py
code: def test_2d_bespoke(self):
      upsampling = 6
      data = self.get_2d_input(shape=(2, 16, 16, upsampling**2))
  
      output_shape = self._make_output_shape(data, upsampling)
  
      params = {
          "upsample_factor": upsampling,
          "kernel_size": 4,
          "padding": "SAME",
      }
  
      self._test_subpixel_output_shape(data, params, output_shape)
  
file_path: NiftyNet/tests/subpixel_test.py
imports: from __future__ import division, absolute_import, print_function
  import functools
  import numpy
  import tensorflow
  from niftynet.layer.subpixel import SubPixelLayer
  from tests.niftynet_testcase import NiftyNetTestCase
label_desc: Use image node_id 8 for calling the SubPixelTest obj's underlying member method code with example usage: obj.test_2d_bespoke() without return types