Skip to content
This repository was archived by the owner on Dec 27, 2022. It is now read-only.

Commit 64edf20

Browse files
author
Adam Richie-Halford
committed
Fix t1w conversion
1 parent 418203a commit 64edf20

File tree

2 files changed

+23
-13
lines changed

2 files changed

+23
-13
lines changed

preafq/fetch_bids_s3.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ def separate_sessions(input_files, multiples_policy='sessions',
493493
site=input_files.site)
494494
)
495495

496-
t1w = input_files.files['t1w'][0]
496+
t1w = input_files.files['t1w']
497497

498498
# Take only the first freesurfer directory
499499
freesurfer_dirs = {

preafq/preafq.py

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import logging
66
import os
77
import os.path as op
8+
import subprocess
89

910
import boto3
1011
import nibabel as nib
@@ -29,8 +30,14 @@ def move_t1_to_freesurfer(t1_file):
2930
"""
3031
freesurfer_path = op.join(op.dirname(t1_file), 'freesurfer')
3132

32-
img = nib.load(t1_file)
33-
img.to_filename(op.join(freesurfer_path, 'mri', 'orig.mgz'))
33+
convert_cmd = 'mriconvert {in_:s} {out_:s}'.format(
34+
in_=t1_file, out_=op.join(freesurfer_path, 'mri', 'orig.mgz')
35+
)
36+
37+
fnull = open(os.devnull, 'w')
38+
cmd = subprocess.call(convert_cmd.split(),
39+
stdout=fnull,
40+
stderr=subprocess.STDOUT)
3441

3542

3643
def upload_to_s3(output_files, bucket, prefix, site, session, subject):
@@ -60,9 +67,8 @@ def upload_to_s3(output_files, bucket, prefix, site, session, subject):
6067
6168
Returns
6269
-------
63-
dict
64-
S3 keys for each output file. The dict keys are the same as the keys
65-
for the input parameter `output_files`
70+
list
71+
S3 keys for each output file
6672
"""
6773
s3 = boto3.client('s3')
6874

@@ -81,7 +87,7 @@ def filename2s3key(filename):
8187
Key=filename2s3key(file),
8288
)
8389

84-
return {k: filename2s3key(v) for k, v in output_files.items()}
90+
return [filename2s3key(f) for f in output_files]
8591

8692

8793
def pre_afq_individual(input_s3_keys, s3_prefix, out_bucket,
@@ -92,6 +98,8 @@ def pre_afq_individual(input_s3_keys, s3_prefix, out_bucket,
9298
directory=op.abspath(op.join(workdir, 'input')),
9399
)
94100

101+
move_t1_to_freesurfer(input_files.files['t1w'][0])
102+
95103
scratch_dir = op.join(workdir, 'scratch')
96104
out_dir = op.join(workdir, 'output')
97105

@@ -113,9 +121,11 @@ def pre_afq_individual(input_s3_keys, s3_prefix, out_bucket,
113121
if op.isfile(rel_path):
114122
out_files.append(rel_path.replace(out_dir + '/', '', 1))
115123

116-
upload_to_s3(output_files=out_files,
117-
bucket=out_bucket,
118-
prefix=s3_prefix,
119-
site=input_s3_keys.site,
120-
session=input_s3_keys.session,
121-
subject=input_s3_keys.subject)
124+
s3_output = upload_to_s3(output_files=out_files,
125+
bucket=out_bucket,
126+
prefix=s3_prefix,
127+
site=input_s3_keys.site,
128+
session=input_s3_keys.session,
129+
subject=input_s3_keys.subject)
130+
131+
return s3_output

0 commit comments

Comments
 (0)