class_docstr: Applies a set of data transformations individually to an input time series.
  Stacks all of the results into a multivariate time series.
class_docstr_tok: ["Applies","a","set","of","data","transformations","individually","to","an","input","time","series",".","Stacks","all","of","the","results","into","a","multivariate","time","series","."]
code: def __call__(self, time_series: TimeSeries) -> TimeSeries:
      ts_list = [f(time_series) for f in self.transforms]
  
      # To invert the overall stacked transform, we pick one transform (idx)
      # to invert. The outputs of this transform are univariates d0 to df of
      # the output time series. We also need to keep track of the names of the
      # univariates in the input time series.
      if self.proper_inversion:
          idx = min(
              i
              for i, f in enumerate(self.transforms)
              if f.proper_inversion
          )
          d0 = sum(ts.dim for ts in ts_list[:idx])
          df = d0 + ts_list[idx].dim
          self.inversion_state = (idx, d0, df, time_series.names)
      else:
          self.inversion_state = (
              0,
              0,
              ts_list[0].dim,
              time_series.names,
          )
  
      return TimeSeries.from_ts_list(
          ts_list, check_aligned=self.check_aligned
      )
  
imports: from collections import OrderedDict
  import logging
  from typing import List
  from merlion.transform.base import TransformBase, InvertibleTransformBase, Identity
  from merlion.transform.factory import TransformFactory
  from merlion.utils import TimeSeries
label_desc: Use image node_id 5 for calling the TransformStack obj's underlying member method code with example usage: obj.__call__(time_series) and returns: TimeSeries