#Frahst_alg = FRAHST('F-7.A-recS.R-static', p)
Frahst_alg = FRAHST('F-3.A-eng.R-eng', p)

for i in xrange(initial_conditions):
  
  D = gen_funcs[anomaly_type](**a) # so tidy!
  
  #data = load_ts_data('isp_routers', 'full')
  data = D['data']
  #data = zscore_win(data, 100)
  z_iter = iter(data)
  numStreams = data.shape[1]
  
  '''Initialise'''
  Frahst_alg.re_init(numStreams) 
  print 'data set ', i
  
  '''Begin Frahst'''
  # Main iterative loop. 
  for zt in z_iter:
  
    zt = zt.reshape(zt.shape[0],1)   # Convert to a column Vector 
  
    if Frahst_alg.st['anomaly'] == True:
      Frahst_alg.st['anomaly'] = False # reset anomaly var
  
    '''Frahst Version '''
    Frahst_alg.run(zt)
    # Calculate reconstructed data if needed
    st = Frahst_alg.st
data_list = []

#Frahst_alg = FRAHST('F-7.A-recS.R-static', p)
Frahst_alg = FRAHST('F-3.A-eng.R-eng', p)

for i in xrange(initial_conditions):

    D = gen_funcs[anomaly_type](**a)  # so tidy!

    #data = load_ts_data('isp_routers', 'full')
    data = D['data']
    #data = zscore_win(data, 100)
    z_iter = iter(data)
    numStreams = data.shape[1]
    '''Initialise'''
    Frahst_alg.re_init(numStreams)
    print 'data set ', i
    '''Begin Frahst'''
    # Main iterative loop.
    for zt in z_iter:

        zt = zt.reshape(zt.shape[0], 1)  # Convert to a column Vector

        if Frahst_alg.st['anomaly'] == True:
            Frahst_alg.st['anomaly'] = False  # reset anomaly var
        '''Frahst Version '''
        Frahst_alg.run(zt)
        # Calculate reconstructed data if needed
        st = Frahst_alg.st
        Frahst_alg.st['recon'] = np.dot(st['Q'][:, :st['r']],
                                        st['ht'][:st['r']])