FZJ-INM1-BDA / siibra-configurations

1 stars 1 forks source link

Julich Brain 3.0 and 3.1 (prerelease) have some PMAPs that are not masked with the templates #4

Closed xgui3783 closed 4 days ago

xgui3783 commented 1 year ago

as of 0.4a63

sample code:

import siibra

pt_spec = siibra.Point.parse("18.505544mm,-1.754904mm,33.293708mm")
pt = siibra.Point(pt_spec, space=siibra.spaces['mni152'])
statmap = siibra.get_map("3.0.3", "mni152", "statistical")
df = statmap.assign(pt)
print(len(df)) # expects 0, got 1
print(df['region']) # expects None, got `Ventral Dentate Nucleus (Cerebellum) right`

atlas location clearly does not point to any region

related https://github.com/FZJ-INM1-BDA/siibra-explorer/issues/1401

AhmetNSimsek commented 1 year ago

The labelled map indeed returns empty. With statistical map, the map value is 0.0. The assignment should not have passed as the threshold is 0.0. I will investigate.

AhmetNSimsek commented 1 year ago

The assignmnet values is 2.6801472152726546e-09 but this shows up as zero (I think due to relative tolerance). We can remedy this by changing the threshold from 0.0 to sth more reasonable as the default value. What do you think @xgui3783 and @dickscheid ?

AhmetNSimsek commented 10 months ago

Any non-zero assignment is an assignment and user can utilize a different threshold if they wish to. Perhaps siibra-explorer can call this with a different threshold, @xgui3783 ?

xgui3783 commented 10 months ago

We can certainly use a preset threshold.

But what should we use? 0.05? I heard from statistian friends that that's usually significant enough (/joke)

AhmetNSimsek commented 10 months ago

It seems only 4 digits are visible after the comma. I'd say then at least 0.0001. But I think Timo should have the final say. (There is a point in the agenda already, we can clarify this week.)

xgui3783 commented 9 months ago

As discussed on developmeent meeting on 2024-01-17, this issue should be addressed the following way:

AhmetNSimsek commented 9 months ago

It is indeed correct. I passed the info forward to Julich Brain team. As the code is functioning correctly and it is in fact a data issue (if it is an issue, they will tell me as well), I am transferring this to siibra-configurations.

dickscheid commented 9 months ago

I agree it should be solved on the data side. Using a default threshold is difficult, since the interpretation of values is different for different maps (e.g. difumo vs. julich-brain). Of course it should be possible to use a threshold, but it needs to be explicit, not implicit then. If no threshold is given, which should be the default in my eyes, the dataset (parcellation map) defines which regions are assigned with its nonzero values. Of course, the given example is anything else than intuitive and should be clarified.

AhmetNSimsek commented 9 months ago

I've just talked with Hartmut who confirmed it is an error. He will check his original data and contact us.

AhmetNSimsek commented 9 months ago

I've just talked with Hartmut who confirmed it is an error. He will check his original data and contact us.

Hartmut said it is indeed a data issue at the source. This will be remedied for Julich Brain 3.1.

AhmetNSimsek commented 4 days ago

It is remedied with full release of 3.1. 3.0 cannot be fixed since it is released already and there is a new minor version (3.1)