Skip to content

Commit

Permalink
[ENH] Adds maPCA decomposition algorithm (#435)
Browse files Browse the repository at this point in the history
* Create fix/decomp branch

* Started writing GIFT version in Pythonn as we found it selects a reasonable number of components

* Advanced on new PCA computation

* Solved NAN issues and added testing data

* Solved est_indp_sp bug

* PCA is SOLVED! Hooray!

* PR request ready version of the PCA fix

* fix: avoid circular imports

* Bug fixes and started working on docstrings

* [FIX] Clean up some variables in GIFT PCA (#453)

* Added version argument (#415)

* Added version argument

* changed import of __version__

* [REF] No pytest_cache dir

* [ENH] Dockerfile for dev testing

* [DOC] Add docs for code testing to CONTRIBUTING

* [REF] Docker org can't have hyphens

Just use tedana/tedana-dev namespace

* Changed default export in gzipped nifti (#416)

* Changed default export in gzipped nifti

* Updated extension of files in tests

* [FIX] Update typo in .gitignore

Co-Authored-By: Joshua Teves <[email protected]>

* [REF, DOC] Use logging to generate reports (#424)

* Use logging for report/references generation.

* Improve ContextFilter docstring.

* Remove broken newlines.

* Make the style good.

* [ENH][TST] Overhauls CI completely (#418)

* Adds integration and five echo skipping

* Style fixes

* Updates config for CircleCI

* Attempts to fix YML

* [TEST] Update Dockerfile to match new integr tests

* [TEST] Fixes integration tests in Docker image

* [FIX] Remove intermediate IO files

* Resolves merge conflict, adds output check

* Some fixes

* [TEST] Updates dev_tool testing infra

* [TEST] Fixes pytest integration path checking

* [TEST] CircleCI uses Docker image to run tests

* [FIX] Minor dev_tool issues for CircleCI

* [TEST] Use variable for integration test filename

* Attempts to fix CircleCI style check

* Revert "Attempts to fix CircleCI style check"

This reverts commit 769f4b7.

* Attempt to fix tput call

* Adds checkout to code in YML

* [TEST] Integration tests run in parallel

* [TEST] Separate data downloads from Docker build

* [TEST] Update integration test data path

* [TEST] CircleCI uses good Docker

* [TEST] No version check in circleci

* [TEST] Checkout for get_data / style check

* Attempts to fix integration test inclusion

* [TEST] Checkout for get_data / style check

* [FIX] Fix circleci config hopefully

* [FIX] No / workdir for circleci machine

* [FIX] Use ~ for coverage in circleci

* Switches integration tests to truncated length data

* [FIX] Actually merge coverage files

* [FIX] Coverage cache path circleci

* [TEST] Integration test outputs in tests/data

* [FIX] circleci config bug

* [TEST] Major testing infra overhaul

Docker image considerably slimmed down (only test python 3.6 locally),
added new dev_requirements.txt to make conda yaml files obsolete, added
Makefile to make testing easier locally (if you aren't using the Docker
image), and removed integration test data downloads from separate script
and into the integration tests themselves

* [TEST] Massive CircleCI config regression

@tsalo had it right --- moving towards a fully Dockerized implementation
was not the way forward for a simple Python package.

* [TEST] Better integration testing?

At least, more equivalent to what was happening before, where we check
that ONLY the expected output files are generated (no more, no less)

* [FIX] CircleCI workflow issue

* [MNT] No flake8-putty

* [FLK] New flake8 error detected

* [TEST] Run style check separately

@leej3 said it's not fair to stop running tests for a few minor style
errors, and he's usually right so....

* [TEST] Py37 for all non-unit test stuff

* [WIP,TEST,DOC] Builds docs in CircleCI (#428)

* [REF] Fix up dev vs non-dev requirements.txt

* [TEST] Build docs in CircleCI

Also modifies the building of the py37 environment a bit since it's
shared between so many things

* [REF] Change tab-delimited files from txt extension to tsv (#429)

* Change comptables and log from txt to tsv.

* Prevents shell expansion in API (#431)

* enh: add stale-bot (#430)

* edited gitignore after testing

* Revert "edited gitignore after testing"

This reverts commit 28098e1.

* fixing typo and clarity

* cleaning up approach introduction

* more cleanup in approach

* adding initial plot to pubs page

* correcting plots

* removing comment parts

* getting live plots working on publication page

* clean up and adding more WIP details

* completing live TE plot from spreasheet

* changing outputs to nii.gz

* adding TR and Vox dim subplots

* initial adding of output details

* fixing tables

* rearranging to considerations and recomendations

* seperating out considerations section

* technically spelling things correct

* started fixing titles

* addinf figures for what is ME page

* title clarification

* Add information about GE

* adding mutliecho questions to the FAQ

* initial adding to multiecho

* multiecho page figures and explanations

* pipeline and phsyics updated

* typo

* fix headings

* possibly clean latex?

* we have eight echoes

* more details in approach

* title change

* adding software details

* clean up of multiecho

* additional considerations!

* typo

* update plots

* due credit in faq

* more details on multi echo, usage

* tedana does accept BRIK/HEAD

* someone wanted sentences seperated

* life by a thousand little edits

* GrAmMaRs

* other software!

* links to api in approach

* white space?

* [ENH] Make png default (#427)

* Makes --png default, adds --nopng

* Fixes integration test for --nopng

* Adds correction to integration test outputs

* Update docs/faq.rst

Co-Authored-By: Elizabeth DuPre <[email protected]>

* MRI scanners != BBQ

* Update docs/approach.rst

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Update docs/approach.rst

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Apply suggestions from code review, thanks a million

Co-Authored-By: Elizabeth DuPre <[email protected]>

* echo cleanup, and kundu 3 banish

* noted png default

* completely changed the QC section

* pls wrk

Co-Authored-By: Elizabeth DuPre <[email protected]>

* docs: add jbteves as a contributor (#442)

* docs: update README.md

* docs: update .all-contributorsrc

* docs: add eurunuela as a contributor (#441)

* docs: update README.md

* docs: update .all-contributorsrc

* [ENH][TST] Feature/parallel integration (#437)

* Adjusts makefile to include three-echo and five-echo, remove integration
* Adjusts CircleCI config to do the same as makefile 
* Removes doc auto-building via CircleCI

* [FIX] Adds check for just one component (#405)

* Adds check for just one component

* [ENH] Consolidate stats unit tests and fix linting errors in tests (#421)

* Consolidates stats unit tests
* Changes to simpler assert for stats errors
* Oof linting

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Clean up some variables.

* Fix output name.

* Fix bugs and use TruncatedSVD in GIFT.

* Normalization of data added

* doc: fix linting errors

* Second if statement in _checkOrder does not check for None values now, as these should never be given to the function.

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Style editing to gift_pca.py

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Style editing to gift_pca.py

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Removed silly comment inherited from MATLAB

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Removed print statement int gift_pca.py

Co-Authored-By: Elizabeth DuPre <[email protected]>

* Commented TruncatedSVD as it does not provide the functionality we are looking for. Also, made some edits after the comments from Elizabeth

* Removed unused import

* Changed some of the print statements to make them more user friendly

* Adds documentation

* Fixes PCA memory madness

* Fixes linter errors

* Now accounting for imprecission in kurtosis calculation

* Edited autocorr docstring

* GIFT PCA doesn't use the var normalized now in order to get the same number of components as the original GIFT algorithm. This is something we should definitely discuss

* Corrections to style

* Changed test output expected

* Removed GIFT notebook

* Made MDL the default and added GIFT reference

* Removed GIFT testing data

* Changes as commented in PR review

* Style fix

* Changed variable names to make them more readble

* Style fix

* Style fix

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Changes suggested in PR review

* More changes based on PR review suggestions

* Changes to workflows/tedana.py based on PR review suggestions

* Changes to decomposition/pca.py based on PR review suggestions

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* Update tedana/decomposition/gift_pca.py

Co-Authored-By: Ross Markello <[email protected]>

* More review changes

* Style fixes

* Finished with PR review suggestinos

* Update tedana/decomposition/gift.py

Co-Authored-By: Taylor Salo <[email protected]>

* Update tedana/decomposition/gift.py

Co-Authored-By: Taylor Salo <[email protected]>

* Renamed gift to ma_pca and added some math notes

* Added more maths-related comments

* Renamed ma_pca function

* Added unit test for maPCA and fixed a typo in ma_pca.py

* Added unit test for maPCA and fixed a typo in ma_pca.py

* Added unit test for ent_rate_sp inside maPCA

* Added test for constant input to ent_rate_sp

* Documentation fix

Co-Authored-By: Joshua Teves <[email protected]>

* Documentation fix

Co-Authored-By: Joshua Teves <[email protected]>

* Removed if statements in ent_rate_sp as they were never going to be accessed in our case. Also addressed some PR review comments.

* Style fix

* Update tedana/decomposition/ma_pca.py

Co-Authored-By: Joshua Teves <[email protected]>

* Update tedana/decomposition/ma_pca.py

Co-Authored-By: Joshua Teves <[email protected]>

* Addresses documentation suggestions
  • Loading branch information
eurunuela authored Dec 9, 2019
1 parent 98e8590 commit 9912c09
Show file tree
Hide file tree
Showing 7 changed files with 763 additions and 43 deletions.
4 changes: 2 additions & 2 deletions tedana/decomposition/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@

from .pca import tedpca
from .ica import tedica
from .ma_pca import ma_pca, ent_rate_sp


__all__ = ['tedpca', 'tedica']
__all__ = ['tedpca', 'tedica', 'ma_pca', 'ent_rate_sp']
Loading

0 comments on commit 9912c09

Please sign in to comment.