class_docstr: This transform is responsible to get an attribute under feat_name and add it to x if add_to_x is True
  
  Paremeters
  ----------
  add_to_x: bool
      Control if the feature is going to be added/concatenated to x
  feat_name: str
      The feature to be found within data to be added/concatenated to x
  input_nc_feat: int, optional
      If provided, check if feature last dimension maches provided value.
  strict: bool, optional
      Recommended to be set to True. If False, it won't break if feat isn't found or dimension doesn t match. (default: ``True``)
class_docstr_tok: ["This","transform","is","responsible","to","get","an","attribute","under","feat_name","and","add","it","to","x","if","add_to_x","is","True","Paremeters","--","--","--","--","--","add_to_x",":","bool","Control","if","the","feature","is","going","to","be","added\/concatenated","to","x","feat_name",":","str","The","feature","to","be","found","within","data","to","be","added\/concatenated","to","x","input_nc_feat",":","int",",","optional","If","provided",",","check","if","feature","last","dimension","maches","provided","value",".","strict",":","bool",",","optional","Recommended","to","be","set","to","True",".","If","False",",","it","wo","n't","break","if","feat","is","n't","found","or","dimension","doesn","t","match",".","(","default",":","``","True","``",")"]
code: def __repr__(self):
      return "{}(add_to_x: {}, feat_name: {}, strict: {})".format(
          self.__class__.__name__,
          self._add_to_x,
          self._feat_name,
          self._strict,
      )
  
imports: from typing import List, Optional
  from tqdm.auto import tqdm
  import itertools
  import numpy
  import math
  import re
  import torch
  import random
  from torch.nn import functional
  from functools import partial
  from torch_geometric.nn import fps, radius, knn, voxel_grid
  from torch_geometric.nn.pool.consecutive import consecutive_cluster
  from torch_geometric.nn.pool.pool import pool_pos, pool_batch
  from torch_scatter import scatter_add, scatter_mean
  from torch_geometric.data import Data, Batch
  from torch_points3d.datasets.multiscale_data import MultiScaleData
  from torch_points3d.utils.transform_utils import SamplingStrategy
  from torch_points3d.utils.config import is_list
  from torch_points3d.utils import is_iterable
  from torch_points3d.utils.geometry import euler_angles_to_rotation_matrix
label_desc: Use image node_id 3 for calling the AddFeatByKey obj's underlying member method code with example usage: obj.__repr__() and returns: str