[ENH]: Enable Markers to extract multiple features #349

Merged
synchon merged 18 commits from refactor/marker-multi-feature-output into main 2024-07-18 10:24:13 +00:00
synchon commented 2024-07-03 10:04:23 +00:00 (Migrated from github.com)
  • description of feature/fix
  • tests added/passed
  • add an entry for the latest changes

This PR refactors the internals of BaseMarker to allow for multiple features to be extracted from one marker. It also simplifies creating new markers by replacing multiple methods with a class attribute. For now, ALFF-family and BrainPrint are specifically getting benefited from this.

* [x] description of feature/fix * [x] tests added/passed * [x] add an entry for the latest changes This PR refactors the internals of `BaseMarker` to allow for multiple features to be extracted from one marker. It also simplifies creating new markers by replacing multiple methods with a class attribute. For now, `ALFF`-family and `BrainPrint` are specifically getting benefited from this.
codecov[bot] commented 2024-07-03 10:06:05 +00:00 (Migrated from github.com)

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 88.51%. Comparing base (1481ed5) to head (5c3e407).

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #349      +/-   ##
==========================================
+ Coverage   88.00%   88.51%   +0.50%     
==========================================
  Files         114      114              
  Lines        5137     4937     -200     
  Branches      999      974      -25     
==========================================
- Hits         4521     4370     -151     
+ Misses        456      413      -43     
+ Partials      160      154       -6     
Flag Coverage Δ
docs 100.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Coverage Δ
junifer/markers/base.py 97.50% <ø> (+3.16%) ⬆️
junifer/markers/brainprint.py 46.77% <ø> (+5.82%) ⬆️
junifer/markers/complexity/complexity_base.py 94.73% <ø> (-1.42%) ⬇️
junifer/markers/ets_rss.py 100.00% <ø> (ø)
junifer/markers/falff/falff_base.py 70.96% <ø> (+1.40%) ⬆️
junifer/markers/falff/falff_parcels.py 100.00% <ø> (ø)
junifer/markers/falff/falff_spheres.py 100.00% <ø> (ø)
...ivity/crossparcellation_functional_connectivity.py 100.00% <ø> (ø)
...nnectivity/edge_functional_connectivity_parcels.py 100.00% <ø> (ø)
...nnectivity/edge_functional_connectivity_spheres.py 88.23% <ø> (-1.77%) ⬇️
... and 12 more
## [Codecov](https://app.codecov.io/gh/juaml/junifer/pull/349?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) Report All modified and coverable lines are covered by tests :white_check_mark: > Project coverage is 88.51%. Comparing base [(`1481ed5`)](https://app.codecov.io/gh/juaml/junifer/commit/1481ed58daa1b7087c6daa97d91464c2d9055461?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) to head [(`5c3e407`)](https://app.codecov.io/gh/juaml/junifer/commit/5c3e4075c9afd23ff9133bd21a025594946b3abe?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml). <details><summary>Additional details and impacted files</summary> [![Impacted file tree graph](https://app.codecov.io/gh/juaml/junifer/pull/349/graphs/tree.svg?width=650&height=150&src=pr&token=5H21JuZXMw&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml)](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) ```diff @@ Coverage Diff @@ ## main #349 +/- ## ========================================== + Coverage 88.00% 88.51% +0.50% ========================================== Files 114 114 Lines 5137 4937 -200 Branches 999 974 -25 ========================================== - Hits 4521 4370 -151 + Misses 456 413 -43 + Partials 160 154 -6 ``` | [Flag](https://app.codecov.io/gh/juaml/junifer/pull/349/flags?src=pr&el=flags&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | Coverage Δ | | |---|---|---| | [docs](https://app.codecov.io/gh/juaml/junifer/pull/349/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | `100.00% <ø> (ø)` | | Flags with carried forward coverage won't be shown. [Click here](https://docs.codecov.io/docs/carryforward-flags?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#carryforward-flags-in-the-pull-request-comment) to find out more. | [Files](https://app.codecov.io/gh/juaml/junifer/pull/349?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | Coverage Δ | | |---|---|---| | [junifer/markers/base.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Fbase.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2Jhc2UucHk=) | `97.50% <ø> (+3.16%)` | :arrow_up: | | [junifer/markers/brainprint.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Fbrainprint.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2JyYWlucHJpbnQucHk=) | `46.77% <ø> (+5.82%)` | :arrow_up: | | [junifer/markers/complexity/complexity\_base.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Fcomplexity%2Fcomplexity_base.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2NvbXBsZXhpdHkvY29tcGxleGl0eV9iYXNlLnB5) | `94.73% <ø> (-1.42%)` | :arrow_down: | | [junifer/markers/ets\_rss.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Fets_rss.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2V0c19yc3MucHk=) | `100.00% <ø> (ø)` | | | [junifer/markers/falff/falff\_base.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffalff%2Ffalff_base.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2ZhbGZmL2ZhbGZmX2Jhc2UucHk=) | `70.96% <ø> (+1.40%)` | :arrow_up: | | [junifer/markers/falff/falff\_parcels.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffalff%2Ffalff_parcels.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2ZhbGZmL2ZhbGZmX3BhcmNlbHMucHk=) | `100.00% <ø> (ø)` | | | [junifer/markers/falff/falff\_spheres.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffalff%2Ffalff_spheres.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2ZhbGZmL2ZhbGZmX3NwaGVyZXMucHk=) | `100.00% <ø> (ø)` | | | [...ivity/crossparcellation\_functional\_connectivity.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffunctional_connectivity%2Fcrossparcellation_functional_connectivity.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2Z1bmN0aW9uYWxfY29ubmVjdGl2aXR5L2Nyb3NzcGFyY2VsbGF0aW9uX2Z1bmN0aW9uYWxfY29ubmVjdGl2aXR5LnB5) | `100.00% <ø> (ø)` | | | [...nnectivity/edge\_functional\_connectivity\_parcels.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffunctional_connectivity%2Fedge_functional_connectivity_parcels.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2Z1bmN0aW9uYWxfY29ubmVjdGl2aXR5L2VkZ2VfZnVuY3Rpb25hbF9jb25uZWN0aXZpdHlfcGFyY2Vscy5weQ==) | `100.00% <ø> (ø)` | | | [...nnectivity/edge\_functional\_connectivity\_spheres.py](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree&filepath=junifer%2Fmarkers%2Ffunctional_connectivity%2Fedge_functional_connectivity_spheres.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2Z1bmN0aW9uYWxfY29ubmVjdGl2aXR5L2VkZ2VfZnVuY3Rpb25hbF9jb25uZWN0aXZpdHlfc3BoZXJlcy5weQ==) | `88.23% <ø> (-1.77%)` | :arrow_down: | | ... and [12 more](https://app.codecov.io/gh/juaml/junifer/pull/349?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | | </details>
fraimondo (Migrated from github.com) approved these changes 2024-07-17 09:49:27 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
juaml/junifer!349
No description provided.