From d59d9ba82c5979ede06a803f7383a59da1f9347e Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 14:27:15 -0400 Subject: [PATCH 01/32] install all other dependencies --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bb1a3f0..5640c90 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,13 +35,13 @@ jobs: - name: Install dependencies run: | sudo apt-get update - python -m pip install --upgrade pip pytest jupyter nbval + python -m pip install --upgrade pip pytest jupyter nbval coverage coveralls codecov pytest-cov - name: Install run: pip install . - name: Test - run: pytest --cov-report term-missing --cov=atlasreader + run: pytest --cov=atlasreader - name: Test notebooks run: | From 42d3f4dadca2b8a035d4fadc16c78b45cb91e273 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:09:48 -0400 Subject: [PATCH 02/32] improve tests --- .github/workflows/tests.yml | 4 ++-- atlasreader/atlasreader.py | 2 +- atlasreader/info.py | 3 ++- notebooks/.gitignore | 3 +++ 4 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 notebooks/.gitignore diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5640c90..a9320b7 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,10 +35,10 @@ jobs: - name: Install dependencies run: | sudo apt-get update - python -m pip install --upgrade pip pytest jupyter nbval coverage coveralls codecov pytest-cov + python -m pip install --upgrade pip nbval - name: Install - run: pip install . + run: pip install .[test] - name: Test run: pytest --cov=atlasreader diff --git a/atlasreader/atlasreader.py b/atlasreader/atlasreader.py index e567629..d3dee85 100644 --- a/atlasreader/atlasreader.py +++ b/atlasreader/atlasreader.py @@ -256,7 +256,7 @@ def get_subpeak_coords(clust_img, min_distance=20): data = check_niimg(clust_img).get_fdata() # find local maxima, excluding peaks that are on the border of the cluster - local_max = peak_local_max(data, exclude_border=1, indices=False) + local_max = peak_local_max(data, exclude_border=1) # make new clusters to check for "flat" peaks + find CoM of those clusters labels, nl = label(local_max) diff --git a/atlasreader/info.py b/atlasreader/info.py index 0eb531a..94fb328 100644 --- a/atlasreader/info.py +++ b/atlasreader/info.py @@ -25,7 +25,8 @@ TESTS_REQUIRE = [ 'pytest', - 'pytest-cov' + 'pytest-cov', + 'nbval' ] PACKAGE_DATA = { diff --git a/notebooks/.gitignore b/notebooks/.gitignore new file mode 100644 index 0000000..1e058e0 --- /dev/null +++ b/notebooks/.gitignore @@ -0,0 +1,3 @@ +*.png +*.csv +*.nii.gz \ No newline at end of file From 1d325980b7ed4a751308666da532967ae6ec3963 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:13:40 -0400 Subject: [PATCH 03/32] improve install in ci --- .github/workflows/tests.yml | 4 ++-- atlasreader/info.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a9320b7..9efb609 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,10 +35,10 @@ jobs: - name: Install dependencies run: | sudo apt-get update - python -m pip install --upgrade pip nbval + python -m pip install --upgrade pip pytest pytest-cov nbval - name: Install - run: pip install .[test] + run: pip install . - name: Test run: pytest --cov=atlasreader diff --git a/atlasreader/info.py b/atlasreader/info.py index 94fb328..505f755 100644 --- a/atlasreader/info.py +++ b/atlasreader/info.py @@ -19,7 +19,7 @@ 'numpy', 'pandas', 'scipy', - 'scikit-image', + 'scikit-image<0.20', 'scikit-learn' ] From 3c735deb6e8835815241c88c44d11ef8be2f572a Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:16:40 -0400 Subject: [PATCH 04/32] add coveralls --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9efb609..d9b7b3e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -42,6 +42,9 @@ jobs: - name: Test run: pytest --cov=atlasreader + + - name: Coveralls + uses: coverallsapp/github-action@v2 - name: Test notebooks run: | From f97fb3d8e2f083114d17e34859924f80600b1dd3 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:33:38 -0400 Subject: [PATCH 05/32] update args --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index d9b7b3e..78e7177 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -41,7 +41,7 @@ jobs: run: pip install . - name: Test - run: pytest --cov=atlasreader + run: pytest --cov-report term-missing --cov=atlasreader atlasreader - name: Coveralls uses: coverallsapp/github-action@v2 From 4061ca4ec6f31db7707f9da613cb9d7e6edd8319 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:41:13 -0400 Subject: [PATCH 06/32] start with old python versions --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 78e7177..65668d2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.6', '3.7'] runs-on: ubuntu-latest From 7702dd6459a4146e744a0073cd05d5f1475e45a3 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:49:27 -0400 Subject: [PATCH 07/32] use latest scikit image --- .github/workflows/tests.yml | 2 +- atlasreader/info.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 65668d2..34f135a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.6', '3.7'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] runs-on: ubuntu-latest diff --git a/atlasreader/info.py b/atlasreader/info.py index 505f755..94fb328 100644 --- a/atlasreader/info.py +++ b/atlasreader/info.py @@ -19,7 +19,7 @@ 'numpy', 'pandas', 'scipy', - 'scikit-image<0.20', + 'scikit-image', 'scikit-learn' ] From a15e9956a605b2e57fe1fef75209115c0d1114f7 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 15:56:07 -0400 Subject: [PATCH 08/32] skip coverage for now --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 34f135a..3fd9442 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -41,7 +41,7 @@ jobs: run: pip install . - name: Test - run: pytest --cov-report term-missing --cov=atlasreader atlasreader + run: pytest atlasreader - name: Coveralls uses: coverallsapp/github-action@v2 From ca5088d2c63283de23606f060633e37d8d5c3c4d Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 17:13:19 -0400 Subject: [PATCH 09/32] install nbval later --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3fd9442..bedec89 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - python -m pip install --upgrade pip pytest pytest-cov nbval + python -m pip install --upgrade pip pytest pytest-cov - name: Install run: pip install . @@ -48,6 +48,7 @@ jobs: - name: Test notebooks run: | + pip install nbval for n in `ls notebooks/*ipynb` do pytest --nbval-lax -v -s ${n}; From 4d24e3158b2fa52c281936a67e914966b8dfd98b Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:08:37 -0400 Subject: [PATCH 10/32] verbose --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index bedec89..dc10b5c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -41,7 +41,7 @@ jobs: run: pip install . - name: Test - run: pytest atlasreader + run: pytest -vvv atlasreader - name: Coveralls uses: coverallsapp/github-action@v2 From 10ba6eecea6c507629c082c41e43f9059010a1f8 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:27:27 -0400 Subject: [PATCH 11/32] skip test before cancel run --- atlasreader/tests/test_atlasreader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 501d1ab..a11f361 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -56,7 +56,7 @@ [-36, -19, 19, -6.21808, 648]]) ) - +@pytest.mark.skip(reason="just checking") def test_get_atlases(): for atlas in atlasreader._ATLASES: a = atlasreader.get_atlas(atlas, cache=False) From 20b3c440caf54d33e4633bd0c7243bbb5d362947 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:42:22 -0400 Subject: [PATCH 12/32] skip test --- atlasreader/tests/test_atlasreader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index a11f361..3c1c05f 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -56,7 +56,7 @@ [-36, -19, 19, -6.21808, 648]]) ) -@pytest.mark.skip(reason="just checking") + def test_get_atlases(): for atlas in atlasreader._ATLASES: a = atlasreader.get_atlas(atlas, cache=False) @@ -64,7 +64,7 @@ def test_get_atlases(): with pytest.raises(ValueError): atlasreader.get_atlas('not_an_atlas') - +@pytest.mark.skip(reason="just checking") def test_check_atlases(): atlases = atlasreader.check_atlases('all') assert len(atlases) == len(atlasreader._ATLASES) From 0d7d595b59dbeaa4efc1275c16b2f001b87a2327 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:46:32 -0400 Subject: [PATCH 13/32] add GHA for flake8 --- .github/workflows/format.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/format.yml diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml new file mode 100644 index 0000000..a35442f --- /dev/null +++ b/.github/workflows/format.yml @@ -0,0 +1,35 @@ + +name: validate + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +on: + push: + branches: [master] + pull_request: + branches: ['*'] + +jobs: + + unit_test: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python -m pip install flake8 + + - name: run flake8 + run: flake8 atlasreader From b02080e9ec0102291a4fdb57ec91797dbe3d1221 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:48:54 -0400 Subject: [PATCH 14/32] skip more tests --- atlasreader/tests/test_atlasreader.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 3c1c05f..13727c3 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -64,7 +64,7 @@ def test_get_atlases(): with pytest.raises(ValueError): atlasreader.get_atlas('not_an_atlas') -@pytest.mark.skip(reason="just checking") +@pytest.mark.skip(reason="skip test that cancels workflow") def test_check_atlases(): atlases = atlasreader.check_atlases('all') assert len(atlases) == len(atlasreader._ATLASES) @@ -113,8 +113,8 @@ def test_get_statmap_info(): assert len(cdf) == 0 assert len(pdf) == 0 - -def test_read_atlas_preaks(): +@pytest.mark.skip(reason="skip test that cancels workflow") +def test_read_atlas_peaks(): # Load a correct atlas atlasreader.read_atlas_peak('aal', [10, 10, 10]) # Load a list of atlases From b0ee188b91e2ea18d32e950be297d02dac2bd011 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 18:56:40 -0400 Subject: [PATCH 15/32] fix flake8 --- atlasreader/atlasreader.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/atlasreader/atlasreader.py b/atlasreader/atlasreader.py index e567629..7e24ecd 100644 --- a/atlasreader/atlasreader.py +++ b/atlasreader/atlasreader.py @@ -341,7 +341,7 @@ def read_atlas_peak(atlastype, coordinate, prob_thresh=5): # get atlas data checked_atlastype = check_atlases(atlastype) - if type(checked_atlastype) == list: + if isinstance(checked_atlastype, list): if not len(checked_atlastype) == 1: raise ValueError( '\'{}\' is not a string or a single atlas. \'all\' ' @@ -407,7 +407,7 @@ def read_atlas_cluster(atlastype, cluster, affine, prob_thresh=5): # get atlas data checked_atlastype = check_atlases(atlastype) - if type(checked_atlastype) == list: + if isinstance(checked_atlastype, list): if not len(checked_atlastype) == 1: raise ValueError( '\'{}\' is not a string or a single atlas. \'all\' ' @@ -572,8 +572,9 @@ def get_peak_data(clust_img, atlas='default', prob_thresh=5, segment = read_atlas_peak(atype, coord, prob_thresh) coord_info.append([atype.atlas, segment]) - peak_info += [[peak if type(peak) != list else - '; '.join(['{}% {}'.format(*e) for e in peak]) + peak_info += [['; '.join(['{}% {}'.format(*e) for e in peak]) + if isinstance(peak, list) + else peak for (_, peak) in coord_info]] return np.column_stack([coords, peak_values, cluster_volume, peak_info]) From 30778554d87fb337bae99a56fb0868cdd06f08d8 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 19:11:05 -0400 Subject: [PATCH 16/32] check each atlas --- atlasreader/tests/test_atlasreader.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 13727c3..08511d0 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -56,6 +56,9 @@ [-36, -19, 19, -6.21808, 648]]) ) +@pytest.mark.parametrize('atlas', atlasreader._ATLASES) +def test_check_atlases_each(atlas): + atlasreader.check_atlases(atlas) def test_get_atlases(): for atlas in atlasreader._ATLASES: @@ -64,12 +67,15 @@ def test_get_atlases(): with pytest.raises(ValueError): atlasreader.get_atlas('not_an_atlas') -@pytest.mark.skip(reason="skip test that cancels workflow") -def test_check_atlases(): +def test_check_atlases_all(): atlases = atlasreader.check_atlases('all') assert len(atlases) == len(atlasreader._ATLASES) + +def test_check_atlases_default(): atlases = atlasreader.check_atlases('default') assert len(atlases) == len(atlasreader._DEFAULT) + +def test_check_atlases_default(): atlases = atlasreader.check_atlases(['aal', 'destrieux']) assert atlasreader.check_atlases(atlases) == atlases assert atlasreader.check_atlases(atlases[0]) == atlases[0] From 4fc4417b0f1584d97fffc0c87e7ee5a9618f1ac1 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 19:23:58 -0400 Subject: [PATCH 17/32] unskip --- atlasreader/tests/test_atlasreader.py | 1 - 1 file changed, 1 deletion(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 08511d0..b8b8bd5 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -119,7 +119,6 @@ def test_get_statmap_info(): assert len(cdf) == 0 assert len(pdf) == 0 -@pytest.mark.skip(reason="skip test that cancels workflow") def test_read_atlas_peaks(): # Load a correct atlas atlasreader.read_atlas_peak('aal', [10, 10, 10]) From eba9d63ccc25d6fbc217161013505cb201b5a0a5 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 19:28:49 -0400 Subject: [PATCH 18/32] try another --- atlasreader/tests/test_atlasreader.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index b8b8bd5..90fce9d 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -121,10 +121,10 @@ def test_get_statmap_info(): def test_read_atlas_peaks(): # Load a correct atlas - atlasreader.read_atlas_peak('aal', [10, 10, 10]) + atlasreader.read_atlas_peak('aicha', [10, 10, 10]) # Load a list of atlases with pytest.raises(ValueError): - atlasreader.read_atlas_peak(2*['aal'], [10, 10, 10]) + atlasreader.read_atlas_peak(2*['aicha'], [10, 10, 10]) # Load 'all' atlas with pytest.raises(ValueError): atlasreader.read_atlas_peak('all', [10, 10, 10]) From 25bbee96c3a87e51a123d454e3ee9e26cba6a910 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 19:43:53 -0400 Subject: [PATCH 19/32] flake8 --- atlasreader/tests/test_atlasreader.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 90fce9d..63fc328 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -56,10 +56,12 @@ [-36, -19, 19, -6.21808, 648]]) ) + @pytest.mark.parametrize('atlas', atlasreader._ATLASES) def test_check_atlases_each(atlas): atlasreader.check_atlases(atlas) + def test_get_atlases(): for atlas in atlasreader._ATLASES: a = atlasreader.get_atlas(atlas, cache=False) @@ -67,15 +69,18 @@ def test_get_atlases(): with pytest.raises(ValueError): atlasreader.get_atlas('not_an_atlas') + def test_check_atlases_all(): atlases = atlasreader.check_atlases('all') assert len(atlases) == len(atlasreader._ATLASES) + def test_check_atlases_default(): atlases = atlasreader.check_atlases('default') assert len(atlases) == len(atlasreader._DEFAULT) -def test_check_atlases_default(): + +def test_check_atlases_as_list(): atlases = atlasreader.check_atlases(['aal', 'destrieux']) assert atlasreader.check_atlases(atlases) == atlases assert atlasreader.check_atlases(atlases[0]) == atlases[0] @@ -119,6 +124,7 @@ def test_get_statmap_info(): assert len(cdf) == 0 assert len(pdf) == 0 + def test_read_atlas_peaks(): # Load a correct atlas atlasreader.read_atlas_peak('aicha', [10, 10, 10]) From 818307d3964115a0f0d4ae18f8bd55cb19e46461 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 21:00:18 -0400 Subject: [PATCH 20/32] split tests --- atlasreader/tests/conftest.py | 6 +++ .../collection_658/collection_metadata.json | 1 + .../data/collection_658/image_10426.nii.gz | Bin 0 -> 186649 bytes .../collection_658/image_10426_metadata.json | 1 + atlasreader/tests/test_atlasreader.py | 44 ++++++++++-------- atlasreader/tests/test_cli.py | 10 ++-- 6 files changed, 36 insertions(+), 26 deletions(-) create mode 100644 atlasreader/tests/conftest.py create mode 100644 atlasreader/tests/data/collection_658/collection_metadata.json create mode 100644 atlasreader/tests/data/collection_658/image_10426.nii.gz create mode 100644 atlasreader/tests/data/collection_658/image_10426_metadata.json diff --git a/atlasreader/tests/conftest.py b/atlasreader/tests/conftest.py new file mode 100644 index 0000000..9fa97f0 --- /dev/null +++ b/atlasreader/tests/conftest.py @@ -0,0 +1,6 @@ +import pytest +from pathlib import Path + +@pytest.fixture +def stat_img(): + return Path(__file__).parent / 'data' / 'collection_658' / "image_10426.nii.gz" \ No newline at end of file diff --git a/atlasreader/tests/data/collection_658/collection_metadata.json b/atlasreader/tests/data/collection_658/collection_metadata.json new file mode 100644 index 0000000..a081c0c --- /dev/null +++ b/atlasreader/tests/data/collection_658/collection_metadata.json @@ -0,0 +1 @@ +{"id": 658, "url": "http://neurovault.org/collections/658/", "download_url": "http://neurovault.org/collections/658/download", "owner": 470, "contributors": "bthirion, gael.varoquaux", "owner_name": "schwarty", "number_of_images": 65, "name": "Principal Component Regression predicts functional responses across individuals", "DOI": null, "authors": null, "paper_url": null, "journal_name": null, "description": "Inter-subject variability is a major hurdle for neuroimaging group-level inference, as it creates complex image patterns that are not captured by standard analysis models and jeopardizes the sensitivity of statistical procedures. A solution to this problem is to model random subjects effects by using the redundant information conveyed by multiple imaging contrasts. In this paper, we introduce a novel analysis framework, where we estimate the amount of variance that is fit by a random effects subspace learned on other images; we show that a principal component regression estimator outperforms other regression models and that it fits a significant proportion (10% to 25%) of the between-subject variability. This proves for the first time that the accumulation of contrasts in each individual can provide the basis for more sensitive neuroimaging group analyzes.", "full_dataset_url": null, "private": false, "add_date": "2015-06-22T13:54:57.479256+02:00", "modify_date": "2016-01-27T23:00:42.540459+01:00", "doi_add_date": null, "type_of_design": null, "number_of_imaging_runs": null, "number_of_experimental_units": null, "length_of_runs": null, "length_of_blocks": null, "length_of_trials": null, "optimization": null, "optimization_method": null, "subject_age_mean": null, "subject_age_min": null, "subject_age_max": null, "handedness": null, "proportion_male_subjects": null, "inclusion_exclusion_criteria": null, "number_of_rejected_subjects": null, "group_comparison": null, "group_description": null, "scanner_make": null, "scanner_model": null, "field_strength": null, "pulse_sequence": null, "parallel_imaging": null, "field_of_view": null, "matrix_size": null, "slice_thickness": null, "skip_distance": null, "acquisition_orientation": null, "order_of_acquisition": null, "repetition_time": null, "echo_time": null, "flip_angle": null, "software_package": null, "software_version": null, "order_of_preprocessing_operations": null, "quality_control": null, "used_b0_unwarping": null, "b0_unwarping_software": null, "used_slice_timing_correction": null, "slice_timing_correction_software": null, "used_motion_correction": null, "motion_correction_software": null, "motion_correction_reference": null, "motion_correction_metric": null, "motion_correction_interpolation": null, "used_motion_susceptibiity_correction": null, "used_intersubject_registration": null, "intersubject_registration_software": null, "intersubject_transformation_type": null, "nonlinear_transform_type": null, "transform_similarity_metric": null, "interpolation_method": null, "object_image_type": null, "functional_coregistered_to_structural": null, "functional_coregistration_method": null, "coordinate_space": null, "target_template_image": null, "target_resolution": null, "used_smoothing": null, "smoothing_type": null, "smoothing_fwhm": null, "resampled_voxel_size": null, "intrasubject_model_type": null, "intrasubject_estimation_type": null, "intrasubject_modeling_software": null, "hemodynamic_response_function": null, "used_temporal_derivatives": null, "used_dispersion_derivatives": null, "used_motion_regressors": null, "used_reaction_time_regressor": null, "used_orthogonalization": null, "orthogonalization_description": null, "used_high_pass_filter": null, "high_pass_filter_method": null, "autocorrelation_model": null, "group_model_type": null, "group_estimation_type": null, "group_modeling_software": null, "group_inference_type": null, "group_model_multilevel": null, "group_repeated_measures": null, "group_repeated_measures_method": null, "nutbrain_hunger_state": null, "nutbrain_food_viewing_conditions": null, "nutbrain_food_choice_type": null, "nutbrain_taste_conditions": null, "nutbrain_odor_conditions": null, "communities": [], "relative_path": "collection_658"} \ No newline at end of file diff --git a/atlasreader/tests/data/collection_658/image_10426.nii.gz b/atlasreader/tests/data/collection_658/image_10426.nii.gz new file mode 100644 index 0000000000000000000000000000000000000000..6585e3de612031c92f247f4d0328ba8182f050fe GIT binary patch literal 186649 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 OlFMIA?r7RkUi&|AD$Ym% literal 0 HcmV?d00001 diff --git a/atlasreader/tests/data/collection_658/image_10426_metadata.json b/atlasreader/tests/data/collection_658/image_10426_metadata.json new file mode 100644 index 0000000..5e42dde --- /dev/null +++ b/atlasreader/tests/data/collection_658/image_10426_metadata.json @@ -0,0 +1 @@ +{"url": "http://neurovault.org/images/10426/", "id": 10426, "file": "http://neurovault.org/media/images/658/task001_left_vs_right_motor.nii.gz", "collection": "http://neurovault.org/collections/658/", "collection_id": 658, "file_size": 186649, "cognitive_paradigm_cogatlas": null, "cognitive_paradigm_cogatlas_id": null, "cognitive_contrast_cogatlas": null, "cognitive_contrast_cogatlas_id": null, "map_type": "other", "analysis_level": null, "name": "task001 left vs right motor", "description": null, "add_date": "2016-01-21T18:22:58.807468+01:00", "modify_date": "2016-01-27T22:59:40.180124+01:00", "is_valid": false, "surface_left_file": null, "surface_right_file": null, "data_origin": "volume", "target_template_image": "GenericMNI", "subject_species": "homo sapiens", "figure": null, "handedness": null, "age": null, "gender": null, "race": null, "ethnicity": null, "BMI": null, "fat_percentage": null, "waist_hip_ratio": null, "mean_PDS_score": null, "tanner_stage": null, "days_since_menstruation": null, "hours_since_last_meal": null, "bis_bas_score": null, "spsrq_score": null, "bis11_score": null, "thumbnail": "http://neurovault.org/media/images/658/glass_brain_10426.jpg", "reduced_representation": "http://neurovault.org/media/images/658/transform_4mm_10426.npy", "is_thresholded": false, "perc_bad_voxels": 70.4103024857742, "not_mni": false, "brain_coverage": 68.1115393334845, "perc_voxels_outside": 0.840521035029044, "number_of_subjects": null, "modality": null, "statistic_parameters": null, "smoothness_fwhm": null, "contrast_definition": null, "contrast_definition_cogatlas": null, "cognitive_paradigm_description_url": null, "image_type": "statistic_map", "relative_path": "collection_658/image_10426.nii.gz", "resampled_relative_path": "collection_658/image_10426_resampled.nii.gz"} \ No newline at end of file diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 63fc328..79e0e0c 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -5,6 +5,7 @@ from nilearn.datasets import fetch_neurovault_motor_task import pytest import pandas as pd +from pathlib import Path STAT_IMG = fetch_neurovault_motor_task().images[0] EXAMPLE_COORDS = dict( @@ -105,18 +106,20 @@ def test_bounding_box_check(): assert np.all(ijk_out == coords['ijk_out']) -def test_get_statmap_info(): +@pytest.mark.parametrize('min_distance', [None, 20]) +def test_get_statmap_info(stat_img, min_distance): # general integration test to check that min_distance works # this will take a little while since it's running it twice - stat_img = nb.load(STAT_IMG) - for min_distance in [None, 20]: - cdf, pdf = atlasreader.get_statmap_info(stat_img, - cluster_extent=20, - atlas=['Harvard_Oxford', - 'AAL'], - min_distance=min_distance) + stat_img = nb.load(stat_img) + atlasreader.get_statmap_info(stat_img, + cluster_extent=20, + atlas=['Harvard_Oxford', 'AAL'], + min_distance=min_distance) + +def test_get_statmap_info_empty_image(stat_img): # test that empty image return empty dataframes + stat_img = nb.load(stat_img) zero_img = nb.Nifti1Image(np.zeros(stat_img.shape), stat_img.affine, header=stat_img.header) cdf, pdf = atlasreader.get_statmap_info(zero_img, @@ -128,6 +131,9 @@ def test_get_statmap_info(): def test_read_atlas_peaks(): # Load a correct atlas atlasreader.read_atlas_peak('aicha', [10, 10, 10]) + + +def test_read_atlas_peaks_errors(): # Load a list of atlases with pytest.raises(ValueError): atlasreader.read_atlas_peak(2*['aicha'], [10, 10, 10]) @@ -136,8 +142,8 @@ def test_read_atlas_peaks(): atlasreader.read_atlas_peak('all', [10, 10, 10]) -def test_process_image(): - stat_img = nb.load(STAT_IMG) +def test_process_image(stat_img): + stat_img = nb.load(stat_img) # check that defaults for processing image work img = atlasreader.process_img(stat_img, cluster_extent=20) assert isinstance(img, nb.Nifti1Image) @@ -159,13 +165,13 @@ def test_process_image(): assert np.allclose(img.get_fdata(), 0) -def test_create_output(tmpdir): +def test_create_output(tmpdir, stat_img): # create mock data - stat_img_name = os.path.basename(STAT_IMG)[:-7] + stat_img_name = os.path.basename(stat_img)[:-7] # temporary output output_dir = tmpdir.mkdir('mni_test') - atlasreader.create_output(STAT_IMG, cluster_extent=20, + atlasreader.create_output(stat_img, cluster_extent=20, voxel_thresh=7, atlas=['Harvard_Oxford'], outdir=output_dir) @@ -178,14 +184,14 @@ def test_create_output(tmpdir): assert output_dir.join('{}.png'.format(stat_img_name)).isfile() -def test_plotting(tmpdir): +def test_plotting(tmpdir, stat_img): """Test functionality of kwarg implementation""" # temporary output output_dir = tmpdir.mkdir('mni_test') # overwrite some default params - atlasreader.create_output(STAT_IMG, cluster_extent=20, + atlasreader.create_output(stat_img, cluster_extent=20, voxel_thresh=7, atlas=['Harvard_Oxford'], outdir=output_dir, @@ -193,20 +199,20 @@ def test_plotting(tmpdir): stat_plot_kws={'black_bg': False}) # add new parameter not already set by default - atlasreader.create_output(STAT_IMG, cluster_extent=20, + atlasreader.create_output(stat_img, cluster_extent=20, voxel_thresh=7, atlas=['Harvard_Oxford'], outdir=output_dir, glass_plot_kws={'alpha': .4}) -def test_table_output(tmpdir): +def test_table_output(tmpdir, stat_img): # create mock data - stat_img_name = os.path.basename(STAT_IMG)[:-7] + stat_img_name = os.path.basename(stat_img)[:-7] # temporary output output_dir = tmpdir.mkdir('mni_test') - atlasreader.create_output(STAT_IMG, cluster_extent=20, + atlasreader.create_output(stat_img, cluster_extent=20, voxel_thresh=4, atlas='default', outdir=output_dir) diff --git a/atlasreader/tests/test_cli.py b/atlasreader/tests/test_cli.py index bce44ed..fbf073a 100644 --- a/atlasreader/tests/test_cli.py +++ b/atlasreader/tests/test_cli.py @@ -1,12 +1,8 @@ import os -from nilearn.datasets import fetch_neurovault_motor_task import subprocess -STAT_IMG = fetch_neurovault_motor_task().images[0] - - -def test_cli(tmpdir): - stat_img_name = os.path.basename(STAT_IMG)[:-7] +def test_cli(tmpdir, stat_img): + stat_img_name = os.path.basename(stat_img)[:-7] # temporary output output_dir = tmpdir.mkdir('mni_test') @@ -16,7 +12,7 @@ def test_cli(tmpdir): '--probability', '5', '--mindist', '20', '--outdir', output_dir, - STAT_IMG, '20']) + stat_img, '20']) assert ret.returncode == 0 # test if output exists and if the key .csv and .png files were created From 6bfa6b217d7bf7157303839c11c017dc1990e27e Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 21:05:53 -0400 Subject: [PATCH 21/32] add pre commit for flake8 and rm travis --- .github/dependabot.yml | 9 +++++ .github/workflows/format.yml | 2 +- .pre-commit-config.yaml | 10 ++++++ .travis.yml | 47 --------------------------- atlasreader/tests/conftest.py | 10 ++++-- atlasreader/tests/test_atlasreader.py | 1 - atlasreader/tests/test_cli.py | 1 + 7 files changed, 29 insertions(+), 51 deletions(-) create mode 100644 .github/dependabot.yml create mode 100644 .pre-commit-config.yaml delete mode 100644 .travis.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..5ab0ddf --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +--- +# Documentation +# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file +version: 2 +updates: +- package-ecosystem: github-actions + directory: / + schedule: + interval: monthly diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index a35442f..8ab0795 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -13,7 +13,7 @@ on: jobs: - unit_test: + validate: runs-on: ubuntu-latest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 0000000..e25820d --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,10 @@ +--- +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks + +repos: + +- repo: https://github.com/pyCQA/flake8 + rev: 6.1.0 + hooks: + - id: flake8 diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 797778a..0000000 --- a/.travis.yml +++ /dev/null @@ -1,47 +0,0 @@ -language: python -sudo: false -dist: xenial - -python: - - 3.6 - - 3.7 - -env: - - STYLE=1 - - COVERAGE=1 - - NOTEBOOKS=1 - -before_install: - - python -m pip install --upgrade pip - - pip install --upgrade virtualenv - - if [ "${STYLE}" == "1" ]; then - pip install flake8; - fi - - if [ "${COVERAGE}" == "1" ]; then - pip install coverage coveralls codecov pytest==4.1 pytest-cov; - fi - - if [ "${NOTEBOOKS}" == "1" ]; then - pip install pytest jupyter nbval; - fi - -install: - - python setup.py install - -script: - - | - if [ "${STYLE}" == "1" ]; then - flake8 atlasreader - elif [ "${COVERAGE}" == "1" ]; then - TEST_ARGS="--cov-report term-missing --cov=atlasreader"; - py.test ${TEST_ARGS} atlasreader; - elif [ "${NOTEBOOKS}" == "1" ]; then - for n in `ls notebooks/*ipynb` - do - pytest --nbval-lax -v -s ${n}; - done - fi - -after_success: - - if [ "${COVERAGE}" == "1" ]; then - coveralls; codecov; - fi diff --git a/atlasreader/tests/conftest.py b/atlasreader/tests/conftest.py index 9fa97f0..e94ed72 100644 --- a/atlasreader/tests/conftest.py +++ b/atlasreader/tests/conftest.py @@ -1,6 +1,12 @@ import pytest from pathlib import Path + +@pytest.fixture +def data_dir(): + return Path(__file__).parent / 'data' + + @pytest.fixture -def stat_img(): - return Path(__file__).parent / 'data' / 'collection_658' / "image_10426.nii.gz" \ No newline at end of file +def stat_img(data_dir): + return data_dir / 'collection_658' / "image_10426.nii.gz" diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 79e0e0c..a84dcd2 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -5,7 +5,6 @@ from nilearn.datasets import fetch_neurovault_motor_task import pytest import pandas as pd -from pathlib import Path STAT_IMG = fetch_neurovault_motor_task().images[0] EXAMPLE_COORDS = dict( diff --git a/atlasreader/tests/test_cli.py b/atlasreader/tests/test_cli.py index fbf073a..33f4ec3 100644 --- a/atlasreader/tests/test_cli.py +++ b/atlasreader/tests/test_cli.py @@ -1,6 +1,7 @@ import os import subprocess + def test_cli(tmpdir, stat_img): stat_img_name = os.path.basename(stat_img)[:-7] From a84aba8beaae1f5af24074caffc6ae7d54a36884 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 21:13:58 -0400 Subject: [PATCH 22/32] split tests --- atlasreader/tests/test_atlasreader.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index a84dcd2..1eb00cb 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -132,13 +132,10 @@ def test_read_atlas_peaks(): atlasreader.read_atlas_peak('aicha', [10, 10, 10]) -def test_read_atlas_peaks_errors(): +def test_read_atlas_peaks_error_type(): # Load a list of atlases with pytest.raises(ValueError): atlasreader.read_atlas_peak(2*['aicha'], [10, 10, 10]) - # Load 'all' atlas - with pytest.raises(ValueError): - atlasreader.read_atlas_peak('all', [10, 10, 10]) def test_process_image(stat_img): @@ -220,3 +217,9 @@ def test_table_output(tmpdir, stat_img): assert np.allclose(df[df.keys()[1:6]].values, EXPECTED_TABLES['cluster']) df = pd.read_csv(output_dir.join('{}_peaks.csv'.format(stat_img_name))) assert np.allclose(df[df.keys()[1:6]].values, EXPECTED_TABLES['peak']) + + +def test_read_atlas_peaks_error_all(): + # Load 'all' atlas + with pytest.raises(ValueError): + atlasreader.read_atlas_peak('all', [10, 10, 10]) From 198f9cf148447be266b9690fc6e5f59d8523f9d7 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 21:16:23 -0400 Subject: [PATCH 23/32] drop python 3.7 --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index dc10b5c..7d747f3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11'] runs-on: ubuntu-latest From f19884527e59508c26752f17d7feda08f848e79a Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 21:43:23 -0400 Subject: [PATCH 24/32] fix tests --- atlasreader/tests/test_atlasreader.py | 20 ++++++++++---------- atlasreader/tests/test_cli.py | 18 +++++++++--------- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 1eb00cb..2431bc1 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -161,23 +161,23 @@ def test_process_image(stat_img): assert np.allclose(img.get_fdata(), 0) -def test_create_output(tmpdir, stat_img): - # create mock data - stat_img_name = os.path.basename(stat_img)[:-7] +def test_create_output(tmp_path, stat_img): - # temporary output - output_dir = tmpdir.mkdir('mni_test') - atlasreader.create_output(stat_img, cluster_extent=20, + output_dir = tmp_path / 'mni_test' + output_dir.mkdir() + + atlasreader.create_output(str(stat_img), cluster_extent=20, voxel_thresh=7, atlas=['Harvard_Oxford'], outdir=output_dir) # test if output exists and if the key .csv and .png files were created assert output_dir.exists() - assert len(output_dir.listdir()) > 0 - assert output_dir.join('{}_clusters.csv'.format(stat_img_name)).isfile() - assert output_dir.join('{}_peaks.csv'.format(stat_img_name)).isfile() - assert output_dir.join('{}.png'.format(stat_img_name)).isfile() + assert len([x for x in output_dir.iterdir()]) > 0 + + stat_img_name = stat_img.stem[:11] + for ending in ['_clusters.csv', '_peaks.csv', '.png']: + assert (output_dir / f'{stat_img_name}{ending}').exists() def test_plotting(tmpdir, stat_img): diff --git a/atlasreader/tests/test_cli.py b/atlasreader/tests/test_cli.py index 33f4ec3..11e56bd 100644 --- a/atlasreader/tests/test_cli.py +++ b/atlasreader/tests/test_cli.py @@ -1,12 +1,11 @@ -import os import subprocess -def test_cli(tmpdir, stat_img): - stat_img_name = os.path.basename(stat_img)[:-7] +def test_cli(tmp_path, stat_img): + + output_dir = tmp_path / 'mni_test' + output_dir.mkdir() - # temporary output - output_dir = tmpdir.mkdir('mni_test') ret = subprocess.run(['atlasreader', '--atlas', 'harvard_oxford', 'aal', '--threshold', '7.0', @@ -18,7 +17,8 @@ def test_cli(tmpdir, stat_img): # test if output exists and if the key .csv and .png files were created assert output_dir.exists() - assert len(output_dir.listdir()) > 0 - assert output_dir.join('{}_clusters.csv'.format(stat_img_name)).isfile() - assert output_dir.join('{}_peaks.csv'.format(stat_img_name)).isfile() - assert output_dir.join('{}.png'.format(stat_img_name)).isfile() + assert len([x for x in output_dir.iterdir()]) > 0 + + stat_img_name = stat_img.stem[:11] + for ending in ['_clusters.csv', '_peaks.csv', '.png']: + assert (output_dir / f'{stat_img_name}{ending}').exists() From 7d78c7254d5850dd2483e16bc635b8e0590ba8bb Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 22:01:59 -0400 Subject: [PATCH 25/32] fix test --- atlasreader/tests/test_atlasreader.py | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index 2431bc1..a53297c 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -1,4 +1,3 @@ -import os import numpy as np from atlasreader import atlasreader import nibabel as nb @@ -202,20 +201,22 @@ def test_plotting(tmpdir, stat_img): glass_plot_kws={'alpha': .4}) -def test_table_output(tmpdir, stat_img): - # create mock data - stat_img_name = os.path.basename(stat_img)[:-7] +def test_table_output(tmp_path, stat_img): - # temporary output - output_dir = tmpdir.mkdir('mni_test') - atlasreader.create_output(stat_img, cluster_extent=20, + output_dir = tmp_path / 'mni_test' + output_dir.mkdir() + + atlasreader.create_output(str(stat_img), cluster_extent=20, voxel_thresh=4, atlas='default', outdir=output_dir) # test if output tables contain expected output - df = pd.read_csv(output_dir.join('{}_clusters.csv'.format(stat_img_name))) + stat_img_name = stat_img.stem[:11] + + df = pd.read_csv(output_dir / f'{stat_img_name}_clusters.csv') assert np.allclose(df[df.keys()[1:6]].values, EXPECTED_TABLES['cluster']) - df = pd.read_csv(output_dir.join('{}_peaks.csv'.format(stat_img_name))) + + df = pd.read_csv(output_dir / f'{stat_img_name}_peaks.csv') assert np.allclose(df[df.keys()[1:6]].values, EXPECTED_TABLES['peak']) From 272d4fad1e94fa6edef7c82054a71f2a1012dacc Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Wed, 30 Aug 2023 22:02:32 -0400 Subject: [PATCH 26/32] rm unused imports --- atlasreader/tests/test_atlasreader.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/atlasreader/tests/test_atlasreader.py b/atlasreader/tests/test_atlasreader.py index a53297c..332a8da 100644 --- a/atlasreader/tests/test_atlasreader.py +++ b/atlasreader/tests/test_atlasreader.py @@ -1,11 +1,9 @@ import numpy as np from atlasreader import atlasreader import nibabel as nb -from nilearn.datasets import fetch_neurovault_motor_task import pytest import pandas as pd -STAT_IMG = fetch_neurovault_motor_task().images[0] EXAMPLE_COORDS = dict( affine=np.array([[1, 0, 0, -90], [0, 1, 0, -150], From a4118994f97b89e7fbd990a75d3cd9d53649d336 Mon Sep 17 00:00:00 2001 From: "M.Notter" Date: Sat, 14 Oct 2023 17:21:31 +0200 Subject: [PATCH 27/32] Adds minimal package versions to requirements --- requirements.txt | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/requirements.txt b/requirements.txt index c6c9b06..be97ad3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,8 +1,8 @@ -matplotlib -nibabel -nilearn -numpy -pandas -scipy -scikit-image -scikit-learn +matplotlib>=3.7 +nibabel>=5.0 +nilearn>=0.10 +numpy>=1.22.0 +pandas>=2.0 +scikit-image>=0.21.0 +scikit-learn>=1.0 +scipy>=1.10 From f6bdcc3b76bc5129c486e2cfdad268c9bbeb94d5 Mon Sep 17 00:00:00 2001 From: "M.Notter" Date: Sat, 14 Oct 2023 17:23:33 +0200 Subject: [PATCH 28/32] Corrects shape bug in labels file --- atlasreader/atlasreader.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/atlasreader/atlasreader.py b/atlasreader/atlasreader.py index 701a8c3..a0046e7 100644 --- a/atlasreader/atlasreader.py +++ b/atlasreader/atlasreader.py @@ -260,6 +260,11 @@ def get_subpeak_coords(clust_img, min_distance=20): # make new clusters to check for "flat" peaks + find CoM of those clusters labels, nl = label(local_max) + labels_img = np.zeros_like(data) + for ldx in range(len(labels)): + labels_img[tuple(local_max[ldx])] = np.mean(labels[ldx]) + labels = labels_img.astype('int') + ijk = center_of_mass(data, labels=labels, index=range(1, nl + 1)) ijk = np.round(ijk).astype(int) From 9938e7720b2a4325a0fc3e365add9c1c92cc76e2 Mon Sep 17 00:00:00 2001 From: "M.Notter" Date: Sat, 14 Oct 2023 17:37:22 +0200 Subject: [PATCH 29/32] Adds coveralls badge to readme --- README.md | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index ed4adf3..3bd3909 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ [![codecov](https://codecov.io/gh/miykael/atlasreader/branch/master/graph/badge.svg)](https://codecov.io/gh/miykael/atlasreader) +[![Coverage Status](https://coveralls.io/repos/github/miykael/atlasreader/badge.svg?branch=master)](https://coveralls.io/github/miykael/atlasreader?branch=master) [![Build Status](https://travis-ci.org/miykael/atlasreader.svg?branch=master)](https://travis-ci.org/miykael/atlasreader) [![GitHub issues](https://img.shields.io/github/issues/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/pulls/) @@ -15,10 +16,10 @@ to localize and extract relevant peak and cluster information and create informative and nice looking overview figures. Please check out our interactive notebook on mybinder.org to see `atlasreader` -in action: +in action: [![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/miykael/atlasreader/master?filepath=notebooks%2Fatlasreader.ipynb) -If you are using `atlasreader` in your publication, please cite the following paper: +If you are using `atlasreader` in your publication, please cite the following paper: [![DOI](http://joss.theoj.org/papers/10.21105/joss.01257/status.svg)](https://doi.org/10.21105/joss.01257) Notter M. P., Gale D., Herholz P., Markello R. D., Notter-Bielser M.-L., & Whitaker K. (2019). AtlasReader: A Python package to generate coordinate tables, region labels, and informative figures from statistical MRI images. *Journal of Open Source Software, 4(34), 1257*, [https://doi.org/10.21105/joss.01257](https://doi.org/10.21105/joss.01257). @@ -33,7 +34,7 @@ installing `atlasreader` is as simple as this: pip install atlasreader ``` -If you want to build `atlasreader` directly from source code, use the +If you want to build `atlasreader` directly from source code, use the following code: ```bash @@ -67,25 +68,25 @@ atlasreader file_name 5 After executing AtlasReader on a given image, four kinds of outputs are generated: -1. An **overview figure** that shows the results within the whole brain at once +1. An **overview figure** that shows the results within the whole brain at once ![Overview Figure](paper/fig_overview_figure.png) 2. **For each cluster**, an **informative figure** showing the sagittal, coronal - and transversal plane centered on the main peak of the cluster + and transversal plane centered on the main peak of the cluster ![Cluster Figure](paper/fig_cluster_figure.png) 3. A **csv file** containing relevant information about the **peak** of each cluster. This table contains the cluster association and location of each peak, its signal value at this location, the cluster extent (in mm, not in number of voxels), as well as the membership of each peak, given a - particular atlas. + particular atlas. ![Table Peak](paper/table_peak.png) 4. A **csv** file containing relevant information about each **cluster**. Table showing relevant information for the cluster extent of each ROI. This table contains the cluster association and location of each peak, the mean value within the cluster, the cluster extent (in mm, not in number of voxels), as - well as the membership of each cluster, given a particular atlas. + well as the membership of each cluster, given a particular atlas. ![Table Cluster](paper/table_cluster.png) @@ -94,34 +95,34 @@ After executing AtlasReader on a given image, four kinds of outputs are generate `atlasreader.create_output` has many additional parameters that allow you to change the way the clusters are generated and what kind of outputs are generated: -- **filename**: Niimg_like +- **filename**: Niimg_like A 3D statistical image. -- **cluster_extent**: int +- **cluster_extent**: int Minimum number of contiguous voxels required to consider a cluster in `filename` -- **atlas**: str or list, optional +- **atlas**: str or list, optional Name of atlas(es) to consider for cluster analysis. ***Default***: `'default'` - **voxel_thresh**: float, optional - Threshold to apply to `stat_img`. Use `direction` to specify the + Threshold to apply to `stat_img`. Use `direction` to specify the directionality of the threshold. If a negative number is provided a percentile threshold is used instead, where the percentile is determined by the equation `100 - voxel_thresh`. ***Default***: `1.96` - **direction**: str, optional Specifies the direction in which `voxel_thresh` should be applied. Possible values are `'both'`, `'pos'` or `'neg'`. ***Default***: `'both'` -- **prob_thresh**: int, optional +- **prob_thresh**: int, optional Probability (percentage) threshold to apply to `atlas`, if it is probabilistic. ***Default***: `5` -- **min_distance**: float, optional +- **min_distance**: float, optional Specifies the minimum distance (in mm) required between sub-peaks in a cluster. If None, sub-peaks will not be examined and only the primary cluster peak will be reported. ***Default***: `None` -- **outdir**: str or None, optional +- **outdir**: str or None, optional Path to desired output directory. If None, generated files will be saved to the same folder as `filename`. ***Default***: `None` -- **glass_plot_kws**: dict or None, optional +- **glass_plot_kws**: dict or None, optional Additional keyword arguments to pass to `nilearn.plotting.plot_glass_brain`. ***Default***: `None` -- **stat_plot_kws**: dict or None, optional +- **stat_plot_kws**: dict or None, optional Additional keyword arguments to pass to `nilearn.plotting.plot_stat_map`. ***Default***: `None` @@ -148,7 +149,7 @@ about it! ## Licence -AtlasReader is licensed under the BSD-3 license; however, the atlases it uses +AtlasReader is licensed under the BSD-3 license; however, the atlases it uses are separately licensed under more restrictive frameworks. By using AtlasReader, you agree to abide by the license terms of the individual atlases. Information on these terms can be found online at: From a4ea91a95e7bdc2be2043d917dec45c0fe739bb3 Mon Sep 17 00:00:00 2001 From: "M.Notter" Date: Sat, 14 Oct 2023 19:11:56 +0200 Subject: [PATCH 30/32] Updates faulty batches --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 3bd3909..c718f16 100644 --- a/README.md +++ b/README.md @@ -4,8 +4,7 @@ [![GitHub issues](https://img.shields.io/github/issues/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/issues/) [![GitHub pull-requests](https://img.shields.io/github/issues-pr/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/pulls/) [![GitHub contributors](https://img.shields.io/github/contributors/miykael/atlasreader.svg)](https://GitHub.com/miykael/atlasreader/graphs/contributors/) -[![GitHub Commits](https://github-basic-badges.herokuapp.com/commits/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/commits/master) -[![GitHub size](https://github-size-badge.herokuapp.com/miykael/atlasreader.svg)](https://github.com/miykael/atlasreader/archive/master.zip) +![GitHub repo size](https://img.shields.io/github/repo-size/miykael/atlasreader) # AtlasReader From 413528ed867b5e63075d49a676a6fe84c841427a Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Mon, 16 Oct 2023 19:12:50 +0200 Subject: [PATCH 31/32] fix cover all --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7d747f3..e785f93 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] runs-on: ubuntu-latest @@ -41,7 +41,7 @@ jobs: run: pip install . - name: Test - run: pytest -vvv atlasreader + run: python -m pytest -vvv --pyargs atlasreader --cov=atlasreader - name: Coveralls uses: coverallsapp/github-action@v2 From e272e4c4cf0bd2df6248e7fc05a17d429c1cbed1 Mon Sep 17 00:00:00 2001 From: Remi Gau Date: Mon, 16 Oct 2023 19:15:47 +0200 Subject: [PATCH 32/32] add setup tools --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e785f93..6ff5b73 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -35,7 +35,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - python -m pip install --upgrade pip pytest pytest-cov + python -m pip install --upgrade pip setuptools pytest pytest-cov - name: Install run: pip install .