bids-examples icon indicating copy to clipboard operation
bids-examples copied to clipboard

MED example dataset (no data, only headers)

Open MEDFormat opened this issue 1 year ago • 12 comments

relates to https://github.com/bids-standard/bids-specification/pull/1956

MEDFormat avatar Oct 17 '24 17:10 MEDFormat

@MEDFormat you will have to rename the folders to comply with the BIDS data strcuture.

Remi-Gau avatar Oct 18 '24 10:10 Remi-Gau

What does that mean? MED & MEF (currently accepted by BIDS) require certain naming conventions.

Cheers, Matt

Matt Stead @.***

On Oct 18, 2024, at 4:55 AM, Remi Gau @.***> wrote:

@MEDFormat https://github.com/MEDFormat you will have to rename the folders to comply with the BIDS data strcuture.

— Reply to this email directly, view it on GitHub https://github.com/bids-standard/bids-examples/pull/469#issuecomment-2422192494, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATNKTHRSZ6SWWSZ7RBFUJJ3Z4DSLBAVCNFSM6AAAAABQEIQVVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRSGE4TENBZGQ. You are receiving this because you were mentioned.

MEDFormat avatar Oct 18 '24 11:10 MEDFormat

please check any of the other iEEG datasets in this repo and see how the files are named and try top match this.

for example

tree ../examples/ieeg_epilepsy 
../examples/ieeg_epilepsy
├── CHANGES
├── dataset_description.json
├── derivatives
├── participants.json
├── participants.tsv
├── README
└── sub-01
    ├── ses-postimp
    │   ├── anat
    │   │   └── sub-01_ses-postimp_T1w.nii.gz
    │   ├── ieeg
    │   │   ├── sub-01_ses-postimp_space-IXI549Space_coordsystem.json
    │   │   ├── sub-01_ses-postimp_space-IXI549Space_electrodes.tsv
    │   │   ├── sub-01_ses-postimp_space-ScanRAS_coordsystem.json
    │   │   ├── sub-01_ses-postimp_space-ScanRAS_electrodes.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_channels.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_events.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_ieeg.eeg
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_ieeg.json
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_ieeg.vhdr
    │   │   ├── sub-01_ses-postimp_task-seizure_run-01_ieeg.vmrk
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_channels.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_events.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_ieeg.eeg
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_ieeg.json
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_ieeg.vhdr
    │   │   ├── sub-01_ses-postimp_task-seizure_run-02_ieeg.vmrk
    │   │   ├── sub-01_ses-postimp_task-seizure_run-03_channels.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-03_events.tsv
    │   │   ├── sub-01_ses-postimp_task-seizure_run-03_ieeg.eeg
    │   │   ├── sub-01_ses-postimp_task-seizure_run-03_ieeg.json
    │   │   ├── sub-01_ses-postimp_task-seizure_run-03_ieeg.vhdr
    │   │   └── sub-01_ses-postimp_task-seizure_run-03_ieeg.vmrk
    │   └── sub-01_ses-postimp_scans.tsv
    └── ses-preimp
        ├── anat
        │   ├── sub-01_ses-preimp_T1w.json
        │   └── sub-01_ses-preimp_T1w.nii.gz
        └── sub-01_ses-preimp_scans.tsv

Given that MED has files listed under a folder I think you may have to follow what is done with MEG for meg.ds

