psychoinformatics-de / datalad-hirni

DataLad extension for (semi-)automated, reproducible processing of (medical/neuro)imaging data
http://datalad.org
Other
5 stars 8 forks source link

Rule template is not a minimum working example #193

Open manuelakuhn opened 3 years ago

manuelakuhn commented 3 years ago

Adding the rule template as placeholder for rule file development can result in bids conversion issues as described in issue #192

Shouldn't the template be a working minimal example?

bpoldrack commented 3 years ago

Shouldn't the template be a working minimal example?

Depends on what you mean by "working". First of: So far it's only meant to be a minimal example of how to implement a custom rule in a technical sense (as in: "this is the interface / that's what you technically need to plug in your python code"). It is "working" in the sense, that you can configure it, thereby use it and produce a specification that is formally valid. However, that specification does not describe a meaningful conversion for any "real" DICOM files.

Working as in "you can actually convert something with the resulting specification" would only be possible/meaningful with respect to a particular set of DICOM files, since in reality there's pretty much no meaningful-for-BIDS information that is guarenteed to be present in the DICOM header fields (or to be present in a way that would always be the same). Kind of the point of hirni ;-) What's in there massively depends on who is producing the DICOMs.

It could be made to "work" with example DICOMs, though. But may be it's simpler to just solve #194, and clearly document: template is minimal in the sense described above, while default provides an example of something that actually works in a bunch of cases.

manuelakuhn commented 3 years ago

What I mean with working is not that it produces actual meaningful BIDS but working in sense of running through without errors.

But may be it's simpler to just solve #194, and clearly document: template is minimal in the sense described above, while default provides an example of something that actually works in a bunch of cases.

Yes, this could possibly solve the issue.