How to download data from figshare?#

Following How to download data from the server?, this notebook shows how to download the same data from figshare.

[1]:
from polpo.preprocessing.load.pregnancy.pilot import (
    FigsharePregnancyDataLoader,
    MriLoader,
)
[2]:
SESSION_ID = 1

folder_name = f"ses-{str(SESSION_ID).zfill(2)}"

loader = FigsharePregnancyDataLoader(
    data_dir="~/.herbrain/data/pregnancy/mri",
    remote_path=f"mri/{folder_name}",
)

loader()
[2]:
'/home/luisfpereira/.herbrain/data/pregnancy/mri/ses-01'

The most general FigShareDataLoader could also be used, but FigsharePregnancyDataLoader has more guard rails at instantiation.

MriLoader conveniently wraps FigsharePregnancyDataLoader for the use case shown in this slide. The following is equivalent to the above (except it outputs a dict).

[3]:
loader = MriLoader(subset=[SESSION_ID])

loader()
[3]:
{1: '/home/luisfpereira/.herbrain/data/pregnancy/raw/mri/ses-01/BrainNormalizedToTemplate.nii.gz'}

Tip: ppdict.ExtractUniqueKey if needed!

Further reading#