tree ../examples/ds000246 
../examples/ds000246
├── CHANGES
├── dataset_description.json
├── participants.json
├── participants.tsv
├── README
├── sub-0001
│   ├── anat
│   │   └── sub-0001_T1w.nii.gz
│   ├── meg
│   │   ├── sub-0001_acq-LPA_photo.jpg
│   │   ├── sub-0001_acq-NAS_photo.jpg
│   │   ├── sub-0001_acq-RPA_photo.jpg
│   │   ├── sub-0001_coordsystem.json
│   │   ├── sub-0001_headshape.pos
│   │   ├── sub-0001_task-AEF_run-01_channels.tsv
│   │   ├── sub-0001_task-AEF_run-01_meg.ds
│   │   │   ├── BadChannels
│   │   │   ├── ChannelGroupSet.cfg
│   │   │   ├── ClassFile.cls
│   │   │   ├── MarkerFile.mrk
│   │   │   ├── sub-0001_task-AEF_run-01_meg.acq
│   │   │   ├── sub-0001_task-AEF_run-01_meg.eeg
│   │   │   ├── sub-0001_task-AEF_run-01_meg.hc
│   │   │   ├── sub-0001_task-AEF_run-01_meg.hist
│   │   │   ├── sub-0001_task-AEF_run-01_meg.infods
│   │   │   ├── sub-0001_task-AEF_run-01_meg.meg4
│   │   │   └── sub-0001_task-AEF_run-01_meg.res4
│   │   ├── sub-0001_task-AEF_run-01_meg.json
│   │   ├── sub-0001_task-AEF_run-02_channels.tsv
│   │   ├── sub-0001_task-AEF_run-02_meg.ds
│   │   │   ├── BadChannels
│   │   │   ├── ChannelGroupSet.cfg
│   │   │   ├── ClassFile.cls
│   │   │   ├── MarkerFile.mrk
│   │   │   ├── sub-0001_task-AEF_run-02_meg.acq
│   │   │   ├── sub-0001_task-AEF_run-02_meg.eeg
│   │   │   ├── sub-0001_task-AEF_run-02_meg.hc
│   │   │   ├── sub-0001_task-AEF_run-02_meg.hist
│   │   │   ├── sub-0001_task-AEF_run-02_meg.infods
│   │   │   ├── sub-0001_task-AEF_run-02_meg.meg4
│   │   │   ├── sub-0001_task-AEF_run-02_meg.newds
│   │   │   └── sub-0001_task-AEF_run-02_meg.res4
│   │   └── sub-0001_task-AEF_run-02_meg.json
│   └── sub-0001_scans.tsv
└── sub-emptyroom
    ├── meg
    │   ├── sub-emptyroom_task-noise_run-01_channels.tsv
    │   ├── sub-emptyroom_task-noise_run-01_meg.ds
    │   │   ├── BadChannels
    │   │   ├── ClassFile.cls
    │   │   ├── default.de
    │   │   ├── params.dsc
    │   │   ├── processing.cfg
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.acq
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.hc
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.hist
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.infods
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.meg4
    │   │   ├── sub-emptyroom_task-noise_run-01_meg.newds
    │   │   └── sub-emptyroom_task-noise_run-01_meg.res4
    │   └── sub-emptyroom_task-noise_run-01_meg.json
    └── sub-emptyroom_scans.tsv

Remi-Gau avatar Oct 18 '24 11:10 Remi-Gau

Can you point me to the MEF 3.0 example? I cannot find it, but MED will be almost identical.

MEDFormat avatar Oct 18 '24 11:10 MEDFormat

Contents: Here is a minimal MED tree with all possible file types: Global session records (data & indices) Segmented session records (data & indices) One time series channel (“ts_0001”) One video channel (“vid_0001”) Channel-level records (data & indices) Segment-level records (data & indices) Time series data (data & indices) Time series metadata Video data (data & indices) Video metadata

Tree: test.medd ├── test.rdat ├── test.recd │ ├── test_s0001.rdat │ └── test_s0001.ridx ├── test.ridx ├── ts_0001.ticd │ ├── ts_0001.rdat │ ├── ts_0001.ridx │ └── ts_0001_s0001.tisd │ ├── ts_0001_s0001.rdat │ ├── ts_0001_s0001.ridx │ ├── ts_0001_s0001.tdat │ ├── ts_0001_s0001.tidx │ └── ts_0001_s0001.tmet └── vid_0001.ticd ├── vid_0001.rdat ├── vid_0001.ridx └── vid_0001_s0001.tisd ├── vid_0001_s0001.rdat ├── vid_0001_s0001.ridx ├── vid_0001_s0001.tidx ├── vid_0001_s0001.tmet └── vid_0001_s0001_n0001.mp4

Descriptions: test.medd: “test” session directory test.medd/test.rdat session record data (unsegmented) test.medd/test..ridx session record indices (unsegmented)

