class_docstr: Abstract class for calculating a set of features for a datapoint.
  
  This class is abstract and cannot be invoked directly. You'll
  likely only interact with this class if you're a developer. In
  that case, you might want to make a child class which
  implements the `_featurize` method for calculating features for
  a single datapoints if you'd like to make a featurizer for a
  new datatype.
class_docstr_tok: ["Abstract","class","for","calculating","a","set","of","features","for","a","datapoint",".","This","class","is","abstract","and","can","not","be","invoked","directly",".","You'll","likely","only","interact","with","this","class","if","you","'re","a","developer",".","In","that","case",",","you","might","want","to","make","a","child","class","which","implements","the","`","_featurize","`","method","for","calculating","features","for","a","single","datapoints","if","you","'d","like","to","make","a","featurizer","for","a","new","datatype","."]
docstr: Calculate features for datapoints.
  
  `**kwargs` will get passed directly to `Featurizer.featurize`
  
  Parameters
  ----------
  datapoints: Iterable[Any]
      Any blob of data you like. Subclasss should instantiate this.
docstr_tok: ["Calculate","features","for","datapoints",".","`","*","*","kwargs","`","will","get","passed","directly","to","`","Featurizer.featurize","`","Parameters","--","--","--","--","--","datapoints",":","Iterable","[","Any","]","Any","blob","of","data","you","like",".","Subclasss","should","instantiate","this","."]
code: def __call__(self, datapoints: Iterable[Any], **kwargs):
      """Calculate features for datapoints.
  
      `**kwargs` will get passed directly to `Featurizer.featurize`
  
      Parameters
      ----------
      datapoints: Iterable[Any]
          Any blob of data you like. Subclasss should instantiate this.
      """
      return self.featurize(datapoints, **kwargs)
  
imports: import inspect
  import logging
  import numpy
  from typing import Any, Dict, Iterable, Optional, Tuple, Union, cast
  from deepchem.utils import get_print_threshold
  from deepchem.utils.typing import PymatgenStructure
label_desc: Use image node_id 2 for calling the Featurizer obj's underlying member method code with example usage: obj.__call__(datapoints) and returns: self