class_docstr: Base class for terms in a Pipeline API compute graph.
class_docstr_tok: ["Base","class","for","terms","in","a","Pipeline","API","compute","graph","."]
docstr: Parameters
  ----------
  domain : object
      Unused placeholder.
  dtype : np.dtype
      Dtype of this term's output.
  params : tuple[(str, hashable)]
      Tuple of key/value pairs of additional parameters.
docstr_tok: ["Parameters","--","--","--","--","--","domain",":","object","Unused","placeholder",".","dtype",":","np.dtype","Dtype","of","this","term","'s","output",".","params",":","tuple","[","(","str",",","hashable",")","]","Tuple","of","key\/value","pairs","of","additional","parameters","."]
code: def _init(
      self, domain, dtype, missing_value, window_safe, ndim, params
  ):
      """
      Parameters
      ----------
      domain : object
          Unused placeholder.
      dtype : np.dtype
          Dtype of this term's output.
      params : tuple[(str, hashable)]
          Tuple of key/value pairs of additional parameters.
      """
      self.domain = domain
      self.dtype = dtype
      self.missing_value = missing_value
      self.window_safe = window_safe
      self.ndim = ndim
  
      for name, value in params:
          if hasattr(self, name):
              raise TypeError(
                  "Parameter {name!r} conflicts with already-present"
                  " attribute with value {value!r}.".format(
                      name=name,
                      value=getattr(self, name),
                  )
              )
          # TODO: Consider setting these values as attributes and replacing
          # the boilerplate in NumericalExpression, Rank, and
          # PercentileFilter.
  
      self.params = dict(params)
  
      # Make sure that subclasses call super() in their _validate() methods
      # by setting this flag.  The base class implementation of _validate
      # should set this flag to True.
      self._subclass_called_super_validate = False
      self._validate()
      assert self._subclass_called_super_validate, (
          "Term._validate() was not called.\n"
          "This probably means that you overrode _validate"
          " without calling super()."
      )
      del self._subclass_called_super_validate
  
      return self
  
imports: from abc import ABCMeta, abstractproperty
  from bisect import insort
  from collections import Mapping
  from weakref import WeakValueDictionary
  from numpy import array, dtype, ndarray, searchsorted
  from six import with_metaclass
  from catalyst.assets import Asset
  from catalyst.errors import DTypeNotSpecified, InvalidOutputName, NonExistentAssetInTimeFrame, NonSliceableTerm, NonWindowSafeInput, NotDType, TermInputsNotSpecified, TermOutputsEmpty, UnsupportedDType, WindowLengthNotSpecified
  from catalyst.lib.adjusted_array import can_represent_dtype
  from catalyst.lib.labelarray import LabelArray
  from catalyst.utils.input_validation import expect_types
  from catalyst.utils.memoize import lazyval
  from catalyst.utils.numpy_utils import bool_dtype, categorical_dtype, datetime64ns_dtype, default_missing_value_for_dtype
  from catalyst.utils.sharedoc import templated_docstring, PIPELINE_ALIAS_NAME_DOC, PIPELINE_DOWNSAMPLING_FREQUENCY_DOC
  from .downsample_helpers import expect_downsample_frequency
  from .sentinels import NotSpecified
label_desc: Use image node_id 6 for calling the Term obj's underlying member method code with example usage: obj._init(domain, dtype, missing_value, window_safe, ndim, params) and returns: self