test.medd/test.recd: “test” segmented session record directory test.medd/test.recd/test_s0001.rdat segment 1 session record data test.medd/test.recd/test_s0001.ridx segment 1 session record indices

test.medd/ts_0001.ticd: “ts_0001” time series channel directory test.medd/ts_0001.rdat: channel-level record data test.medd/ts_0001.ridx: channel-level record indices test.medd/ts_0001_s0001 segment 1 directory test.medd/ts_0001_s0001.tisd/ts_0001_s0001.rdat: segment-level record data test.medd/ts_0001_s0001.tisd/ts_0001_s0001.ridx: segment-level record indices test.medd/ts_0001_s0001.tisd/ts_0001_s0001.tdat: time series data test.medd/ts_0001_s0001.tisd/ts_0001_s0001.tidx: time series indices test.medd/ts_0001_s0001.tisd/ts_0001_s0001.tmet: time series metadata

test.medd/vid_0001.vicd: “vid_0001” video channel directory test.medd/vid_0001.rdat: channel-level record data test.medd/vid_0001.ridx: channel-level record indices test.medd/vid_0001_s0001 segment 1 directory test.medd/vid_0001_s0001.tisd/vid_0001_s0001.rdat: segment-level record data test.medd/vid_0001_s0001.tisd/vid_0001_s0001.ridx: segment-level record indices test.medd/vid_0001_s0001.tisd/vid_0001_s0001.vidx: video indices test.medd/vis_0001_s0001.tisd/vid_0001_s0001.vidx: video metadata test.medd/vid_0001_s0001.tisd/vid_0001_s0001_n0001.mp4: video data file 1 (mp4 format in this example)

How can I put this information into BIDS example?

Cheers, Matt

Matt Stead @.***

On Oct 18, 2024, at 5:00 AM, Contact MFO @.***> wrote:

What does that mean? MED & MEF (currently accepted by BIDS) require certain naming conventions.

Cheers, Matt

<MFO-Logo-GIF-small.gif>

Matt Stead @.***

On Oct 18, 2024, at 4:55 AM, Remi Gau @.***> wrote:

@MEDFormat https://github.com/MEDFormat you will have to rename the folders to comply with the BIDS data strcuture.

— Reply to this email directly, view it on GitHub https://github.com/bids-standard/bids-examples/pull/469#issuecomment-2422192494, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATNKTHRSZ6SWWSZ7RBFUJJ3Z4DSLBAVCNFSM6AAAAABQEIQVVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRSGE4TENBZGQ. You are receiving this because you were mentioned.

MEDFormat avatar Oct 18 '24 12:10 MEDFormat

Copy paste error above: "vid_0001_s0001.vidx" video metadata should have been: "vid_0001_s0001.vmet" video metadata

MEDFormat avatar Oct 18 '24 12:10 MEDFormat

Can you point me to the MEF 3.0 example?

AFAICT we do not have one

Remi-Gau avatar Oct 18 '24 13:10 Remi-Gau

Did you happen to see my last post?

If not, here is the MED tree (almost identical to MEF3 tree):

test.medd ├── test.rdat ├── test.recd │ ├── test_s0001.rdat │ └── test_s0001.ridx ├── test.ridx ├── ts_0001.ticd │ ├── ts_0001.rdat │ ├── ts_0001.ridx │ └── ts_0001_s0001.tisd │ ├── ts_0001_s0001.rdat │ ├── ts_0001_s0001.ridx │ ├── ts_0001_s0001.tdat │ ├── ts_0001_s0001.vidx │ └── ts_0001_s0001.vmet └── vid_0001.ticd ├── vid_0001.rdat ├── vid_0001.ridx └── vid_0001_s0001.tisd ├── vid_0001_s0001.rdat ├── vid_0001_s0001.ridx ├── vid_0001_s0001.vidx ├── vid_0001_s0001.vmet └── vid_0001_s0001_n0001.mp4

Cheers, Matt

Matt Stead @.***

On Oct 18, 2024, at 7:08 AM, Remi Gau @.***> wrote:

Can you point me to the MEF 3.0 example?

AFAICT we do not have one

