class_docstr: Implementation of the ScaleBlock described in
  Fidon et al., "Scalable multimodal convolutional
      networks for brain tumour segmentation", MICCAI '17
  
  See Fig 2(a) for diagram details - SN BackEnd
class_docstr_tok: ["Implementation","of","the","ScaleBlock","described","in","Fidon","et","al.",",","``","Scalable","multimodal","convolutional","networks","for","brain","tumour","segmentation","''",",","MICCAI","'17","See","Fig","2","(","a",")","for","diagram","details","-","SN","BackEnd"]
docstr: :param func: merging function (SUPPORTED_OP: MAX, AVERAGE)
  :param n_layers: int, number of layers
  :param w_initializer: weight initialisation for network
  :param w_regularizer: weight regularisation for network
  :param acti_func: activation function to use
  :param name: layer name
docstr_tok: [":","param","func",":","merging","function","(","SUPPORTED_OP",":","MAX",",","AVERAGE",")",":","param","n_layers",":","int",",","number","of","layers",":","param","w_initializer",":","weight","initialisation","for","network",":","param","w_regularizer",":","weight","regularisation","for","network",":","param","acti_func",":","activation","function","to","use",":","param","name",":","layer","name"]
code: def __init__(
      self,
      func,
      n_layers=1,
      w_initializer=None,
      w_regularizer=None,
      acti_func="relu",
      name="scaleblock",
  ):
      """
      :param func: merging function (SUPPORTED_OP: MAX, AVERAGE)
      :param n_layers: int, number of layers
      :param w_initializer: weight initialisation for network
      :param w_regularizer: weight regularisation for network
      :param acti_func: activation function to use
      :param name: layer name
      """
      self.func = look_up_operations(func.upper(), SUPPORTED_OP)
      super(ScaleBlock, self).__init__(name=name)
      self.n_layers = n_layers
      self.acti_func = acti_func
  
      self.initializers = {"w": w_initializer}
      self.regularizers = {"w": w_regularizer}
  
file_path: NiftyNet/niftynet/network/scalenet.py
imports: from __future__ import absolute_import, print_function, division
  import tensorflow
  from niftynet.layer.base_layer import TrainableLayer
  from niftynet.layer.convolution import ConvolutionalLayer
  from niftynet.network.base_net import BaseNet
  from niftynet.network.highres3dnet import HighRes3DNet, HighResBlock
  from niftynet.utilities.util_common import look_up_operations
label_desc: Use image node_id 1 to create a new ScaleBlock object from inherited base classes: TrainableLayer with example: obj = ScaleBlock(func, n_layers, w_initializer, w_regularizer, acti_func, name)