Metric ride

Import the necessary libraries


In [1]:
%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt

from skcycling.data_management import Rider
from skcycling.utils import load_power_from_fit

from skcycling.metrics import normalized_power_score
from skcycling.metrics import intensity_factor_ftp_score
from skcycling.metrics import intensity_factor_pma_score
from skcycling.metrics import training_stress_ftp_score
from skcycling.metrics import training_stress_pma_score
from skcycling.metrics import training_stress_pma_grappe_score
from skcycling.metrics import training_stress_ftp_grappe_score
from skcycling.metrics import pma2ftp

Read a file and compute the metrics


In [2]:
filename = '../../data/user_1/2016/2016-05-24-19-39-33.fit'
ride_power, date = load_power_from_fit(filename)

# Define the PMA and the FTP
pma = 400.
ftp = pma2ftp(pma)

# Compute the different metrics
print 'The normalized power score is {:.2f} W'.format(normalized_power_score(ride_power, pma))
print 'The intensity factor is {:.2f}'.format(intensity_factor_ftp_score(ride_power, ftp))
print 'The intensity factor is {:.2f}'.format(intensity_factor_pma_score(ride_power, pma))
print 'The training stress score is {:.2f}'.format(training_stress_ftp_score(ride_power, ftp))
print 'The training stress score is {:.2f}'.format(training_stress_pma_score(ride_power, pma))
print 'The training stress score ESIE is {:.2f}'.format(training_stress_pma_grappe_score(ride_power, pma))
print 'The training stress score ESIE is {:.2f}'.format(training_stress_ftp_grappe_score(ride_power, ftp))


The normalized power score is 270.23 W
The intensity factor is 0.89
The intensity factor is 0.89
The training stress score is 89.84
The training stress score is 89.84
The training stress score ESIE is 161.66
The training stress score ESIE is 161.66