Commit Graph

102 Commits

Author SHA1 Message Date
Mark Liversedge
31cce4a67b Data flags O (Moxy) and R (Running Dynamics)
.. for filtering.
2014-11-08 19:54:40 +00:00
Mark Liversedge
c9aa0052ad Update DB version for GOVSS
.. for Ale Martinez recent update
2014-11-07 06:48:28 +00:00
Joern
230f028037 AthleteDirectory - Folder Structure Part 2 of 2 + Always create .JSON
... create folder structure for existing and new athletes
... upgrade existing athlete to new structure when opening / incl.
logging and error handling
... convert any "Downloaded" file to .JSON directly - store source file
in /downloads
... convert any "Imported" file to .JSON directly - store source file in
/imports
2014-11-02 19:55:01 +01:00
Joern
f1447d2664 AthleteDirectory - Folder Structure Part 1
... introduce new "home" Folder structure object representing the
previous flat-folder
... adjust relevant QDir home - access to use the sub-folder method of
the new object

Note: the new structure is not yet active ! - everything is written to
the main folder still

To Do:
... add upgrade procedure for existing folder content to merge to the
new folders
2014-10-25 19:08:27 +02:00
Mark Liversedge
96f9076c9b Add Running Pace Zones (2 of 3)
.. metrics for time in zone
.. summary on ride summary

Still need to add to cache, histograms and allow editing
of custom zones in a sensible manner (currently edited in kph/mph)
2014-10-14 12:13:08 +01:00
Mark Liversedge
40556883e6 Fast W'bal integration
Dave Waterworth has fixed my implementation of W'bal to
remove my "optimisations" and fix the math.

The W'bal is now computed in a single pass and is just
as fast as the differential form from Andy Froncioni but
has the benefit that is still uses Tau.

Many thanks to Dave, and I'll write this up shortly.
2014-10-11 12:40:05 +01:00
Mark Liversedge
7831550668 Differentiate between Runs and Rides
.. isRun() and associated logic
.. ride list darkens runs so they stand out
2014-09-26 11:09:07 +01:00
Mark Liversedge
47fb5068df Add HrNp Ratio
.. to echo HrPw
2014-09-09 16:11:02 +01:00
Mark Liversedge
3578c9caca Add HrPw Metric
.. as a ratio of Average Power to Average Heartrate
   hrpw = ap / ahr
2014-09-07 22:15:12 +01:00
Joern
89d03987c9 New Metrics for MTB - Bike Carrying Time/Elevation Gain
... 2 new metrics (estimates) mainly relevant for MTB or Race bike steep
passes
... a) Time Carrying = moving < 8kph, gaining height, no power, no
cadence
... b) Elevation Gain carring = same criteria, but adding up the
elevation gain

Since there is a certain level of error, the metrics is named as "Est".
2014-09-05 13:31:21 +02:00
Mark Liversedge
68992c129d Matches metric
.. how many >2kj matches did you burn ?

.. also taken out the power/slope derived data series
   since Jon is migrating it to a fix tool
2014-08-23 20:08:46 +01:00
Joern
ce5a8d8e9a Add new metric - Elevation Loss
... for rides having different start/end points (e.g. stage races) this
metric adds information
2014-08-20 19:42:47 +02:00
Mark Liversedge
c5a1888662 Below CP Work + W' Work = Total Work
.. previously we have computed below cp work as only that
   work when power was at or below CP

.. since we want to track energy from CP and W' it makes more
   sense to make below CP work include all work not from W' stores.
2014-07-13 09:38:15 +01:00
Mark Liversedge
7c7989a803 Fix Average Temperature Issues
.. Don't include -255 in average

.. Don't show -255 in ride navigator

.. Don't show a value on summary if not preset
2014-06-20 12:59:03 +01:00
Mark Liversedge
21232465be Pedalling metrics, ignore zeroes in Average
.. when averaging lr balance, pedal smoothness etc we now
   ignore values when cadence is zero.

.. the zero values are not meaningful and skew the average to
   render them almost useless !
2014-06-19 10:08:12 +01:00
Mark Liversedge
0c61967d80 Add TSS per hour metric
.. on request from Massarob.
2014-06-18 21:18:17 +01:00
Mark Liversedge
ee6251beff Model Estimate Fixups
.. don't rely upon ZDATA metadata, instead we add
   a new 'present' field that contains the Data meta value

.. navigator defaults columns when they're all messed up

.. summary isn't so noisy when providing progress updates
2014-06-14 20:24:06 +01:00
Mark Liversedge
27dc513bbe W' Work Calculation
.. should only include joules from W' ie. power above
   CP is accumulated.
