Releases: OxWearables/biobankAccelerometerAnalysis
Releases · OxWearables/biobankAccelerometerAnalysis
v4.0.1
v3.2
What's Changed
- add --timeZoneOffset argument for cwa cwa.gz files; expose csv arguments to python script by @xiangnandang in #21
- fix minor issue in accUtils.loadTimeSeriesCSV for --timeSeriesDataCol… by @xiangnandang in #23
- Circadian analysis including PSD, Relative Amplitude and Fourier Frequency by @R-Walmsley in #26
- Gt3v2 support round 1 by @angerhang in #24
- Major fixes and improvements in the Java feature extraction code by @chanshing in #28
- Gt3v2 fix get device id method by @angerhang in #29
- Document by @angerhang in #30
- fix lowpass cutoff to be capped by Nyquist freq by @chanshing in #31
- fix sampleRate not passed for calibration by @chanshing in #32
- fix rounding errors in integer divisions by @chanshing in #33
- fix convert pandas to numpy before numpy call by @chanshing in #34
- fix FFT and entropy normalization by @chanshing in #36
- hotfix to allow sampleRate of 25Hz by @chanshing in #39
- propagate verbose argument to CsvReader.java by @xiangnandang in #41
- Arm angel by @angerhang in #42
- allow display of activity classification during imputed period of time by @xiangnandang in #47
- allow daylight savings crossover check from different timezones by @xiangnandang in #48
- timeZone for check_daylight_savings_crossover by @xiangnandang in #51
- fix small bug: missing field in summary.json by @chanshing in #54
- Native DST crossover correction for CWA files by @chanshing in #55
- fix minor issue: arm angle result was in integer, corrected to double by @xiangnandang in #57
- make use of cutpoint based definitions explicit by @R-Walmsley in #59
- fix bug in get_interrupts, wrong index slicing by @chanshing in #61
- change dir structure when process multiple files by @chanshing in #60
- autogenerate folder names to avoid default errors by @R-Walmsley in #63
- add junit framework by @angerhang in #67
- Fix startTime and endTime comparison in summariseEpoch by @angerhang in #74
- fix start/endTime flag time zone by @angerhang in #76
- add clipsBefore/AfterCalibr and total reads to the summary. by @R-Walmsley in #82
- Add regression test; Add data quality outputs in summary by @R-Walmsley in #85
- Fixed gt3x v1 and v2 parsing with ci tests by @angerhang in #70
- Update default activity classification model to Walmsley 2020 by @aidendoherty in #88
- Fix sklearn dependency problem and new tests for python and java builds on macos and linux by @aidendoherty in #89
- avoid error message when epoch folder manually changed by @R-Walmsley in #95
- fix bug in get_clips and get_total_reads by @chanshing in #91
- handle potential nan in correlation features by @chanshing in #56
- fix bug in interrupts; deprecation; refactor by @chanshing in #99
- fix hrLabels missing last tick; also use 24 format by @chanshing in #104
- Changes to use scikit-learn 0.24.0 by @R-Walmsley in #108
- Update reference epoch.csv to reflect changes introduced in 2fabe36 by @chanshing in #112
- Implement installation with requirements.txt by @R-Walmsley in #109
- fix 'imputed' column in timeSeries file by @chanshing in #105
- fix NA for avgArmAngelAbsDiff with epoch size 5sec by @angerhang in #113
- update installation instructions addressing #114 by @R-Walmsley in #123
- add feature set used in model Walmsley et al 2020 and remove old files by @R-Walmsley in #118
- add CONTRIBUTING.md by @chanshing in #125
- fix install doc by @angerhang in #129
- Suggestion in CONTRIBUTING.md to checkout PR locally for review by @chanshing in #141
- add support for nearest neighbor resampling by @chanshing in #140
- Bump urllib3 from 1.26.2 to 1.26.4 by @dependabot in #143
- Bump pillow from 8.1.0 to 8.1.1 by @angerhang in #138
- Bump jinja2 from 2.11.2 to 2.11.3 by @angerhang in #135
- fix warning pandas keep_tz by @chanshing in #142
- update github badges by @angerhang in #149
- add to installation instructions; update version to current tag by @R-Walmsley in #148
- fix small bug in calibration rmse calculation by @chanshing in #160
- Bump urllib3 from 1.26.4 to 1.26.5 by @dependabot in #163
- Bump pillow from 8.1.1 to 8.2.0 by @dependabot in #164
- Plot update by @aidendoherty in #166
- fix bug which before read the packetLength field rather than the device… by @aidendoherty in #171
- Fall back for downloadDataModel by @angerhang in #172
- new feature to flexibly read in raw .csv files by @aidendoherty in #165
- update citation by @R-Walmsley in #176
- Bump pillow from 8.2.0 to 8.3.2 by @dependabot in #175
New Contributors
- @chanshing made their first contribution in #28
- @aidendoherty made their first contribution in #88
Full Changelog: v2.3.0...v3.2
Major updates to machine learning models and java code
This stable release contains a number of major updates including:
- Complete rewrite of underlying java codebase
- Fixing a number of minor issues in extracting frequency domain features (thanks @chanshing)
- Retraining of machine learning activity models (consistent with fixed features and now using n=100 trees in Random Forest)
- Support for Actigraph gt3x files, both versions 1 and 2 (thanks @angerhang)
- Support for circadian rhythm analysis (thanks @Alaina121, @R-Walmsley, and @chanshing)
Other updates include:
- Resampling of signal now possible (thanks @chanshing)
- Timezone parameterisation (thanks @xiangnandang)
- Improved plotting capabilities (thanks @xiangnandang)
- New arm angle features (thanks @angerhang)
Refactor to improve command line options
Major refactor to improve checks, prints, and cleanup (thanks @chanshing)
- Rename variable 'rawFile' to 'inputFile' so that we dont confuse it with 'rawOutputFile', which is now named 'rawFile'. Similarly 'npyOutputFile' is now simply 'npyFile'. Method 'processRawFile' is now called
'processInputFile'. - Use Python 'assert' to perform checks. Also simplify some checks, e.g. ArgumentParser automatically checks for missing arguments.
- Add new argument 'accProcess.py --npyFolder' for consistency.
- Use 'os.path.join' to create paths. This properly handles both cases whether a directory name is provided with or without the trailing slash '/'.
- Use 'atexit' to schedule deletion of intermediate files. This has the benefit that it will still run if the code exits prematurely. Some exceptions apply.
- Slightly improve prints.
Other updates:
- Filtering now correctly activated (thanks @chanshing)
Preliminary support for circadian rhythm analysis
v2.1.0 v2.1.0
Support for more input/output file types and activity classification training
Multiple updates include:
- Support to write raw data to .npy files (thanks @chanshing)
- Support to read compressed .gz files (offers a 75% space saving)
- Support to train one's own activity classification model
- More consistent code styling (thanks @chanshing)
- Improved documentation
Activity classification
Major update that includes:
- Activity classification
- Better unix command line support (we no longer support windows and GUI interfaces)
- Many minor bug fixes
The first release
As used for the 2017 UK Biobank PLOS ONE paper.
Updates for this release included:
- GUI support (thanks @supersational)
- Command line parsing (thanks @supersational)
- Improved documentation (for that point in time)