code: def get_transform_object(self, transform_type, transform_params):
      from pytorchvideo import transforms as ptv_transforms
  
      # Look for the transform in:
      # 1) pytorchvideo.transforms
      transform = getattr(ptv_transforms, transform_type, None)
      if transform is None:
          # 2) processor registry
          transform = registry.get_processor_class(transform_type)
      if transform is not None:
          return self.instantiate_transform(transform, transform_params)
  
      # 3) torchvision.transforms
      img_transform = getattr(img_transforms, transform_type, None)
      assert img_transform is not None, (
          f"transform {transform_type} is not found in pytorchvideo "
          "transforms, processor registry, or torchvision transforms"
      )
      # To use the image transform on a video, we need to permute the axes
      # to (T,C,H,W) and back
      return img_transforms.Compose(
          [
              ptv_transforms.Permute((1, 0, 2, 3)),
              self.instantiate_transform(
                  img_transform, transform_params
              ),
              ptv_transforms.Permute((1, 0, 2, 3)),
          ]
      )
  
imports: import collections
  import importlib
  import logging
  import random
  import mmf.datasets.processors.functional
  import torch
  from mmf.common.registry import registry
  from mmf.datasets.processors import BaseProcessor
  from omegaconf import OmegaConf
  from torchvision import transforms
label_desc: Use image node_id 2 for calling the VideoTransforms obj's underlying member method code with example usage: obj.get_transform_object(transform_type, transform_params) and returns: img_transforms, self