2014-05-25 23:19:53 +01:00
Mark Liversedge
8c93aeb3ac Add Athlete Weight Metric
.. and add to summary window

.. uses getWeight() so therefore uses;
   1. 'Weight' metadata
   2. last withings weight
   3. global athlete weight
2014-05-20 09:15:47 +01:00
Mark Liversedge
351580ae60 Fixup default color to use theme colors
.. in the ride list, calendar and mini calendar we now
   use the default color from the theme when there is no
   match on the keyword.
2014-05-11 11:44:35 +01:00
Mark Liversedge
53871e95f9 Fix Measures Plotting in LTM
.. needed symbol name to be unique as 'Weight' clashed with the
   normal ride metadata field.

.. we now add _m to the fieldname to generate a symbol name for
   measures.

Fixes #862
2014-05-05 21:07:01 +01:00
Mark Liversedge
bee25eb9a0 Fix DBAccess QT5 Measures Bug
.. there was no prepare statement for the select statement
   in getAllMeasuresFor()
2014-05-05 11:05:29 +01:00
Mark Liversedge
d75c088938 Faster W'bal algorithm
Using Andy Froncioni's modification to the original
formula that removes the need for Tau and also lets
the exponentials drop out.

Massive speed improvement!
2014-04-24 16:23:42 +01:00
Mark Liversedge
601716366a Add Averages for Pedal Data
.. pedal smoothness and torque effectiveness
2014-04-14 10:39:36 +01:00
Mark Liversedge
4f15a2c814 Missed off previous commit
.. critically, updating the db schema version
.. QPen syntax error on QT 5
2014-03-27 17:20:52 +00:00
Mark Liversedge
924ef2a8f1 Improve compatibility with Dropbox
.. by checking the ride file CRC before recomputing
   either the metrics or the ridefilecache.

.. this means that users that routinely copy or backup
   or use dropbox to keep things in sync won't see any
   unneccessary metric computations.
2014-03-27 16:20:33 +00:00
Mark Liversedge
051fb42f29 Updated Gompertz for an-TISS 2014-03-23 16:09:27 +00:00
Mark Liversedge
95ea10a89d Added TISS Aerobicity metric
.. metric of the aerobic-ness of a ride based upon the
   ratio of a-TISS to an-TISS.

.. bear in mind the curves for a/an TISS are being looked
   at as we speak !
2014-03-22 14:20:07 +00:00
Mark Liversedge
d69ebddb1d Anaerobic TISS
Added Anaerobic TISS from Dr Skiba to complement
the Aerobic TISS added recently.

Added to;
* Metrics
* Ride Plot
* PMC metrics
2014-03-22 10:47:44 +00:00
Mark Liversedge
42bfcdc7e2 Attempt to fix aPower calculation 2014-03-18 19:59:28 +00:00
Mark Liversedge
89017fe2a5 Stress Metric Prototypes
Added a few new training stress metrics whilst discussing
and working on a multicomponent view of training stress.

This is all a wip falling out of discussions around stress
metrics beyond the old TSS/BikeScore models.

For now this just includes;
1. Aerobic Training Impact Scoring System on PM/PMC
2. Work (Kj) above/below CP on PM/PMC
3. Aerobic TISS on the Ride Plot

There is lots more to come; specifically around Anaerobic TISS,
looking again at polarised training and personalised training stress
based upon the individual's CP model.
2014-03-17 20:51:57 +00:00
Mark Liversedge
6e6418b6be Rudimentary Pacing Index
.. need to think about what we're trying to achieve with this
   but for assessing TT efforts we can see how far away from
   a constant load the ride was.

   Its just computed as average power as a percentage of max power.
2014-03-06 19:11:32 +00:00
Mark Liversedge
ee37a88429 Fix Fatigue Index Calculation
.. should only measure fatigue from the peak of the interval
   assuming the athlete is performing a proper 'wingate' style
   all out sprint.
2014-03-06 16:33:45 +00:00
Mark Liversedge
0a2875de79 Fix W' work metric
.. the calculation assumed 1s recording (or was just wrong)
   joules are now calculated properly, this is especially
   important for SRM recordings of 0.5s samples
2014-02-15 00:09:45 +00:00
Mark Liversedge
7a83da2ee6 Compare mode for LTM
You can now compare seasons / date ranges across or between
athletes on the LTM charts.

This is only shown on the stack chart as we need one chart
per data series - in a similar vein to the AllPlot chart.

There are some tidy ups left to do over the next few days;

- Data table needs updating to support compare mode
- Event markers need to be shown and in the right color
- PMC curve data is slow, needs some kind of optimisation
- The tooltip is missing and needs to be put back
- Ensure the new stack frame looks correct when using a
  dark plot background (or anything other than white)
