code: def transform(self, translation, theta, method='opencv'):
          
          # transform channels separately
          color_im_tf = self.color.transform(translation, theta, method=method)
          depth_im_tf = self.depth.transform(translation, theta, method=method)
  
          # return combination of cropped data
          return RgbdImage.from_color_and_depth(color_im_tf, depth_im_tf)
docs: Create a new image by translating and rotating the current image.
  
          Parameters
          ----------
          translation : :obj:`numpy.ndarray` of float
              The XY translation vector.
          theta : float
              Rotation angle in radians, with positive meaning counter-clockwise.
          method : :obj:`str`
              Method to use for image transformations (opencv or scipy)
  
          Returns
          -------
          :obj:`Image`
              An image of the same type that has been rotated and translated.