code: def __init__(self, device, batch_size, num_threads=1, device_id=0):
      super(MultichannelPipeline, self).__init__(
          batch_size, num_threads, device_id
      )
      self.device = device
  
      self.reader = ops.readers.File(files=multichannel_tiff_files)
  
      decoder_device = "mixed" if self.device == "gpu" else "cpu"
      self.decoder = ops.decoders.Image(
          device=decoder_device, output_type=types.ANY_DATA
      )
  
      self.resize = ops.Resize(
          device=self.device,
          resize_y=900,
          resize_x=300,
          min_filter=types.DALIInterpType.INTERP_LINEAR,
          antialias=False,
      )
  
      self.crop = ops.Crop(
          device=self.device,
          crop_h=220,
          crop_w=224,
          crop_pos_x=0.3,
          crop_pos_y=0.2,
      )
  
      self.transpose = ops.Transpose(
          device=self.device, perm=(1, 0, 2), transpose_layout=False
      )
  
      self.cmn = ops.CropMirrorNormalize(
          device=self.device,
          std=255.0,
          mean=0.0,
          output_layout="HWC",
          dtype=types.FLOAT,
      )
  
imports: from nvidia.dali.pipeline import Pipeline
  import nvidia.dali.ops
  import nvidia.dali.types
  import numpy
  import os
  from test_utils import compare_pipelines
  from test_utils import RandomDataIterator
  import cv2
  import glob
label_desc: Use image node_id 1 to create a new MultichannelPipeline object from inherited base classes: Pipeline with example: obj = MultichannelPipeline(device, batch_size, num_threads, device_id)