[ENH]: Introduce MapsRegistry #458

Merged
synchon merged 20 commits from feat/maps-registry into main 2025-09-08 10:45:11 +00:00
synchon commented 2025-08-11 12:28:17 +00:00 (Migrated from github.com)
  • description of feature/fix
  • tests added/passed
  • add an entry for the latest changes

This PR introduces MapsRegistry for centralized management of maps (probabilistic atlas / parcellations).

* [x] description of feature/fix * [x] tests added/passed * [x] add an entry for the latest changes This PR introduces `MapsRegistry` for centralized management of maps (probabilistic atlas / parcellations).
codecov[bot] commented 2025-08-11 12:59:44 +00:00 (Migrated from github.com)

Codecov Report

❌ Patch coverage is 99.18699% with 1 line in your changes missing coverage. Please review.
✅ Project coverage is 91.45%. Comparing base (87e0d07) to head (2849dc7).
⚠️ Report is 22 commits behind head on main.

Files with missing lines Patch % Lines
junifer/data/maps/_maps.py 98.90% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #458      +/-   ##
==========================================
+ Coverage   91.29%   91.45%   +0.16%     
==========================================
  Files         136      140       +4     
  Lines        5764     5887     +123     
  Branches      941      956      +15     
==========================================
+ Hits         5262     5384     +122     
  Misses        325      325              
- Partials      177      178       +1     
Flag Coverage Δ
docs 100.00% <ø> (ø)
junifer 91.45% <99.18%> (+0.16%) ⬆️

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

Files with missing lines Coverage Δ
junifer/data/_dispatch.py 93.58% <100.00%> (+0.08%) ⬆️
junifer/data/maps/__init__.py 100.00% <100.00%> (ø)
junifer/data/maps/_ants_maps_warper.py 100.00% <100.00%> (ø)
junifer/data/maps/_fsl_maps_warper.py 100.00% <100.00%> (ø)
junifer/data/masks/_masks.py 69.85% <ø> (ø)
junifer/data/parcellations/_parcellations.py 93.00% <ø> (ø)
junifer/data/maps/_maps.py 98.90% <98.90%> (ø)
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
## [Codecov](https://app.codecov.io/gh/juaml/junifer/pull/458?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) Report :x: Patch coverage is `99.18699%` with `1 line` in your changes missing coverage. Please review. :white_check_mark: Project coverage is 91.45%. Comparing base ([`87e0d07`](https://app.codecov.io/gh/juaml/junifer/commit/87e0d07bdd92d3a823464c609ca704978b3f2b5d?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml)) to head ([`2849dc7`](https://app.codecov.io/gh/juaml/junifer/commit/2849dc7a57273d3ee101977ce44cecf2b1367b41?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml)). :warning: Report is 22 commits behind head on main. | [Files with missing lines](https://app.codecov.io/gh/juaml/junifer/pull/458?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | Patch % | Lines | |---|---|---| | [junifer/data/maps/\_maps.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmaps%2F_maps.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hcHMvX21hcHMucHk=) | 98.90% | [0 Missing and 1 partial :warning: ](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&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/458/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/458?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) ```diff @@ Coverage Diff @@ ## main #458 +/- ## ========================================== + Coverage 91.29% 91.45% +0.16% ========================================== Files 136 140 +4 Lines 5764 5887 +123 Branches 941 956 +15 ========================================== + Hits 5262 5384 +122 Misses 325 325 - Partials 177 178 +1 ``` | [Flag](https://app.codecov.io/gh/juaml/junifer/pull/458/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/458/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | `100.00% <ø> (ø)` | | | [junifer](https://app.codecov.io/gh/juaml/junifer/pull/458/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | `91.45% <99.18%> (+0.16%)` | :arrow_up: | 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 with missing lines](https://app.codecov.io/gh/juaml/junifer/pull/458?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | Coverage Δ | | |---|---|---| | [junifer/data/\_dispatch.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2F_dispatch.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL19kaXNwYXRjaC5weQ==) | `93.58% <100.00%> (+0.08%)` | :arrow_up: | | [junifer/data/maps/\_\_init\_\_.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmaps%2F__init__.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hcHMvX19pbml0X18ucHk=) | `100.00% <100.00%> (ø)` | | | [junifer/data/maps/\_ants\_maps\_warper.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmaps%2F_ants_maps_warper.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hcHMvX2FudHNfbWFwc193YXJwZXIucHk=) | `100.00% <100.00%> (ø)` | | | [junifer/data/maps/\_fsl\_maps\_warper.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmaps%2F_fsl_maps_warper.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hcHMvX2ZzbF9tYXBzX3dhcnBlci5weQ==) | `100.00% <100.00%> (ø)` | | | [junifer/data/masks/\_masks.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmasks%2F_masks.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hc2tzL19tYXNrcy5weQ==) | `69.85% <ø> (ø)` | | | [junifer/data/parcellations/\_parcellations.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fparcellations%2F_parcellations.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL3BhcmNlbGxhdGlvbnMvX3BhcmNlbGxhdGlvbnMucHk=) | `93.00% <ø> (ø)` | | | [junifer/data/maps/\_maps.py](https://app.codecov.io/gh/juaml/junifer/pull/458?src=pr&el=tree&filepath=junifer%2Fdata%2Fmaps%2F_maps.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hcHMvX21hcHMucHk=) | `98.90% <98.90%> (ø)` | | </details> <details><summary> :rocket: New features to boost your workflow: </summary> - :snowflake: [Test Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests, report on failures, and find test suite problems. </details>
github-actions[bot] commented 2025-08-11 13:10:49 +00:00 (Migrated from github.com)
PR Preview Action v1.6.2
Preview removed because the pull request was closed.
2025-09-08 11:24 UTC
[PR Preview Action](https://github.com/rossjrw/pr-preview-action) v1.6.2 :---: Preview removed because the pull request was closed. 2025-09-08 11:24 UTC <!-- Sticky Pull Request Commentpr-preview -->
fraimondo commented 2025-08-12 17:10:22 +00:00 (Migrated from github.com)

Can we add some tests for maps warping? We have 0 coverage on the warpers.

Can we add some tests for maps warping? We have 0 coverage on the warpers.
synchon commented 2025-08-13 09:11:55 +00:00 (Migrated from github.com)

Can we add some tests for maps warping? We have 0 coverage on the warpers.

We have similar coverage reporting structure as the parcellations. There's a test for template space warping via ANTs and the native one takes way too much time (hence we didn't have it for parcellation as well). For the FSL one, it only does native space warping, so we don't have a test for that as well.

> Can we add some tests for maps warping? We have 0 coverage on the warpers. We have similar coverage reporting structure as the parcellations. There's a test for template space warping via ANTs and the native one takes way too much time (hence we didn't have it for parcellation as well). For the FSL one, it only does native space warping, so we don't have a test for that as well.
fraimondo (Migrated from github.com) requested changes 2025-09-08 06:44:25 +00:00
@ -743,5 +743,39 @@ Available
Planned
fraimondo (Migrated from github.com) commented 2025-09-08 06:42:26 +00:00

mask -> map

`mask` -> `map`
fraimondo (Migrated from github.com) approved these changes 2025-09-08 09:58:57 +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!458
No description provided.