docstr: Warping with MONAI
  Args:
      image_tensor: torch tensor of shape 2D: (1, 1, H, W) and 3D: (1, 1, D, H, W)
      ddf_tensor: torch tensor of shape 2D: (1, 2, H, W) and 3D: (1, 3, D, H, W)
  Returns:
      warped_image: numpy array of shape (H, W) or (D, H, W)
code: def monai_warp(self, image_tensor, ddf_tensor):
      """
      Warping with MONAI
      Args:
          image_tensor: torch tensor of shape 2D: (1, 1, H, W) and 3D: (1, 1, D, H, W)
          ddf_tensor: torch tensor of shape 2D: (1, 2, H, W) and 3D: (1, 3, D, H, W)
      Returns:
          warped_image: numpy array of shape (H, W) or (D, H, W)
      """
      warp = Warp(mode="bilinear", padding_mode="zeros")
      warped_image = warp(
          image_tensor.to(torch.float64), ddf_tensor.to(torch.float64)
      )
  
      return warped_image.to(torch.float32).squeeze().numpy()
  
imports: from __future__ import annotations
  import itertools
  import os
  import tempfile
  import unittest
  import numpy
  import torch
  from parameterized import parameterized
  import monai
  import monai.transforms
  from monai.apps import download_url
  from monai.data import ITKReader
  from monai.data.itk_torch_bridge import get_itk_image_center, itk_image_to_metatensor, itk_to_monai_affine, metatensor_to_itk_image, monai_to_itk_affine, monai_to_itk_ddf
  from monai.networks.blocks import Warp
  from monai.transforms import Affine
  from monai.utils import optional_import, set_determinism
  from tests.utils import assert_allclose, skip_if_downloading_fails, skip_if_quick, test_is_quick, testing_data_config
label_desc: Use image node_id 8 for calling the TestITKTorchAffineMatrixBridge obj's underlying member method code with example usage: obj.monai_warp(image_tensor, ddf_tensor) and returns: warped_image