class_docstr: Raymarch using the Absorption-Only (AO) algorithm.
  
  The algorithm independently renders each ray by analyzing density and
  feature values sampled at (typically uniformly) spaced 3D locations along
  each ray. The density values `rays_densities` are of shape
  `(..., n_points_per_ray, 1)`, their values should range between [0, 1], and
  represent the opaqueness of each point (the higher the less transparent).
  The algorithm only measures the total amount of light absorbed along each ray
  and, besides outputting per-ray `opacity` values of shape `(...,)`,
  does not produce any feature renderings.
  
  The algorithm simply computes `total_transmission = prod(1 - rays_densities)`
  of shape `(..., 1)` which, for each ray, measures the total amount of light
  that passed through the volume.
  It then returns `opacities = 1 - total_transmission`.
code: def __init__(self) -> None:
      super().__init__()
  
file_path: pytorch3d/pytorch3d/renderer/implicit/raymarching.py
imports: import warnings
  from typing import Optional, Tuple, Union
  import torch
label_desc: Use image node_id 1 to create a new AbsorptionOnlyRaymarcher object from inherited base classes: torch.nn with example: obj = AbsorptionOnlyRaymarcher()