- Consider how to handle zooming when there is only one
  data series and hence only one chart for compare
2014-02-05 20:40:24 +00:00
Mark Liversedge
9fe10d4691 New Metric W' Exp
For maximum W' capacity expended i.e. Min W'bal
expressed as a percentage of W'.

So if W' is 20 kJ and W'bal is 2kJ then 18 kJ
have been expended, which when expressed as a
percentage of W' (18/20 %) would be;

Max W' Exp of 90%

I also cleaned up a few extra instances of WPrime
being created when calculatinf metrics which was
not a big deal for the Metric refresh but would make
interval metrics painful.
2014-01-24 17:27:45 +00:00
Mark Liversedge
6ef03ee704 W' Work
.. don't rely on WPrime to compute it, its pretty simple
   to compute as long as CP is set

.. add to the summary totals so always there to compare
   against the total work
2014-01-23 17:55:41 +00:00
Mark Liversedge
89a5ca2634 Added W' expenditure metric
.. energy spent above CP
2014-01-20 20:33:33 +00:00
Mark Liversedge
393e4a38e3 Added W' Tau as a metric
.. so we can track and see if it correlates with anthing.
2014-01-20 19:54:00 +00:00
Mark Liversedge
a0114b32f9 Add W'bal Metrics
Added;
- minimum W'bal == how deep did you go on the ride?
- max match == hardest sustained effort in KJ.

Fixes #760
2014-01-20 19:25:55 +00:00
Mark Liversedge
4474e18a9c Forgot to increment the DB Schema! 2014-01-07 16:50:29 +00:00
Mark Liversedge
ce7e881957 Fixed Estimated VO2MAX metric
.. to use latest ACSM formula.

.. see: http://blue.utb.edu/mbailey/handouts/pdf/MetCalnew.pdf
2014-01-07 16:20:23 +00:00
Mark Liversedge
9963904fa3 MainWindow Refactor Part 5 of 5 - TABBED ATHLETES
The final part (and one of the reasons) for the mainwindow
refactoring -- we now support tabbed athletes rather than
having a new mainwindow for each athlete opened.

Context is saved/restored and there are new functions for
opening and closing tabs and windows of tabs.

The tabbar itself is fugly -- the next few days will spend
some time looking at making it prettier on Linux/Win and
more native on Mac (see MMTabBar).
2013-12-26 01:03:32 +00:00
Mark Liversedge
d898722d0b Autofilter
.. let the user choose metadata texts to filter
   by value in the sidebar.

Note there are issues;

1. the value lists are not updated automatically when
   rides are updated or imported and values are added
   or removed.

2. it only works with shorttext metadata fields, we might
   choose to add numeric etc later.

3. it would be nice to get an indication of how many
   activities contain the value and maybe even sort
   by count.
2013-12-20 17:48:49 +00:00
Mark Liversedge
e5d85bdd0e New Metric Fatigue Index
Looks at the max and min (non-zero) power values and
uses the difference between them to calculate a fatigue
index as a percentage.

i.e.
FI = (maxP - minP) / maxP * 100.00;

This is really only useful for targetted intervals as for
most riding there will always be a period of time where
the rider coasts or takes it easy.

We may look to improve it by smoothing or comparing to the
average power instead of minimum power.
2013-12-18 11:00:48 +00:00
Mark Liversedge
4249f45e3c Fix Lucene searches in Home Sidebar
.. I hadn't finished that bit of the code before
   pushing. A bit of an oversight!
2013-12-17 16:39:46 +00:00
Mark Liversedge
baba5cc9d2 QT5 -- Part 3 of 3
Fixup crashes and major issues created by porting
to QT5. These have included;

* Fix CP plot log scale
* AllPlot axes and tooltip
* DBAccess prepare/bind bug
* LTMSettings crash
* LTMWindow zoomer/picker crash
* LTMPlot axes hack

There are still issues remaining but we can start
working through them at leisure -- the product now
builds and runs.
2013-12-09 21:21:51 +00:00
Mark Liversedge
ad559394c8 Added Effect of Altitude (%)
A metric of the %age of power that has been lost due
to riding at altitude.
2013-11-05 21:31:31 +00:00
Mark Liversedge
393fe9f0e7 Average aPower
Added an average aPower metric.

I also and found and fixed a couple of bugs along the way;

* intervals create a ridefile and need to explicitly call
  recalculateDerivedMetrics()

* the aPower calculation was using the calculated vo2max
  percentage the wrong way around (!)
2013-11-05 20:06:09 +00:00
Mark Liversedge
f68f5d1a4d Disable Minimum W' Metric
.. its too slooooow.

.. lets fix the WPrime performance issue before
   introducing any metrics on the back of it.
2013-10-31 17:36:56 +00:00