Welcome    Usage    Browse    Find CID    Search     Log in

cM API Documentation

module.py

Go to the documentation of this file.
00001 #
00002 # Collective Mind
00003 #
00004 # See cM LICENSE.txt for licensing details.
00005 # See cM Copyright.txt for copyright details.
00006 #
00007 # Developer(s): (C) Grigori Fursin, started on 2011.09
00008 #
00009 
00010 # Should always be here
00011 ini={}
00012 cm_kernel=None
00013 
00014 # Local settings
00015 import math
00016 import numpy as np
00017 
00018 # ============================================================================
00019 def init(i):
00020     return {'cm_return':0}
00021 
00022 # ============================================================================
00023 def process(i):
00024     """
00025     Analyze variation of variables
00026 
00027     Input:  {
00028               array     - dictionary of format
00029                           {
00030                             "varA":[valueA1, valueA2, ...],
00031                             "varB":[valueB1, valueB2, ...],
00032                             ...
00033                           }
00034             }
00035 
00036     Output: {
00037               cm_return - if =0, success
00038               array     - dictionary of format
00039                           {
00040                             "varA":{
00041                                     "min"                  - min value
00042                                     "max"                  - max value
00043                                     "delta"                - max-min
00044                                     "percent_delta_to_min" - delta/min
00045                                     "mean"                 - mean
00046                                     "std"                  - standard deviation
00047                                     "percent_std_to_min"   - standard deviation/min  
00048                                    }
00049                             ...    
00050                           }
00051             }
00052     """
00053 
00054     a=i.get('array',{})
00055     b={}
00056 
00057     for var in a:
00058         # Convert to float
00059         aa=a[var]
00060 
00061         fa=[]
00062         for v in aa:
00063             fa.append(float(v))
00064         nfa=np.array(fa)
00065 
00066         dmin=np.min(nfa)
00067         dmax=np.max(nfa)
00068         delta=dmax-dmin
00069         dmean=np.mean(nfa)
00070         dstd=np.std(nfa)
00071 
00072 
00073         b[var]={'min':str(dmin),
00074                 'max':str(dmax),
00075                 'delta':str(delta),
00076                 'percent_delta_to_min':str(delta/dmin),
00077                 'mean':str(dmean),
00078                 'std':str(dstd),
00079                 'percent_std_to_min':str(dstd/dmin)}  
00080 
00081     return {'cm_return':0, 'array':b}

Generated on Wed May 28 02:49:02 2014 for Collective Mind Framework by DoxyGen 1.6.1
Concept, design and coordination: Grigori Fursin (C) 1993-2013