class_docstr: Helper class to save the states of any filter object.
  Each time you call save() all of the attributes (state, covariances, etc)
  are appended to lists.
  
  Generally you would do this once per epoch - predict/update.
  
  Then, you can access any of the states by using the [] syntax or by
  using the . operator.
  
  .. code-block:: Python
  
      my_saver = Saver()
      ... do some filtering
  
      x = my_saver['x']
      x = my_save.x
  
  Either returns a list of all of the state `x` values for the entire
  filtering process.
  
  If you want to convert all saved lists into numpy arrays, call to_array().
  
  
  Parameters
  ----------
  
  kf : object
      any object with a __dict__ attribute, but intended to be one of the
      filtering classes
  
  save_current : bool, default=False
      save the current state of `kf` when the object is created;
  
  skip_private: bool, default=False
      Control skipping any private attribute (anything starting with '_')
      Turning this on saves memory, but slows down execution a bit.
  
  skip_callable: bool, default=False
      Control skipping any attribute which is a method. Turning this on
      saves memory, but slows down execution a bit.
  
  ignore: (str,) tuple of strings
      list of keys to ignore.
  
  Examples
  --------
  
  .. code-block:: Python
  
      kf = KalmanFilter(...whatever)
      # initialize kf here
  
      saver = Saver(kf) # save data for kf filter
      for z in zs:
          kf.predict()
          kf.update(z)
          saver.save()
  
      x = np.array(s.x) # get the kf.x state in an np.array
      plt.plot(x[:, 0], x[:, 2])
  
      # ... or ...
      s.to_array()
      plt.plot(s.x[:, 0], s.x[:, 2])
class_docstr_tok: ["Helper","class","to","save","the","states","of","any","filter","object",".","Each","time","you","call","save","(",")","all","of","the","attributes","(","state",",","covariances",",","etc",")","are","appended","to","lists",".","Generally","you","would","do","this","once","per","epoch","-","predict\/update",".","Then",",","you","can","access","any","of","the","states","by","using","the","[","]","syntax","or","by","using","the",".","operator",".","..","code-block",":",":","Python","my_saver","=","Saver","(",")","...","do","some","filtering","x","=","my_saver","[","'","x","'","]","x","=","my_save.x","Either","returns","a","list","of","all","of","the","state","`","x","`","values","for","the","entire","filtering","process",".","If","you","want","to","convert","all","saved","lists","into","numpy","arrays",",","call","to_array","(",")",".","Parameters","--","--","--","--","--","kf",":","object","any","object","with","a","__dict__","attribute",",","but","intended","to","be","one","of","the","filtering","classes","save_current",":","bool",",","default=False","save","the","current","state","of","`","kf","`","when","the","object","is","created",";","skip_private",":","bool",",","default=False","Control","skipping","any","private","attribute","(","anything","starting","with","'","_","'",")","Turning","this","on","saves","memory",",","but","slows","down","execution","a","bit",".","skip_callable",":","bool",",","default=False","Control","skipping","any","attribute","which","is","a","method",".","Turning","this","on","saves","memory",",","but","slows","down","execution","a","bit",".","ignore",":","(","str",",",")","tuple","of","strings","list","of","keys","to","ignore",".","Examples","--","--","--","--","..","code-block",":",":","Python","kf","=","KalmanFilter","(","...","whatever",")","#","initialize","kf","here","saver","=","Saver","(","kf",")","#","save","data","for","kf","filter","for","z","in","zs",":","kf.predict","(",")","kf.update","(","z",")","saver.save","(",")","x","=","np.array","(","s.x",")","#","get","the","kf.x","state","in","an","np.array","plt.plot","(","x","[",":",",","0","]",",","x","[",":",",","2","]",")","#","...","or","...","s.to_array","(",")","plt.plot","(","s.x","[",":",",","0","]",",","s.x","[",":",",","2","]",")"]
code: def __len__(self):
      return self._len
  
imports: from __future__ import print_function
  from collections import defaultdict, deque
  import copy
  import inspect
  import numpy
label_desc: Use image node_id 5 for calling the Saver obj's underlying member method code with example usage: obj.__len__() and returns: self