Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if label is not None:
out_dir = 'TED.{0}.{1}'.format(ref_label, label)
else:
out_dir = 'TED.{0}'.format(ref_label)
out_dir = op.abspath(out_dir)
if not op.isdir(out_dir):
LGR.info('Creating output directory: {}'.format(out_dir))
os.mkdir(out_dir)
else:
LGR.info('Using output directory: {}'.format(out_dir))
if mask is None:
LGR.info('Computing adaptive mask')
else:
LGR.info('Using user-defined mask')
mask, masksum = utils.make_adaptive_mask(catd, getsum=True)
LGR.info('Computing adaptive T2* map')
if fitmode == 'all':
(t2s_limited, s0_limited,
t2s_full, s0_full) = decay.fit_decay(catd, tes, mask, masksum,
fittype)
else:
(t2s_limited, s0_limited,
t2s_full, s0_full) = decay.fit_decay_ts(catd, tes, mask, masksum,
fittype)
# set a hard cap for the T2* map/timeseries
# anything that is 10x higher than the 99.5 %ile will be reset to 99.5 %ile
cap_t2s = stats.scoreatpercentile(t2s_limited.flatten(), 99.5,
interpolation_method='lower')
LGR.debug('Setting cap on T2* map at {:.5f}'.format(cap_t2s * 10))
LGR.warning('Argument "manacc" requires argument "mixm".')
manacc = None
RepLGR.info("TE-dependence analysis was performed on input data.")
if mask is None:
LGR.info('Computing EPI mask from first echo')
first_echo_img = io.new_nii_like(ref_img, catd[:, 0, :])
mask = compute_epi_mask(first_echo_img)
RepLGR.info("An initial mask was generated from the first echo using "
"nilearn's compute_epi_mask function.")
else:
# TODO: add affine check
LGR.info('Using user-defined mask')
RepLGR.info("A user-defined mask was applied to the data.")
mask, masksum = utils.make_adaptive_mask(catd, mask=mask, getsum=True)
LGR.debug('Retaining {}/{} samples'.format(mask.sum(), n_samp))
io.filewrite(masksum, op.join(out_dir, 'adaptive_mask.nii'), ref_img)
os.chdir(out_dir)
LGR.info('Computing T2* map')
t2s_limited, s0_limited, t2s_full, s0_full = decay.fit_decay(
catd, tes, mask, masksum, fittype)
# set a hard cap for the T2* map
# anything that is 10x higher than the 99.5 %ile will be reset to 99.5 %ile
cap_t2s = stats.scoreatpercentile(t2s_limited.flatten(), 99.5,
interpolation_method='lower')
LGR.debug('Setting cap on T2* map at {:.5f}'.format(cap_t2s * 10))
t2s_limited[t2s_limited > cap_t2s * 10] = cap_t2s
io.filewrite(t2s_limited, op.join(out_dir, 't2sv.nii'), ref_img)
if mixm is not None and op.isfile(mixm):
shutil.copyfile(mixm, op.join(out_dir, 'meica_mix.1D'))
shutil.copyfile(mixm, op.join(out_dir, op.basename(mixm)))
elif mixm is not None:
raise IOError('Argument "mixm" must be an existing file.')
if ctab is not None and op.isfile(ctab):
shutil.copyfile(ctab, op.join(out_dir, 'comp_table.txt'))
shutil.copyfile(ctab, op.join(out_dir, op.basename(ctab)))
elif ctab is not None:
raise IOError('Argument "ctab" must be an existing file.')
os.chdir(out_dir)
lgr.info('++ Computing Mask')
mask, masksum = make_adaptive_mask(catd, minimum=False, getsum=True)
lgr.info('++ Computing T2* map')
t2s, s0, t2ss, s0s, t2sG, s0G = t2sadmap(catd, tes, mask, masksum,
start_echo=1)
# set a hard cap for the T2* map
# anything that is 10x higher than the 99.5 %ile will be reset to 99.5 %ile
cap_t2s = stats.scoreatpercentile(t2s.flatten(), 99.5,
interpolation_method='lower')
t2s[t2s > cap_t2s * 10] = cap_t2s
filewrite(t2s, op.join(out_dir, 't2sv'), ref_img)
filewrite(s0, op.join(out_dir, 's0v'), ref_img)
filewrite(t2ss, op.join(out_dir, 't2ss'), ref_img)
filewrite(s0s, op.join(out_dir, 's0vs'), ref_img)
filewrite(t2sG, op.join(out_dir, 't2svG'), ref_img)
filewrite(s0G, op.join(out_dir, 's0vG'), ref_img)