class_docstr: Input that can be used with :meth:`Augmentation.__call__`.
  This is a standard implementation for the majority of use cases.
  This class provides the standard attributes **"image", "boxes", "sem_seg"**
  defined in :meth:`__init__` and they may be needed by different augmentations.
  Most augmentation policies do not need attributes beyond these three.
  
  After applying augmentations to these attributes (using :meth:`AugInput.transform`),
  the returned transforms can then be used to transform other data structures that users have.
  
  Examples:
  ::
      input = AugInput(image, boxes=boxes)
      tfms = augmentation(input)
      transformed_image = input.image
      transformed_boxes = input.boxes
      transformed_other_data = tfms.apply_other(other_data)
  
  An extended project that works with new data types may implement augmentation policies
  that need other inputs. An algorithm may need to transform inputs in a way different
  from the standard approach defined in this class. In those rare situations, users can
  implement a class similar to this class, that satify the following condition:
  
  * The input must provide access to these data in the form of attribute access
    (``getattr``).  For example, if an :class:`Augmentation` to be applied needs "image"
    and "sem_seg" arguments, its input must have the attribute "image" and "sem_seg".
  * The input must have a ``transform(tfm: Transform) -> None`` method which
    in-place transforms all its attributes.
docstr: In-place transform all attributes of this class.
  
  By "in-place", it means after calling this method, accessing an attribute such
  as ``self.image`` will return transformed data.
docstr_tok: ["In-place","transform","all","attributes","of","this","class",".","By","``","in-place","''",",","it","means","after","calling","this","method",",","accessing","an","attribute","such","as","``","self.image","``","will","return","transformed","data","."]
code: def transform(self, tfm: Transform) -> None:
      """
      In-place transform all attributes of this class.
  
      By "in-place", it means after calling this method, accessing an attribute such
      as ``self.image`` will return transformed data.
      """
      self.image = tfm.apply_image(self.image)
      if self.boxes is not None:
          self.boxes = tfm.apply_box(self.boxes)
      if self.sem_seg is not None:
          self.sem_seg = tfm.apply_segmentation(self.sem_seg)
  
imports: import inspect
  import numpy
  import pprint
  from typing import Any, List, Optional, Tuple, Union
  from fvcore.transforms.transform import Transform, TransformList
label_desc: Use image node_id 2 for calling the AugInput obj's underlying member method code with example usage: obj.transform(tfm) without return types