class_docstr: Saves the relative Cartesian coordinates of linked nodes in its edge
  attributes (functional name: :obj:`local_cartesian`). Each coordinate gets
  *neighborhood-normalized* to a specified interval
  (:math:`[0, 1]` by default).
  
  Args:
      norm (bool, optional): If set to :obj:`False`, the output will not be
          normalized. (default: :obj:`True`)
      cat (bool, optional): If set to :obj:`False`, all existing edge
          attributes will be replaced. (default: :obj:`True`)
      interval ((float, float), optional): A tuple specifying the lower and
          upper bound for normalization. (default: :obj:`(0.0, 1.0)`)
code: def __init__(
      self,
      norm: bool = True,
      cat: bool = True,
      interval: Tuple[float, float] = (0.0, 1.0),
  ):
      self.norm = norm
      self.cat = cat
      self.interval = interval
  
file_path: pytorch_geometric/torch_geometric/transforms/local_cartesian.py
imports: from typing import Tuple
  import torch
  from torch_geometric.data import Data
  from torch_geometric.data.datapipes import functional_transform
  from torch_geometric.transforms import BaseTransform
  from torch_geometric.utils import scatter
label_desc: Use image node_id 1 to create a new LocalCartesian object from inherited base classes: BaseTransform with example: obj = LocalCartesian(norm, cat, interval)