Skip to content

Commit 5c86a78

Browse files
authored
Merge pull request #119 from mgxd/fix/qol
MAINT: general housekeeping
2 parents 8fca121 + fa08f22 commit 5c86a78

File tree

7 files changed

+72
-39
lines changed

7 files changed

+72
-39
lines changed

heudiconv/bids.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@
1414
import dcmstack as ds
1515

1616
from .parser import find_files
17-
from .utils import (load_json, save_json, create_file_if_missing,
18-
json_dumps_pretty, set_readonly, is_readonly)
17+
from .utils import (
18+
load_json,
19+
save_json,
20+
create_file_if_missing,
21+
json_dumps_pretty,
22+
set_readonly,
23+
is_readonly,
24+
)
1925

2026
lgr = logging.getLogger(__name__)
2127

heudiconv/cli/run.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
from .. import __version__, __packagename__
77
from ..parser import get_study_sessions
8-
from ..utils import (load_heuristic, anonymize_sid, treat_infofile, SeqInfo)
8+
from ..utils import load_heuristic, anonymize_sid, treat_infofile, SeqInfo
99
from ..convert import prep_conversion
1010

1111
import inspect

heudiconv/convert.py

Lines changed: 25 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,30 @@
33
import logging
44
import shutil
55

6-
from .utils import (read_config, load_json, save_json, write_config, TempDirs,
7-
safe_copyfile, treat_infofile, set_readonly,
8-
clear_temp_dicoms)
9-
from .bids import (convert_sid_bids, populate_bids_templates, save_scans_key,
10-
tuneup_bids_json_files, add_participant_record)
11-
from .dicoms import (group_dicoms_into_seqinfos, embed_metadata_from_dicoms,
12-
compress_dicoms)
6+
from .utils import (
7+
read_config,
8+
load_json,
9+
save_json,
10+
write_config,
11+
TempDirs,
12+
safe_copyfile,
13+
treat_infofile,
14+
set_readonly,
15+
clear_temp_dicoms,
16+
seqinfo_fields,
17+
)
18+
from .bids import (
19+
convert_sid_bids,
20+
populate_bids_templates,
21+
save_scans_key,
22+
tuneup_bids_json_files,
23+
add_participant_record,
24+
)
25+
from .dicoms import (
26+
group_dicoms_into_seqinfos,
27+
embed_metadata_from_dicoms,
28+
compress_dicoms
29+
)
1330

1431
lgr = logging.getLogger(__name__)
1532

@@ -115,6 +132,7 @@ def prep_conversion(sid, dicoms, outdir, heuristic, converter, anon_sid,
115132
filegroup = {si.series_id: x for si, x in seqinfo.items()}
116133
dicominfo_file = op.join(idir, 'dicominfo%s.tsv' % ses_suffix)
117134
with open(dicominfo_file, 'wt') as fp:
135+
fp.write('\t'.join([val for val in seqinfo_fields]) + '\n')
118136
for seq in seqinfo_list:
119137
fp.write('\t'.join([str(val) for val in seq]) + '\n')
120138
lgr.debug("Calling out to %s.infodict", heuristic)

heudiconv/dicoms.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,10 @@ def group_dicoms_into_seqinfos(files, file_filter, dcmfilter, grouping):
8585
if studyUID is None:
8686
studyUID = file_studyUID
8787
elif not per_accession_number:
88-
assert studyUID == file_studyUID
88+
assert studyUID == file_studyUID, (
89+
"Conflicting study identifiers found [{}, {}].".format(
90+
studyUID, file_studyUID
91+
))
8992
except AttributeError as exc:
9093
lgr.warning('Ignoring %s since not quite a "normal" DICOM: %s',
9194
filename, exc)

heudiconv/external/dlad.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import os.path as op
33
import logging
44

5-
from ..utils import (create_file_if_missing, mark_sensitive)
5+
from ..utils import create_file_if_missing, mark_sensitive
66

77
lgr = logging.getLogger(__name__)
88

heudiconv/parser.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,14 @@
1010
from tempfile import mkdtemp
1111

1212
from .dicoms import group_dicoms_into_seqinfos
13-
from .utils import (docstring_parameter, StudySessionInfo, load_json,
14-
save_json, create_file_if_missing, json_dumps_pretty)
13+
from .utils import (
14+
docstring_parameter,
15+
StudySessionInfo,
16+
load_json,
17+
save_json,
18+
create_file_if_missing,
19+
json_dumps_pretty,
20+
)
1521

1622
lgr = logging.getLogger(__name__)
1723

heudiconv/utils.py

Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -14,31 +14,31 @@
1414
from collections import namedtuple
1515
from glob import glob
1616

17-
SeqInfo = namedtuple(
18-
'SeqInfo',
19-
['total_files_till_now', # 0
20-
'example_dcm_file', # 1
21-
'series_id', # 2
22-
'unspecified1', # 3
23-
'unspecified2', # 4
24-
'unspecified3', # 5
25-
'dim1', 'dim2', 'dim3', 'dim4', # 6, 7, 8, 9
26-
'TR', 'TE', # 10, 11
27-
'protocol_name', # 12
28-
'is_motion_corrected', # 13
29-
'is_derived', # 14
30-
'patient_id', # 15
31-
'study_description', # 16
32-
'referring_physician_name', # 17
33-
'series_description', # 18
34-
'sequence_name', # 19
35-
'image_type', # 20
36-
'accession_number', # 21
37-
'patient_age', # 22
38-
'patient_sex', # 23
39-
'date' # 24
40-
]
41-
)
17+
seqinfo_fields = [
18+
'total_files_till_now', # 0
19+
'example_dcm_file', # 1
20+
'series_id', # 2
21+
'dcm_dir_name', # 3
22+
'unspecified2', # 4
23+
'unspecified3', # 5
24+
'dim1', 'dim2', 'dim3', 'dim4', # 6, 7, 8, 9
25+
'TR', 'TE', # 10, 11
26+
'protocol_name', # 12
27+
'is_motion_corrected', # 13
28+
'is_derived', # 14
29+
'patient_id', # 15
30+
'study_description', # 16
31+
'referring_physician_name', # 17
32+
'series_description', # 18
33+
'sequence_name', # 19
34+
'image_type', # 20
35+
'accession_number', # 21
36+
'patient_age', # 22
37+
'patient_sex', # 23
38+
'date' # 24
39+
]
40+
41+
SeqInfo = namedtuple('SeqInfo', seqinfo_fields)
4242

4343
StudySessionInfo = namedtuple(
4444
'StudySessionInfo',

0 commit comments

Comments
 (0)