Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Find an alternative to ClinicaSurfStat #643

Closed
ghisvail opened this issue Apr 19, 2022 · 5 comments · Fixed by #669
Closed

Find an alternative to ClinicaSurfStat #643

ghisvail opened this issue Apr 19, 2022 · 5 comments · Fixed by #669
Assignees
Labels
enhancement New feature or request

Comments

@ghisvail
Copy link
Collaborator

Clinica implements its own wrapper around SurfStat, a MATLAB toolbox for statistical analysis of surface and volumetric data. MATLAB runtime management is a pain and nipype has been of great help to offset that pain away. That being said, the least amount of custom MATLAB code we maintain within Clinica the better.

There has been a new toolbox in the block called BrainStat, inspired by SurfStat, but also implemented in Python and available under a permissive license. This may be a good candidate for replacing ClinicaSurfStat in the long run.

@ghisvail ghisvail added the enhancement New feature or request label Apr 19, 2022
@NicolasGensollen
Copy link
Member

I agree that getting rid of MATLAB code is very valuable in the long run.
I don't know BrainStat well so I don't have a strong feeling about it being the right tool for the job or not.
By looking at the project, it is indeed relatively new and mostly developed by two contributors. I'm thus a little bit worried about its stability and its long term maintenance.
This might be a stupid question, but could other, more stable tools (like Nilearn for example which is already in Clinica's dependencies) also be good candidates for this? I can investigate if this is unclear.

@ghisvail
Copy link
Collaborator Author

I don't know BrainStat well so I don't have a strong feeling about it being the right tool for the job or not.

They are explicitly targeting themselves as a SurfStat replacement in their publication, hence why it caught my interest whilst looking for an alternative. I am guessing the naming similarity is not an accident either.

By looking at the project, it is indeed relatively new and mostly developed by two contributors. I'm thus a little bit worried about its stability and its long term maintenance.

Versus zero for our custom wrapper around SurfStat, which was one of the risks raised during last meeting.

This might be a stupid question, but could other, more stable tools (like Nilearn for example which is already in Clinica's dependencies) also be good candidates for this? I can investigate if this is unclear.

I was looking for such tool and that's how I got to know BrainStat. If nilearn can implement this particular feature in Clinica, then that would be ideal.

I suspect porting SurfStat code to BrainStat may be easier since both are likely to share the same models and abstractions for analysing surfaces and volumes. We'd have to see what's already available in nilearn for comparison.

@ghisvail ghisvail changed the title Replace ClinicaSurfStat by BrainStat Find an alternative to ClinicaSurfStat Apr 20, 2022
@omar-rifai
Copy link
Contributor

For what it's worth, Surfstat seems to cite an old version of BrainStat as a source :

SurfStat is a Matlab toolbox for the statistical analysis of univariate and multivariate surface and volumetric data using linear mixed effects models and random field theory. It is inspired by Jason Lerch's Thickness Statistics written in R, and Jonathan Taylor's BrainStat, part of NIPY, written in Python.

@omar-rifai
Copy link
Contributor

Also, it seems the new Python version is an "update" w.r.t Surfstat

fresh out there and potentially very helpful wrt this: Brainstat 14! It’s a drastically updated version of surfstat and is now also available in python

@github-actions
Copy link

This issue is considered stale because it has not received further activity for the last 14 days. You may remove the inactive label or add a comment, otherwise it will be closed after the next 14 days.

@github-actions github-actions bot added the inactive Issue or request has gone stale label Aug 15, 2022
@ghisvail ghisvail removed the inactive Issue or request has gone stale label Aug 29, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants