[ENH]: Add space awareness to existing components #268

Merged
synchon merged 86 commits from enh/space-awareness into main 2023-10-26 12:27:58 +00:00
synchon commented 2023-10-18 15:13:15 +00:00 (Migrated from github.com)
  • description of feature/fix
  • tests added/passed
  • add an entry for the latest changes

This PR adds space awareness to existing components, enabling easy addition of spaces and transformation between them.

* [x] description of feature/fix * [x] tests added/passed * [x] add an entry for the latest changes This PR adds space awareness to existing components, enabling easy addition of spaces and transformation between them.
codecov[bot] commented 2023-10-18 15:20:40 +00:00 (Migrated from github.com)

Codecov Report

Merging #268 (02494a7) into main (995f786) will decrease coverage by 1.16%.
The diff coverage is 53.21%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main     #268      +/-   ##
==========================================
- Coverage   91.53%   90.37%   -1.16%     
==========================================
  Files          89       89              
  Lines        3922     4002      +80     
  Branches      759      773      +14     
==========================================
+ Hits         3590     3617      +27     
- Misses        225      274      +49     
- Partials      107      111       +4     
Flag Coverage Δ
docs 100.00% <ø> (ø)
junifer 90.37% <53.21%> (-1.16%) ⬇️

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

Files Coverage Δ
junifer/datagrabber/aomic/id1000.py 100.00% <100.00%> (ø)
junifer/datagrabber/aomic/piop1.py 97.72% <100.00%> (+0.10%) ⬆️
junifer/datagrabber/aomic/piop2.py 97.56% <100.00%> (+0.12%) ⬆️
junifer/datagrabber/base.py 98.36% <100.00%> (ø)
junifer/datagrabber/pattern.py 97.93% <ø> (ø)
junifer/datareader/default.py 100.00% <ø> (ø)
junifer/markers/base.py 94.11% <ø> (ø)
junifer/markers/collection.py 100.00% <100.00%> (ø)
junifer/testing/datagrabbers.py 100.00% <100.00%> (ø)
junifer/data/masks.py 83.33% <50.00%> (-13.10%) ⬇️
... and 2 more
## [Codecov](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) Report > Merging [#268](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) (02494a7) into [main](https://app.codecov.io/gh/juaml/junifer/commit/995f7867b08730052a197080fa28cfcc74bdaf09?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) (995f786) will **decrease** coverage by `1.16%`. > The diff coverage is `53.21%`. [![Impacted file tree graph](https://app.codecov.io/gh/juaml/junifer/pull/268/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/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) ```diff @@ Coverage Diff @@ ## main #268 +/- ## ========================================== - Coverage 91.53% 90.37% -1.16% ========================================== Files 89 89 Lines 3922 4002 +80 Branches 759 773 +14 ========================================== + Hits 3590 3617 +27 - Misses 225 274 +49 - Partials 107 111 +4 ``` | [Flag](https://app.codecov.io/gh/juaml/junifer/pull/268/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/268/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/268/flags?src=pr&el=flag&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | `90.37% <53.21%> (-1.16%)` | :arrow_down: | 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/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | Coverage Δ | | |---|---|---| | [junifer/datagrabber/aomic/id1000.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhZ3JhYmJlci9hb21pYy9pZDEwMDAucHk=) | `100.00% <100.00%> (ø)` | | | [junifer/datagrabber/aomic/piop1.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhZ3JhYmJlci9hb21pYy9waW9wMS5weQ==) | `97.72% <100.00%> (+0.10%)` | :arrow_up: | | [junifer/datagrabber/aomic/piop2.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhZ3JhYmJlci9hb21pYy9waW9wMi5weQ==) | `97.56% <100.00%> (+0.12%)` | :arrow_up: | | [junifer/datagrabber/base.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhZ3JhYmJlci9iYXNlLnB5) | `98.36% <100.00%> (ø)` | | | [junifer/datagrabber/pattern.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhZ3JhYmJlci9wYXR0ZXJuLnB5) | `97.93% <ø> (ø)` | | | [junifer/datareader/default.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhcmVhZGVyL2RlZmF1bHQucHk=) | `100.00% <ø> (ø)` | | | [junifer/markers/base.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2Jhc2UucHk=) | `94.11% <ø> (ø)` | | | [junifer/markers/collection.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9tYXJrZXJzL2NvbGxlY3Rpb24ucHk=) | `100.00% <100.00%> (ø)` | | | [junifer/testing/datagrabbers.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci90ZXN0aW5nL2RhdGFncmFiYmVycy5weQ==) | `100.00% <100.00%> (ø)` | | | [junifer/data/masks.py](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml#diff-anVuaWZlci9kYXRhL21hc2tzLnB5) | `83.33% <50.00%> (-13.10%)` | :arrow_down: | | ... and [2 more](https://app.codecov.io/gh/juaml/junifer/pull/268?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=juaml) | |
github-actions[bot] commented 2023-10-18 15:20:58 +00:00 (Migrated from github.com)
PR Preview Action v1.4.4
Preview removed because the pull request was closed.
2023-10-26 12:33 UTC
[PR Preview Action](https://github.com/rossjrw/pr-preview-action) v1.4.4 :---: Preview removed because the pull request was closed. 2023-10-26 12:33 UTC <!-- Sticky Pull Request Commentpr-preview -->
fraimondo commented 2023-10-18 15:29:30 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.
synchon commented 2023-10-18 16:35:07 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.

> Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch. Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.
fraimondo commented 2023-10-18 16:37:49 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.

perfect, will wait to review then.

> > Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch. > > Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits. perfect, will wait to review then.
synchon commented 2023-10-19 14:35:27 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.

perfect, will wait to review then.

Should be good to review now.

> > > Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch. > > > > > > Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits. > > perfect, will wait to review then. Should be good to review now.
synchon commented 2023-10-19 15:16:10 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.

perfect, will wait to review then.

Should be good to review now.

Ok my bad, I corrected some stuff which broke the tests, will fix it.

> > > > Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch. > > > > > > > > > Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits. > > > > > > perfect, will wait to review then. > > Should be good to review now. Ok my bad, I corrected some stuff which broke the tests, will fix it.
synchon commented 2023-10-20 10:00:07 +00:00 (Migrated from github.com)

Does it make sense to tackle #255 on this one to? Basically instead of using MNI use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch.

Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits.

perfect, will wait to review then.

Should be good to review now.

Ok my bad, I corrected some stuff which broke the tests, will fix it.

Good for review now.

> > > > > Does it make sense to tackle #255 on this one to? Basically instead of using `MNI` use the right MNI and then raise error if the space does not match. Otherwise this will be corrected in the next days, giving an somehow unstable main branch. > > > > > > > > > > > > Yes totally. That's my plan as well. Will spend some time to get it correct and then we can add native space with a couple of commits. > > > > > > > > > perfect, will wait to review then. > > > > > > Should be good to review now. > > Ok my bad, I corrected some stuff which broke the tests, will fix it. Good for review now.
fraimondo (Migrated from github.com) requested changes 2023-10-23 09:28:12 +00:00
@ -279,6 +282,7 @@ Available
| ``TianxS2x3TxMNInonlinear2009cAsym``,
| ``TianxS3x3TxMNInonlinear2009cAsym``,
| ``TianxS4x3TxMNInonlinear2009cAsym``
fraimondo (Migrated from github.com) commented 2023-10-23 09:16:52 +00:00

We need to remove the space from the name.

We need to remove the space from the name.
@ -300,3 +305,4 @@
- ``MNI152NLin2009cAsym``
- 0.0.3
- | Shen, X., Tokoglu, F., Papademetris, X., Constable, R.T.
| Groupwise whole-brain parcellation from resting-state fMRI data
fraimondo (Migrated from github.com) commented 2023-10-23 09:16:39 +00:00

Since we add the space parameter, we need to remove the space from the name.

Since we add the `space` parameter, we need to remove the space from the name.
fraimondo (Migrated from github.com) commented 2023-10-23 09:17:56 +00:00

How sure are we that is the Linear 6th Gen Asymmetric?

How sure are we that is the Linear 6th Gen Asymmetric?
@ -214,3 +252,4 @@
all_spaces = []
for t_mask in true_masks:
if isinstance(t_mask, dict):
mask_name = next(iter(t_mask.keys()))
fraimondo (Migrated from github.com) commented 2023-10-23 09:23:01 +00:00

We can't intersect masks in different MNI spaces.

We can't intersect masks in different MNI spaces.
@ -42,7 +45,7 @@ if TYPE_CHECKING:
# TODO: have separate dictionary for built-in
fraimondo (Migrated from github.com) commented 2023-10-23 09:19:19 +00:00

Name should be SUIT

Name should be SUIT
@ -100,4 +107,4 @@
}
elif year == 2019:
_available_parcellations["Shen_2019_368"] = {
"family": "Shen",
fraimondo (Migrated from github.com) commented 2023-10-23 09:23:51 +00:00

Same here for the names, it should not contain the space now that we have a dedicated field.

Same here for the names, it should not contain the space now that we have a dedicated field.
@ -236,17 +258,89 @@ def get_parcellation(
)
fraimondo (Migrated from github.com) commented 2023-10-23 09:24:12 +00:00

we only merge when it's the same space.

we only merge when it's the same space.
@ -121,6 +121,10 @@ class DataladAOMICID1000(PatternDataladDataGrabber):
out = super().get_item(subject=subject)
fraimondo (Migrated from github.com) commented 2023-10-23 09:25:26 +00:00

We need to find the right MNI space version.

We need to find the right MNI space version.
@ -166,8 +166,12 @@ class DataladAOMICPIOP1(PatternDataladDataGrabber):
out = super().get_item(subject=subject, task=new_task)
fraimondo (Migrated from github.com) commented 2023-10-23 09:25:49 +00:00

get right space name

get right space name
@ -166,6 +166,10 @@ class DataladAOMICPIOP2(PatternDataladDataGrabber):
out = super().get_item(subject=subject, task=f"{task}_acq-seq")
fraimondo (Migrated from github.com) commented 2023-10-23 09:25:34 +00:00

same here

same here
@ -55,7 +55,10 @@ class OasisVBMTestingDataGrabber(BaseDataGrabber):
"""
fraimondo (Migrated from github.com) commented 2023-10-23 09:27:37 +00:00

I'd rather use the right space here, so we test correctly the masks/parecellations.

I'd rather use the right space here, so we test correctly the masks/parecellations.
@ -141,8 +144,8 @@ class SPMAuditoryTestingDataGrabber(BaseDataGrabber):
anat_fname = self.datadir / f"{subject}_T1w.nii.gz"
fraimondo (Migrated from github.com) commented 2023-10-23 09:27:45 +00:00

I'd rather use the right space here, so we test correctly the masks/parecellations.

I'd rather use the right space here, so we test correctly the masks/parecellations.
@ -236,12 +239,13 @@ class PartlyCloudyTestingDataGrabber(BaseDataGrabber):
"""
fraimondo (Migrated from github.com) commented 2023-10-23 09:27:48 +00:00

I'd rather use the right space here, so we test correctly the masks/parecellations.

I'd rather use the right space here, so we test correctly the masks/parecellations.
fraimondo (Migrated from github.com) commented 2023-10-23 09:28:09 +00:00

Do we need "space" for the confounds file? It does not make any sense to me.

Do we need "space" for the confounds file? It does not make any sense to me.
synchon (Migrated from github.com) reviewed 2023-10-23 09:46:30 +00:00
synchon (Migrated from github.com) commented 2023-10-23 09:46:30 +00:00

The mask was made with CAT12 which uses SPM12 and that uses its own template which is similar to MNI Linear 6th Generation Asymmetric, at least that's what I found out given the not-so-proper documentation.

The mask was made with CAT12 which uses SPM12 and that uses its own template which is similar to MNI Linear 6th Generation Asymmetric, at least that's what I found out given the not-so-proper documentation.
fraimondo (Migrated from github.com) requested changes 2023-10-24 09:44:36 +00:00
fraimondo (Migrated from github.com) left a comment

We need to update the tests so the data is not in "MNI" space but in "MNINLin6..." or something specific.

We need to update the tests so the data is not in "MNI" space but in "MNINLin6..." or something specific.
fraimondo (Migrated from github.com) commented 2023-10-24 09:23:38 +00:00

Can you check with @kaurao and Sam? They might have change the template. Mainly what I'm doubting is the Linear/NLinear difference.

Can you check with @kaurao and Sam? They might have change the template. Mainly what I'm doubting is the Linear/NLinear difference.
@ -214,3 +252,4 @@
all_spaces = []
for t_mask in true_masks:
if isinstance(t_mask, dict):
mask_name = next(iter(t_mask.keys()))
fraimondo (Migrated from github.com) commented 2023-10-24 09:26:20 +00:00

I think at this point we should not have the "inherit" as it was already computed before. Usually the "inherit" is a callable.

I think at this point we should not have the "inherit" as it was already computed before. Usually the "inherit" is a callable.
fraimondo (Migrated from github.com) commented 2023-10-24 09:27:24 +00:00

This will have conflicts with other non-MNI spaces. I think we need to check for either "native" or not any standard space supported by junifer.

This will have conflicts with other non-MNI spaces. I think we need to check for either "native" or not any standard space supported by junifer.
@ -42,7 +45,7 @@ if TYPE_CHECKING:
# TODO: have separate dictionary for built-in
fraimondo (Migrated from github.com) commented 2023-10-24 09:28:19 +00:00

To be done in another PR

To be done in another PR
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
fraimondo (Migrated from github.com) commented 2023-10-24 09:35:59 +00:00

We need confirmation that this is the exact space.

We need confirmation that this is the exact space.
@ -100,4 +107,4 @@
}
elif year == 2019:
_available_parcellations["Shen_2019_368"] = {
"family": "Shen",
fraimondo (Migrated from github.com) commented 2023-10-24 09:28:29 +00:00

To be done in another PR

To be done in another PR
@ -236,17 +258,89 @@ def get_parcellation(
)
fraimondo (Migrated from github.com) commented 2023-10-24 09:40:54 +00:00

Same as with masks. MNI is only one of the spaces we support. We also have SUIT. This will fail for non-native and non-MNI space.

Same as with masks. MNI is only one of the spaces we support. We also have SUIT. This will fail for non-native and non-MNI space.
@ -804,7 +907,11 @@ def _retrieve_suit(
resolution = closest_resolution(resolution, _valid_resolutions)
fraimondo (Migrated from github.com) commented 2023-10-24 09:42:38 +00:00

I would leave the right space and not just MNI in the filename. Even if this triggers a second download on old users.

I would leave the right space and not just MNI in the filename. Even if this triggers a second download on old users.
synchon (Migrated from github.com) reviewed 2023-10-24 12:17:37 +00:00
synchon (Migrated from github.com) commented 2023-10-24 12:17:37 +00:00

I wanted to get the native check in the native support PR. About standard spaces supported by junifer, there's not really a list of them now but in that case we need to make one, would you agree to making one?

I wanted to get the native check in the native support PR. About standard spaces supported by junifer, there's not really a list of them now but in that case we need to make one, would you agree to making one?
synchon (Migrated from github.com) reviewed 2023-10-24 12:25:34 +00:00
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
synchon (Migrated from github.com) commented 2023-10-24 12:25:33 +00:00

To be exactly specific, this is what SPM 12 uses: IXI549Space (ref). Now, on the MNI side, it's close to MNI152Lin6Asym (ref). So, I can change it to IXI549Space if you agree.

To be exactly specific, this is what SPM 12 uses: `IXI549Space` ([ref](https://bids-specification.readthedocs.io/en/latest/appendices/coordinate-systems.html)). Now, on the MNI side, it's close to `MNI152Lin6Asym` ([ref](https://www.lead-dbs.org/about-the-mni-spaces/)). So, I can change it to `IXI549Space` if you agree.
synchon (Migrated from github.com) reviewed 2023-10-24 12:25:58 +00:00
@ -236,17 +258,89 @@ def get_parcellation(
)
synchon (Migrated from github.com) commented 2023-10-24 12:25:58 +00:00

I wanted to get multi-space support in a different PR as we discussed.

I wanted to get multi-space support in a different PR as we discussed.
synchon (Migrated from github.com) reviewed 2023-10-25 09:54:46 +00:00
synchon (Migrated from github.com) commented 2023-10-25 09:54:46 +00:00

I checked and it's based on the TPM and Shooting GM masks from CAT12 which uses SPM12. SPM12 uses IXI549Space as its space and on the MNI side it's closest to MNI152Lin6Asym. So, like my other comment, I can change it to IXI549Space.

I checked and it's based on the TPM and Shooting GM masks from CAT12 which uses SPM12. SPM12 uses `IXI549Space` as its space and on the MNI side it's closest to `MNI152Lin6Asym`. So, like my other comment, I can change it to `IXI549Space`.
fraimondo (Migrated from github.com) reviewed 2023-10-25 10:04:29 +00:00
fraimondo (Migrated from github.com) commented 2023-10-25 10:04:29 +00:00

For me it does not make much sense to have a "list" of supported at this moment. A user can create a dataset with space "XYZ" and then add a mask/parcellation for such space and it should work.

Here the condition to test is "native" and not if it's MNI. As the idea is to warp from whatever the mask is to "native" space. Now this "whatever" needs to match the available transform space.

For me it does not make much sense to have a "list" of supported at this moment. A user can create a dataset with space "XYZ" and then add a mask/parcellation for such space and it should work. Here the condition to test is "native" and not if it's MNI. As the idea is to warp from whatever the mask is to "native" space. Now this "whatever" needs to match the available transform space.
fraimondo (Migrated from github.com) reviewed 2023-10-25 10:36:17 +00:00
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
fraimondo (Migrated from github.com) commented 2023-10-25 10:36:16 +00:00

Is not what I meant. They provide the atlas for SPM12, and that table shows the default.

From the paper:

Pre-processing was performed using Statistical Parametric Mapping subroutines (SPM5)

Later on:

normalized to the stereotaxic space of the Montreal Neurological Institute (MNI) template ([Ashburner and Friston, 2005]

But they don't specify which MNI space.

From the README of v2:

  • "AICHA was projected in the MNI space as defined by the SPM12 template ". I guess this is the IXI549Space

But again, we don't know much about the v1 or the "guess".

Is not what I meant. They provide the atlas for SPM12, and that table shows the default. From the paper: Pre-processing was performed using [Statistical Parametric Mapping](https://www.sciencedirect.com/topics/neuroscience/statistical-parametric-mapping) subroutines (SPM5) Later on: normalized to the stereotaxic space of the Montreal Neurological Institute (MNI) template ([Ashburner and Friston, 2005] But they don't specify which MNI space. From the README of v2: - "AICHA was projected in the MNI space as defined by the SPM12 template ". I guess this is the IXI549Space But again, we don't know much about the v1 or the "guess".
synchon (Migrated from github.com) reviewed 2023-10-25 10:40:10 +00:00
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
synchon (Migrated from github.com) commented 2023-10-25 10:40:09 +00:00

When you check https://www.gin.cnrs.fr/en/tools/aicha/ you would see they offer both v1 and v2 for SPM12 which we use. Now after that, it goes back to the reply I had earlier.

When you check https://www.gin.cnrs.fr/en/tools/aicha/ you would see they offer both v1 and v2 for SPM12 which we use. Now after that, it goes back to the reply I had earlier.
fraimondo (Migrated from github.com) reviewed 2023-10-25 10:52:39 +00:00
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
fraimondo (Migrated from github.com) commented 2023-10-25 10:52:39 +00:00

New take:

  1. Set it to IXI549Space
  2. Raise a "warning" when this atlas is being used as we are not so sure about the space.
  3. Contact the authors to clarify.

What do you think?

New take: 1) Set it to `IXI549Space` 2) Raise a "warning" when this atlas is being used as we are not so sure about the space. 3) Contact the authors to clarify. What do you think?
synchon (Migrated from github.com) reviewed 2023-10-25 12:28:01 +00:00
@ -61,27 +65,28 @@ for scale in range(1, 5):
"family": "Tian",
synchon (Migrated from github.com) commented 2023-10-25 12:28:01 +00:00

Sounds good.

Sounds good.
fraimondo (Migrated from github.com) approved these changes 2023-10-26 12:27:03 +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!268
No description provided.