— Reply to this email directly, view it on GitHub https://github.com/bids-standard/bids-examples/pull/469#issuecomment-2422440284, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATNKTHSTF7BWIY5YIZPH2L3Z4EB5VAVCNFSM6AAAAABQEIQVVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRSGQ2DAMRYGQ. You are receiving this because you were mentioned.

MEDFormat avatar Oct 18 '24 13:10 MEDFormat

NOTE: made this by hand - last tree had a couple of extension mistakes, apologies. This one is correct.

Did you happen to see my last post?

If not, here is the MED tree (almost identical to MEF3 tree):

test.medd ├── test.rdat ├── test.recd │ ├── test_s0001.rdat │ └── test_s0001.ridx ├── test.ridx ├── ts_0001.ticd │ ├── ts_0001.rdat │ ├── ts_0001.ridx │ └── ts_0001_s0001.tisd │ ├── ts_0001_s0001.rdat │ ├── ts_0001_s0001.ridx │ ├── ts_0001_s0001.tdat │ ├── ts_0001_s0001.tidx │ └── ts_0001_s0001.tmet └── vid_0001.vicd ├── vid_0001.rdat ├── vid_0001.ridx └── vid_0001_s0001.visd ├── vid_0001_s0001.rdat ├── vid_0001_s0001.ridx ├── vid_0001_s0001.vidx ├── vid_0001_s0001.vmet └── vid_0001_s0001_n0001.mp4

Cheers, Matt

Matt Stead @.***

On Oct 18, 2024, at 7:11 AM, Contact MFO @.***> wrote:

Did you happen to see my last post?

If not, here is the MED tree (almost identical to MEF3 tree):

test.medd ├── test.rdat ├── test.recd │ ├── test_s0001.rdat │ └── test_s0001.ridx ├── test.ridx ├── ts_0001.ticd │ ├── ts_0001.rdat │ ├── ts_0001.ridx │ └── ts_0001_s0001.tisd │ ├── ts_0001_s0001.rdat │ ├── ts_0001_s0001.ridx │ ├── ts_0001_s0001.tdat │ ├── ts_0001_s0001.vidx │ └── ts_0001_s0001.vmet └── vid_0001.ticd ├── vid_0001.rdat ├── vid_0001.ridx └── vid_0001_s0001.tisd ├── vid_0001_s0001.rdat ├── vid_0001_s0001.ridx ├── vid_0001_s0001.vidx ├── vid_0001_s0001.vmet └── vid_0001_s0001_n0001.mp4

Cheers, Matt

<MFO-Logo-GIF-small.gif>

Matt Stead @.***

On Oct 18, 2024, at 7:08 AM, Remi Gau @.***> wrote:

Can you point me to the MEF 3.0 example?

AFAICT we do not have one

— Reply to this email directly, view it on GitHub https://github.com/bids-standard/bids-examples/pull/469#issuecomment-2422440284, or unsubscribe https://github.com/notifications/unsubscribe-auth/ATNKTHSTF7BWIY5YIZPH2L3Z4EB5VAVCNFSM6AAAAABQEIQVVOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMRSGQ2DAMRYGQ. You are receiving this because you were mentioned.

MEDFormat avatar Oct 18 '24 13:10 MEDFormat

I think your dataset should be structured like this

├── dataset_description.json
├── README.md
└── sub-01
    └── sub-01_task-TaskName_ieeg.medd

where sub-01_task-TaskName_ieeg.medd is actually the test.medd from above.

Remi-Gau avatar Oct 18 '24 13:10 Remi-Gau

but you are going to require some extra json files

see https://bids-specification.readthedocs.io/en/stable/modality-specific-files/intracranial-electroencephalography.html#sidecar-json-_ieegjson

Remi-Gau avatar Oct 18 '24 13:10 Remi-Gau

@MEDFormat @Remi-Gau I've copied a pared down version of ieeg_epilepsy and replaced the _ieeg.* files with an _ieeg.medd directory and pushed to this PR.

Making some additional changes to adjust validator behavior, given that we aren't targeting the legacy validator and the schema changes havn't been merged yet.

effigies avatar Oct 18 '24 13:10 effigies

Closing for now. Can be revived if MED is re-added to BIDS' support list.

effigies avatar Aug 04 '25 19:08 effigies