Flexion-Extension of Functional Spine Units¶
Cervical spine functional spine units flexion and extension responses compared to Nightingale el al. (2002) and Wheeldon et al. (2006)
- Performed by: I Putu Alit Putra, Chiara Fichera
- Notebook prepared by: Chiara Fichera
- Reviewed by:
Last modified: 2023-03-20
VIVA+ model version (this notebook run for): 0.3.2
© 2019-2023, OpenVT Organization (OVTO)
Available openly under under Creative Commons Attribution 4.0 International License 
Flexion-Extension¶
In [12]:
Copied!
def filtering_extension(df): # filter the dataframe and return min index in Dataframe that satisfy condition Moment > -3
mask = df.moment.Moment > -3
ind = mask.index[mask['kilogram * meter ** 2 / second ** 2'] == False]
min_idx = ind.min()
return min_idx
def filtering_flexion(df): # filter the dataframe and return min index in Dataframe that satisfy condition of Moment < 3
mask = df.moment.Moment < 3
ind = mask.index[mask['kilogram * meter ** 2 / second ** 2'] == False]
min_idx = ind.min()
return min_idx
# Flexion index
C0_C2_50F_flex_ind = filtering_flexion(C0_C2.C0_C2_Flexion_50F)
C0_C2_50M_flex_ind = filtering_flexion(C0_C2.C0_C2_Flexion_50M)
C2_C3_50F_flex_ind = filtering_flexion(C2_C3.C2_C3_Flexion_50F)
C2_C3_50M_flex_ind = filtering_flexion(C2_C3.C2_C3_Flexion_50M)
C3_C4_50F_flex_ind = filtering_flexion(C3_C4.C3_C4_Flexion_50F)
C3_C4_50M_flex_ind = filtering_flexion(C3_C4.C3_C4_Flexion_50M)
C4_C5_50F_flex_ind = filtering_flexion(C4_C5.C4_C5_Flexion_50F)
C4_C5_50M_flex_ind = filtering_flexion(C4_C5.C4_C5_Flexion_50M)
C5_C6_50F_flex_ind = filtering_flexion(C5_C6.C5_C6_Flexion_50F)
C5_C6_50M_flex_ind = filtering_flexion(C5_C6.C5_C6_Flexion_50M)
C6_C7_50F_flex_ind = filtering_flexion(C6_C7.C6_C7_Flexion_50F)
C6_C7_50M_flex_ind = filtering_flexion(C6_C7.C6_C7_Flexion_50M)
C7_T1_50F_flex_ind = filtering_flexion(C7_T1.C7_T1_Flexion_50F)
C7_T1_50M_flex_ind = filtering_flexion(C7_T1.C7_T1_Flexion_50M)
# Extension index
C0_C2_50F_ext_ind = filtering_extension(C0_C2.C0_C2_Extension_50F)
C0_C2_50M_ext_ind = filtering_extension(C0_C2.C0_C2_Extension_50M)
C2_C3_50F_ext_ind = filtering_extension(C2_C3.C2_C3_Extension_50F)
C2_C3_50M_ext_ind = filtering_extension(C2_C3.C2_C3_Extension_50M)
C3_C4_50F_ext_ind = filtering_extension(C3_C4.C3_C4_Extension_50F)
C3_C4_50M_ext_ind = filtering_extension(C3_C4.C3_C4_Extension_50M)
C4_C5_50F_ext_ind = filtering_extension(C4_C5.C4_C5_Extension_50F)
C4_C5_50M_ext_ind = filtering_extension(C4_C5.C4_C5_Extension_50M)
C5_C6_50F_ext_ind = filtering_extension(C5_C6.C5_C6_Extension_50F)
C5_C6_50M_ext_ind = filtering_extension(C5_C6.C5_C6_Extension_50M)
C6_C7_50F_ext_ind = filtering_extension(C6_C7.C6_C7_Extension_50F)
C6_C7_50M_ext_ind = filtering_extension(C6_C7.C6_C7_Extension_50M)
C7_T1_50F_ext_ind = filtering_extension(C7_T1.C7_T1_Extension_50F)
C7_T1_50M_ext_ind = filtering_extension(C7_T1.C7_T1_Extension_50M)
def filtering_extension(df): # filter the dataframe and return min index in Dataframe that satisfy condition Moment > -3
mask = df.moment.Moment > -3
ind = mask.index[mask['kilogram * meter ** 2 / second ** 2'] == False]
min_idx = ind.min()
return min_idx
def filtering_flexion(df): # filter the dataframe and return min index in Dataframe that satisfy condition of Moment < 3
mask = df.moment.Moment < 3
ind = mask.index[mask['kilogram * meter ** 2 / second ** 2'] == False]
min_idx = ind.min()
return min_idx
# Flexion index
C0_C2_50F_flex_ind = filtering_flexion(C0_C2.C0_C2_Flexion_50F)
C0_C2_50M_flex_ind = filtering_flexion(C0_C2.C0_C2_Flexion_50M)
C2_C3_50F_flex_ind = filtering_flexion(C2_C3.C2_C3_Flexion_50F)
C2_C3_50M_flex_ind = filtering_flexion(C2_C3.C2_C3_Flexion_50M)
C3_C4_50F_flex_ind = filtering_flexion(C3_C4.C3_C4_Flexion_50F)
C3_C4_50M_flex_ind = filtering_flexion(C3_C4.C3_C4_Flexion_50M)
C4_C5_50F_flex_ind = filtering_flexion(C4_C5.C4_C5_Flexion_50F)
C4_C5_50M_flex_ind = filtering_flexion(C4_C5.C4_C5_Flexion_50M)
C5_C6_50F_flex_ind = filtering_flexion(C5_C6.C5_C6_Flexion_50F)
C5_C6_50M_flex_ind = filtering_flexion(C5_C6.C5_C6_Flexion_50M)
C6_C7_50F_flex_ind = filtering_flexion(C6_C7.C6_C7_Flexion_50F)
C6_C7_50M_flex_ind = filtering_flexion(C6_C7.C6_C7_Flexion_50M)
C7_T1_50F_flex_ind = filtering_flexion(C7_T1.C7_T1_Flexion_50F)
C7_T1_50M_flex_ind = filtering_flexion(C7_T1.C7_T1_Flexion_50M)
# Extension index
C0_C2_50F_ext_ind = filtering_extension(C0_C2.C0_C2_Extension_50F)
C0_C2_50M_ext_ind = filtering_extension(C0_C2.C0_C2_Extension_50M)
C2_C3_50F_ext_ind = filtering_extension(C2_C3.C2_C3_Extension_50F)
C2_C3_50M_ext_ind = filtering_extension(C2_C3.C2_C3_Extension_50M)
C3_C4_50F_ext_ind = filtering_extension(C3_C4.C3_C4_Extension_50F)
C3_C4_50M_ext_ind = filtering_extension(C3_C4.C3_C4_Extension_50M)
C4_C5_50F_ext_ind = filtering_extension(C4_C5.C4_C5_Extension_50F)
C4_C5_50M_ext_ind = filtering_extension(C4_C5.C4_C5_Extension_50M)
C5_C6_50F_ext_ind = filtering_extension(C5_C6.C5_C6_Extension_50F)
C5_C6_50M_ext_ind = filtering_extension(C5_C6.C5_C6_Extension_50M)
C6_C7_50F_ext_ind = filtering_extension(C6_C7.C6_C7_Extension_50F)
C6_C7_50M_ext_ind = filtering_extension(C6_C7.C6_C7_Extension_50M)
C7_T1_50F_ext_ind = filtering_extension(C7_T1.C7_T1_Extension_50F)
C7_T1_50M_ext_ind = filtering_extension(C7_T1.C7_T1_Extension_50M)
In [ ]:
Copied!