Hello David,
Glad to hear clinica helped you in your project ! I am unsure as to why these modalities conversions were not implemented. It is either it was no present in OASIS3 at the time and/or nobody needed these. We would be glad to help and review your code if you decided to work on it since we were not planning on adding these ourselves. For parts of the repository you need to read you can concentrate on clinica/converters/oasis3_to_bids as not all our converters work the same way and it is quite specific. Sadly it is not very well described (missing docstrings...) or tested so it might not be very clear to understand without running it with breakpoints so don't hesitate if you have questions.
For potential issues you might face :
- fmri BOLD : the images are well defined in the clinical data we already download for the converter. All you need to do I think is modifying the mapping defined at line 149 in `oasis3_to_bids/_utils.py`. Any modality that is not defined in the mapping will not be converted.
- Tau PET : is a bit more tricky. It is not defined in the csv that lists all the PET scans which we currently use for all other PET modalities. That means you would need to search for where these clinical data are because we cannot convert without them. By investigating quickly I saw it was in a project "OASIS3 - AV1451" but I don't where to retrieve its clinical data. If you find them that would mean we need to modify the converter to be able to load it, curate it and merge it with other csv properly.
Otherwise, if you decide to continue with this, I suggest we do the following :
- I set up a specific branch different from `dev` in the repository (for example named oasis3_adding_modalities)
- You can make you own fork (see the contributing guide
here in the documentation) after that.
- When you want to make a modification you set-up a branch originating from oasis3_adding_modalities and do a PR pointing that branch, not dev
- If you know how to do it don't hesitate to unit test functions you add
- We review, make comments, validate, merge
- We handle stuff on our side like the continuous integration data and tests, coding styles, etc on this branch
- We merge the oasis3_adding_modalities branch into dev when we are all happy with it
Additional requirements :
- We use a linter for coding style which I think is suggested when you commit for the first time and don't have it. We ask you to use it to match the rest of the codebase
- We follow BIDS specifications as much as possible but I don't think it's going to come into play here
- It's good to test the converter on real data from OASIS3 and we suggest you do it when coding what you need. When you are finished you can send the list of subjects you used so we can enrich the testing database for OASIS3.
What do you think of this ? Do not hesitate to ask if any of what I said was unclear.
Best,
Alice