able to calculate polarization index (from power only)
This commit is contained in:
@@ -117,6 +117,30 @@ from scipy.signal import savgol_filter
|
||||
|
||||
import datetime
|
||||
|
||||
def polarization_index(df,rower):
|
||||
df['dt'] = df['time'].diff()/6.e4
|
||||
# remove rest (spm<15)
|
||||
df.dropna(axis=0,inplace=True)
|
||||
df['dt'] = df['dt'].clip(upper=4,lower=0)
|
||||
|
||||
|
||||
masklow = (df['power']>0) & (df['power']<int(rower.pw_at))
|
||||
maskmid = (df['power']>=rower.pw_at) & (df['power']<int(rower.pw_an))
|
||||
maskhigh = (df['power']>rower.pw_an)
|
||||
|
||||
|
||||
time_low_pw = df.loc[masklow,'dt'].sum()
|
||||
time_mid_pw = df.loc[maskmid,'dt'].sum()
|
||||
time_high_pw = df.loc[maskhigh,'dt'].sum()
|
||||
|
||||
frac_low = time_low_pw/(time_low_pw+time_mid_pw+time_high_pw)
|
||||
frac_mid = time_mid_pw/(time_low_pw+time_mid_pw+time_high_pw)
|
||||
frac_high = time_high_pw/(time_low_pw+time_mid_pw+time_high_pw)
|
||||
|
||||
index = math.log10(frac_high*100.*frac_low/frac_mid)
|
||||
|
||||
return index
|
||||
|
||||
|
||||
def get_latlon(id):
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user