Skip to content

Representing physical hierarchy in MRdataset #12

@sinhaharsh

Description

@sinhaharsh

sample script below - it should be super easy for you to follow, i’ll show it to you and document is better later:

from pathlib import Path

from MRdataset.experiment import DicomDataset

base_dir = Path('/Users/Reddy/Downloads/dicom')
ds_name = 'vertical_subset_ABCD'  # 'ABCD'  # 'wpc7888'  #  'test_data'
dcm_root = base_dir / ds_name

# dcm_root = Path('/Users/Reddy/Downloads/dicom/wpc7888/2023.01.19-14.16.55/50250')

ds = DicomDataset(root=dcm_root, pattern='*', name=ds_name)
ds.load(refresh=False)

s1 = 'ABCD-Diffusion-FM-AP,_SIEMENS,_original_(baseline_year_1_arm_1)'
s2 = 'ABCD-Diffusion-FM-PA,_SIEMENS,_original_(baseline_year_1_arm_1)'

for subj, sess, r1, r2, seq1, seq2 in ds.traverse_vertical2(s1, s2):
    print(f'\n{subj} {sess:3} \n\t{str(seq1):>120} \n\t{str(seq2):>120}')

three_seqs = ['ABCD-DTI,_SIEMENS,_mosaic,_original_(baseline_year_1_arm_1)',
              'ABCD-Diffusion-FM-PA,_SIEMENS,_original_(baseline_year_1_arm_1)',
              'ABCD-Diffusion-FM-AP,_SIEMENS,_original_(baseline_year_1_arm_1)']

for subj, sess, runs, seqs in ds.traverse_vertical_multi(*three_seqs):
    print(f'\n{subj} {sess:3}')
    for rr, ss in zip(runs, seqs):
        print(f'\t{str(ss):>120}\t{rr}')


for seq in ds._seq_ids:
    print(f'\n{seq}')
    for subj, sess, run, seq in ds.traverse_horizontal(seq):
        print(f'\t {subj} {sess} {run}')


print('')

Slack

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions