.. to speed up extracting the mean maximals.
.. we still work at 1s intervals for very short durations
but gradually increase to longer as the duration gets
over an hour.
.. for almost all usage this will not make a difference to the
values extracted since the actual values are largely rounded
to integer values (and therefore the granularity was already
being disposed after the search).
.. the exact durations are;
Duration Increment
<120 1
<600 2
<1200 5
<3600 20
<7200 120
>= 7200 300
.. add W'bal distribution to Histogram
- for a ride
- for a date range
- for a compared ride
- for a compared date range
.. still need to revisit to do in zones (3b)
.. still need to update ridesummary to show
summary of w'bal zone distribution (3c)
In activities it depends on selected activity, bests are automatically filtered.
In range mode it can be set by sidebar or home filters for single sport
.. was not refreshed previously (!)
.. need to optimise this to only recompute w/kg stuff
rather than the entire cache for the ride when its
just because the athlete weight changed.
.. ridefilecaches return incomplete flag if data not available
when aggregating (plotting during a refresh).
.. CP plot will refresh as the background update takes place.
.. this occurs even during a comparison.
.. so available for current ride
.. and refreshed() when notifyDataChanged() is called
.. but not many classes call it!
.. we are moving to having the filecache read from the
RideCache rather than straight from disk so we have an
in-memory and persisted version.
... 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
... 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
.. RideFile - add rounding approach for gear values (different roundings
depending on value) - leading to discrete GearRatio values
.. AllPlot - exclude Gear Ratio from Smoothing (to keep the discrete
value) - and change curve type to "Steps"
.. ScatterPlot - specific handling for GearRatio since values between
0.01 and 1 are relevant for GearRatio and must not be filtered out
.. RideFileChache - add Distribution Data for Gear Ratio and fix
Distribution Cache for DataSeries with > 0 decimalsFor
.. Histogram - add GearRatio to Histograms (both Rides and Trends)
.. added the code to aggregate power data when deriving
model parameter history over time.
.. need to get a class that applies the various models to
generate the parameters we need (so we can reuse) in
part 2.
.. then need to store and turn into a metric of some kind
in part 3.
.. this is largely a checkpoint commit to enable cross platform
testing with Mac and Windows.
.. to extract just the meanmax power data from a ridefile cache
so we can aggregate and derive model parameters for new metrics
to track W', CP, FTP, max-Power.
.. 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.
.. to indicate which power-durations are getting worked hardest
.. Calculate a 'heat' score for the power duration curve.
A score that counts how many rides in the aggregate
have a power-duration best that is within 10% of the
best value calculated.
.. next step is to add it to the CP curve (when showing
power) to provide some kind of shade/heat indicator
for the area of the curve.
.. simplified acceleration calculation to convert to m/s before calculation
.. removed distribution for deltas as they were HUGE and introduced a
terrible performance degradation where aggregation took >30s for a
ride set that previously took <5s.
.. Following on from the recent update to add acceleration
this update adds other derived data series based upon the
rate of change.
.. Added to the ride plot and the CP plot.
Not sure of the overall utility of these updates but bear in
mind that they are targetting sprinting and track users and
analysis.
As well as the positive side of this (development of power
cadence etc) we also want to think about and collect data
on fatigue rate (possibly only power and torque)
- fatigue over time
- fatigue over pedal stroke
.. now can show in zones but using the polarised zones
rather than user defined zones.
.. we may need to revisit this since it uses zone 2 rather
than estimate LT1 from CP.
NOTE: The compare mode needs updating to support this option.