bids-standard / bids-starter-kit

The Starter-kit has moved to the new BIDS website.
https://bids-website.readthedocs.io/en/latest/getting_started/
Creative Commons Attribution 4.0 International
263 stars 110 forks source link

Utilize templates for our scripts #47

Open choldgraf opened 6 years ago

choldgraf commented 6 years ago

Right now we have scripts that use python/matlab to generate various BIDS structures, e..g.:

Python: https://github.com/choldgraf/bids-starter-kit/blob/master/pythonCode/createBIDS_dataset_description_json.py

Matlab: https://github.com/INCF/bids-starter-kit/blob/master/matlabCode/createBIDS_dataset_description_json.m

Whereas we also have a nicely-detailed template that's language-agnostic and in the "final" BIDS format: https://github.com/INCF/bids-starter-kit/blob/master/templates/dataset_description.json

I propose that, wherever we have a pre-defined template such as this, instead of re-creating the same structure with raw matlab/python, we provide code to read in the template and show how to update the fields. This would make things much easier to maintain, and separates out the data structure from the scripting code itself.

What do folks think? If y'all are +1, I think this would be a great new contributor issue as well

dorahermes commented 6 years ago

I am happy that you like the templates.

I actually like the raw scripts, first because they have descriptions of what to enter in each field and second because the Matlab script can be used to create metadata for several subjects at once.

I agree with the fact that it is difficult that the same template is generated by both the Matlab and Python code. However, this could be a sanity check for when people contribute R/Julia/? scripts.

KirstieJane commented 6 years ago

Ohhh - I'm working upwards from old to new and I realise that this conversation should also be incorporated into #58 and #57....... sorry for somewhat confusing the issue.

Can I suggest that we have "philosophical" discussions at #57 and close that issue out first, and then return to this issue (and the very highly related #58) once we're done there?

choldgraf commented 6 years ago

+1