aramis-lab / clinica

Software platform for clinical neuroimaging studies
http://www.clinica.run/
Other
220 stars 74 forks source link

Convert CAPs output to Leaspy-compliant input #276

Open omar-rifai opened 3 years ago

omar-rifai commented 3 years ago

Leaspy is a software package for statistical analysis of longitudinal medical data. There has been an interest in using Clinics-processed data as input to Leaspy.

As such, it would be helpful to have a integrated converter from Clinica pipelines outputs (CAPS) into Leaspy inputs.

Symcies commented 3 years ago

Leaspy consider three type of data :

Currently, Leaspyers have to write a code to parse the CAPS data (considered "raw") to convert them into the clean format. This code has been written multiple times (@JulietteOrtholand or Etienne Maheux) and should be stored somewhere once and for all.

On top of the dev specs as for the function that would do the "CAPS => Leaspy input" parsing + conversion, further thoughts should be given to where the following code stands. To be more precise, the previous formats are actually part of the proprietary Leaspype code, which is a wrapper around Leaspy.

As for now, this code will remain proprietary. So, should the parser be :

Symcies commented 3 years ago

Another point related to where the code should be

In fact, the clean data follow some conventions, in terms of naming (e.g. MMSE is MMSE_TOT) that are different from Clinica. These conventions are in Leaspype, which makes the code more likely to host the final convertor. [Additional point : We will probably need to modify the conventions on our side to properly host / deal with imaging data].

Also further thoughts should be given to :

mdiazmel commented 3 years ago

Hi @Symcies ,

Thanks for your comments concerning this issue.

As for now, this code will remain proprietary. So, should the parser be :

To answer your question about where the parser should live, I will exclude the two first options:

Among the two last option, I'll be up for creating a new package, that will depend on Leaspy and Clinica. It implies a little bit more of work but it seems as a proper solution.

ghisvail commented 3 years ago

the link with Clinica will be too weak and it should implies to add Clinica as dependency of Leaspy (in order to use the CAPS tools)

Not necessarily. Weak / optional dependencies are already well supported in Python with extras_require. I'd rather do pip install leaspy[all] than pip install leaspy <hang on what's the name of the other caps thing? dammit, gonna have to look in the docs>.

MKVatinyan commented 3 years ago

Hi all, I have never used Clinica and I don't have any use cases in mind, so it's a bit hard to participate to the discussion for me, sorry.

ghisvail commented 3 years ago

We can have a third package caps2leaspy and add [clinica, caps2leaspy] as optional dependencies in leaspy and maybe [leaspy, caps2leaspy] as optional dependencies in clinica ?

I think you mean introducing caps2leaspy dependent on clinica and leaspy, and listing caps2leaspy as optional dependency to both clinica and leaspy right?

MKVatinyan commented 3 years ago

We can have a third package caps2leaspy and add [clinica, caps2leaspy] as optional dependencies in leaspy and maybe [leaspy, caps2leaspy] as optional dependencies in clinica ?

I think you mean introducing caps2leaspy dependent on clinica and leaspy, and listing caps2leaspy as optional dependency to both clinica and leaspy right?

yes