brainlife / ezbids

A web service for semi-automated conversion of raw imaging data to BIDS
https://brainlife.io/ezbids
MIT License
26 stars 13 forks source link

repetitive indexing of array #23

Closed soichih closed 3 years ago

soichih commented 3 years ago

In analyzer.py, I see code like this.

for i in range(len(data_list_unique_series)):    
        series_entities = {}
        SD = data_list_unique_series[i]['SeriesDescription']
        image_type = data_list_unique_series[i]['ImageType']
        EchoTime = data_list_unique_series[i]['EchoTime']
        TR = data_list_unique_series[i]['RepetitionTime'] 
for p in range(len(subject_protocol)):
    ...
    if object_img_array.dtype not in ['<i2', '<u2']: # Weird issue where data array is RGB instead of intger
        subject_protocol[p]['exclude'] = True
        subject_protocol[p]['error'] = 'The data array is for this acquisition is improper, likely suggesting some issue with the corresponding DICOMS'
        subject_protocol[p]['message'] = subject_protocol[p]['error']
        subject_protocol[p]['br_type'] = 'exclude'

We should avoid repetitive code like this. I am nott seeing why we couldn't do it this way instead.

for series in data_list_unique_series:
        series_entities = {}
        SD = series['SeriesDescription']

or

for protocol in subject_protocol:
        protocol['exclude'] = True
dlevitas commented 3 years ago

Fixed in b1a7f4b