class_docstr: Applies the following tranformation to a tensor (image or batch of images):
  convert to grayscale, colorize (shift 0-values randomly), and then invert colors
  
  .. tabs::
  
      .. tab:: TensorFlow
  
          .. code:: python
  
              >>> import tensorflow as tf
              >>> from doctr.transforms import ColorInversion
              >>> transfo = ColorInversion(min_val=0.6)
              >>> out = transfo(tf.random.uniform(shape=[8, 64, 64, 3], minval=0, maxval=1))
  
      .. tab:: PyTorch
  
          .. code:: python
  
              >>> import torch
              >>> from doctr.transforms import ColorInversion
              >>> transfo = ColorInversion(min_val=0.6)
              >>> out = transfo(torch.rand(8, 64, 64, 3))
  
  Args:
  ----
      min_val: range [min_val, 1] to colorize RGB pixels
code: def extra_repr(self) -> str:
      return f"min_val={self.min_val}"
  
imports: import math
  import random
  from typing import Any, Callable, Dict, List, Optional, Tuple, Union
  import numpy
  from doctr.utils.repr import NestedObject
  from ..None import functional
label_desc: Use image node_id 2 for calling the ColorInversion obj's underlying member method code with example usage: obj.extra_repr() and returns: str, self