class_docstr: Reimplementation of LocalNet, based on:
  `Weakly-supervised convolutional neural networks for multimodal image registration
  <https://doi.org/10.1016/j.media.2018.07.002>`_.
  `Label-driven weakly-supervised learning for multimodal deformable image registration
  <https://arxiv.org/abs/1711.01666>`_.
  
  Adapted from:
      DeepReg (https://github.com/DeepRegNet/DeepReg)
code: def build_bottom_block(self, in_channels: int, out_channels: int):
      kernel_size = self.encode_kernel_sizes[self.depth]
      return get_conv_block(
          spatial_dims=self.spatial_dims,
          in_channels=in_channels,
          out_channels=out_channels,
          kernel_size=kernel_size,
      )
  
imports: from __future__ import annotations
  import torch
  from torch import nn
  from torch.nn import functional
  from monai.networks.blocks.regunet_block import RegistrationDownSampleBlock, RegistrationExtractionBlock, RegistrationResidualConvBlock, get_conv_block, get_deconv_block
  from monai.networks.utils import meshgrid_ij
label_desc: Use image node_id 2 for calling the LocalNet obj's underlying member method code with example usage: obj.build_bottom_block(in_channels, out_channels) and returns: get_conv_block