class_docstr: Identifies and tracks unique objects within a list, even if they are
  duplicates based on internal memory addresses (using id()).
  It Optimizes operations involving unique objects by avoiding redundant
  processing.
  
  Examples
  --------
  >>> from deepchem.utils import Uniquifier
  >>> a = 1
  >>> b = 2
  >>> c = 3
  >>> d = 1
  >>> u = Uniquifier([a, b, c, a, d])
  >>> u.get_unique_objs()
  [1, 2, 3]
docstr: Get the unique objects.
  
  Parameters
  ----------
  allobjs: Optional[List]
      The list of objects to be uniquified.
  
  Returns
  -------
  List
      The list of unique objects.
docstr_tok: ["Get","the","unique","objects",".","Parameters","--","--","--","--","--","allobjs",":","Optional","[","List","]","The","list","of","objects","to","be","uniquified",".","Returns","--","--","--","-","List","The","list","of","unique","objects","."]
code: def get_unique_objs(self, allobjs: Optional[List] = None) -> List:
      """Get the unique objects.
  
      Parameters
      ----------
      allobjs: Optional[List]
          The list of objects to be uniquified.
  
      Returns
      -------
      List
          The list of unique objects.
  
      """
      if allobjs is None:
          return self.unique_objs
      assert len(allobjs) == self.nobjs, (
          "The allobjs must have %d elements" % self.nobjs
      )
      if self.all_unique:
          return allobjs
      return [allobjs[i] for i in self.unique_idxs]
  
file_path: deepchem/deepchem/utils/misc_utils.py
imports: from typing import Dict, List, Optional
label_desc: Use image node_id 2 for calling the Uniquifier obj's underlying member method code with example usage: obj.get_unique_objs(allobjs) and returns: unknown, self, allobjs