Nipype: how to combine BIDSDatagrabber + S3DataGrabber

Hi everybody!

I would really like to grab a data set from OpenNeuro and read it in with the Nipype BIDSDataGrabber. My thoughts were to grab the data set from OpenNeuro with an S3DataGrabber, but this yields file names directly and loses the ability to feed it in as a directory to the BIDSDataGrabber. Does anybody know of a way to do this?

Visual example + screenshot: https://giraffe.tools/porcupine/TimVanMourik/S3BIDSDataGrabber

Thanks!

Tim

@TimVanMourik - this is not possible since S3DataGrabber does not output directories or was not intended to.

in general BIDSDataGrabber is intended to use pybids, which only operates on filesystem layouts. so the closest would be to download a directory with a Function Node, but that seems to defeat the point of only getting files as needed as opposed to all the files.

ps. were you able to fix the S3DataGrabber issues i posted during the coastal coding event with respect to templates and inputs?

Hi @satra, thanks for the quick reply! Ok, clear, not possible. That’s unfortunate but I understand that querying an s3 bucket looks is quite different from querying a local file system, so I’m not all too surprised.

Yes, sorry about not following up on that. Here’s an example that kinda does what we tried in Miami. It’s not a regex, but it is iterating over subjects and grabbing functional and structural data in one node https://giraffe.tools/porcupine/TimVanMourik/SomeGiraffeExample/s3
This should work out of the box. Mind you that it is branch s3 for if you want to execute it.

The implementation isn’t incredibly difficult but far from intuitive. And I found and fixed a small bug in my software, so it couldn’t have worked back then either way.

1 Like