Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if method == 'min_studies':
# number of studies
temp_df2 = temp_df.groupby('id')[['distance']].min()
temp_df2 = temp_df2.sort_values(by='distance')
sel_ids = temp_df2.iloc[:n_exps].index.values
elif method == 'min_distance':
# minimum distance
temp_df2 = temp_df.groupby('id')[['distance']].min()
sel_ids = temp_df2.loc[temp_df2['distance'] < r].index.values
# Run MACM
voxel_meta = meta_estimator(self.dataset, ids=sel_ids,
**kernel_args)
voxel_meta.fit(**meta_args)
voxel_arr[i_voxel, :] = apply_mask(voxel_meta.results['ale'],
self.mask)
# Correlate voxel-specific MACMs across voxels in ROI
voxel_corr = np.corrcoef(voxel_arr)
corr_dist = 1 - voxel_corr
# Step 2: Clustering
labels = np.zeros((n_voxels, len(n_parcels)))
metric_types = ['contiguous']
metrics = pd.DataFrame(index=n_parcels, columns=metric_types,
data=np.zeros((len(n_parcels),
len(metric_types))))
for i_parc, n_clusters in enumerate(n_parcels):
# K-Means clustering
_, labeled, _ = k_means(
corr_dist, n_clusters, init='k-means++',
The implemented algorithm does the following:
- compute sum of squares for each signals (no mean removal)
- keep a given percentile of signals with highest variance (percentile)
- compute an svd of the extracted signals
- return a given number (n_confounds) of signals from the svd with
highest singular values.
See also
--------
nilearn.signal.high_variance_confounds
"""
from .. import masking
if mask_img is not None:
sigs = masking.apply_mask(imgs, mask_img)
else:
# Load the data only if it doesn't need to be masked
imgs = check_niimg_4d(imgs)
sigs = as_ndarray(get_data(imgs))
# Not using apply_mask here saves memory in most cases.
del imgs # help reduce memory consumption
sigs = np.reshape(sigs, (-1, sigs.shape[-1])).T
return signal.high_variance_confounds(sigs, n_confounds=n_confounds,
percentile=percentile,
detrend=detrend)
cl2.inputs.threshold = cdt_z
cl2.inputs.pthreshold = q
cl2.inputs.in_file = op.join(work_dir, 'temp_zstat2.nii.gz')
cl2.inputs.cope_file = op.join(work_dir, 'temp_copes2.nii.gz')
cl2.inputs.use_mm = True
cl2.inputs.find_min = False
cl2.inputs.dlh = est_res.outputs.dlh
cl2.inputs.volume = est_res.outputs.volume
cl2.inputs.out_threshold_file = op.join(work_dir,
'thresh_zstat2.nii.gz')
cl2.inputs.connectivity = 26
cl2.inputs.out_localmax_txt_file = op.join(work_dir,
'lmax_zstat2_tal.txt')
cl2_res = cl2.run()
neg_z_map = apply_mask(nib.load(cl2_res.outputs.threshold_file), mask)
thresh_z_map = pos_z_map - neg_z_map
else:
thresh_z_map = pos_z_map
LGR.info('Cleaning up...')
rmtree(work_dir)
rmtree(res.outputs.stats_dir)
# Compile outputs
out_p_map = stats.norm.sf(abs(out_z_map)) * 2
log_p_map = -np.log10(out_p_map)
images = {'cope': out_cope_map,
'z': out_z_map,
'thresh_z': thresh_z_map,
't': out_t_map,
'p': out_p_map,
cl.inputs.use_mm = True
cl.inputs.find_min = False
cl.inputs.dlh = est_res.outputs.dlh
cl.inputs.volume = est_res.outputs.volume
cl.inputs.out_threshold_file = op.join(work_dir, 'thresh_zstat1.nii.gz')
cl.inputs.connectivity = 26
cl.inputs.out_localmax_txt_file = op.join(work_dir, 'lmax_zstat1_tal.txt')
cl_res = cl.run()
out_cope_img = nib.load(res.outputs.copes)
out_t_img = nib.load(res.outputs.tstats)
out_z_img = nib.load(res.outputs.zstats)
out_cope_map = apply_mask(out_cope_img, mask)
out_t_map = apply_mask(out_t_img, mask)
out_z_map = apply_mask(out_z_img, mask)
pos_z_map = apply_mask(nib.load(cl_res.outputs.threshold_file), mask)
if two_sided:
# Negative clusters
cl2 = fsl.model.Cluster()
cl2.inputs.threshold = cdt_z
cl2.inputs.pthreshold = q
cl2.inputs.in_file = op.join(work_dir, 'temp_zstat2.nii.gz')
cl2.inputs.cope_file = op.join(work_dir, 'temp_copes2.nii.gz')
cl2.inputs.use_mm = True
cl2.inputs.find_min = False
cl2.inputs.dlh = est_res.outputs.dlh
cl2.inputs.volume = est_res.outputs.volume
cl2.inputs.out_threshold_file = op.join(work_dir,
'thresh_zstat2.nii.gz')
cl2.inputs.connectivity = 26
cl2.inputs.out_localmax_txt_file = op.join(work_dir,
cl.inputs.cope_file = res.outputs.copes
cl.inputs.use_mm = True
cl.inputs.find_min = False
cl.inputs.dlh = est_res.outputs.dlh
cl.inputs.volume = est_res.outputs.volume
cl.inputs.out_threshold_file = op.join(work_dir, 'thresh_zstat1.nii.gz')
cl.inputs.connectivity = 26
cl.inputs.out_localmax_txt_file = op.join(work_dir, 'lmax_zstat1_tal.txt')
cl_res = cl.run()
out_cope_img = nib.load(res.outputs.copes)
out_t_img = nib.load(res.outputs.tstats)
out_z_img = nib.load(res.outputs.zstats)
out_cope_map = apply_mask(out_cope_img, mask)
out_t_map = apply_mask(out_t_img, mask)
out_z_map = apply_mask(out_z_img, mask)
pos_z_map = apply_mask(nib.load(cl_res.outputs.threshold_file), mask)
if two_sided:
# Negative clusters
cl2 = fsl.model.Cluster()
cl2.inputs.threshold = cdt_z
cl2.inputs.pthreshold = q
cl2.inputs.in_file = op.join(work_dir, 'temp_zstat2.nii.gz')
cl2.inputs.cope_file = op.join(work_dir, 'temp_copes2.nii.gz')
cl2.inputs.use_mm = True
cl2.inputs.find_min = False
cl2.inputs.dlh = est_res.outputs.dlh
cl2.inputs.volume = est_res.outputs.volume
cl2.inputs.out_threshold_file = op.join(work_dir,
'thresh_zstat2.nii.gz')
cl2.inputs.connectivity = 26
def __call__(self, imgs):
return(masking.apply_mask(imgs, self.mask_img_,
dtype=img_data_dtype(imgs)), imgs.affine)
def _compute_ale(self, df=None, ma_maps=None):
"""
Generate ALE-value array and null distribution from list of contrasts.
For ALEs on the original dataset, computes the null distribution.
For permutation ALEs and all SCALEs, just computes ALE values.
Returns masked array of ALE values and 1XnBins null distribution.
"""
if df is not None:
ma_maps = self.kernel_estimator.transform(df, self.mask, masked=True)
ma_values = ma_maps
else:
assert ma_maps is not None
ma_values = apply_mask(ma_maps, self.mask)
ale_values = np.ones(ma_values.shape[1])
for i in range(ma_values.shape[0]):
ale_values *= (1. - ma_values[i, :])
ale_values = 1 - ale_values
return ale_values
cl.inputs.in_file = res.outputs.zstats
cl.inputs.cope_file = res.outputs.copes
cl.inputs.use_mm = True
cl.inputs.find_min = False
cl.inputs.dlh = est_res.outputs.dlh
cl.inputs.volume = est_res.outputs.volume
cl.inputs.out_threshold_file = op.join(work_dir, 'thresh_zstat1.nii.gz')
cl.inputs.connectivity = 26
cl.inputs.out_localmax_txt_file = op.join(work_dir, 'lmax_zstat1_tal.txt')
cl_res = cl.run()
out_cope_img = nib.load(res.outputs.copes)
out_t_img = nib.load(res.outputs.tstats)
out_z_img = nib.load(res.outputs.zstats)
out_cope_map = apply_mask(out_cope_img, mask)
out_t_map = apply_mask(out_t_img, mask)
out_z_map = apply_mask(out_z_img, mask)
pos_z_map = apply_mask(nib.load(cl_res.outputs.threshold_file), mask)
if two_sided:
# Negative clusters
cl2 = fsl.model.Cluster()
cl2.inputs.threshold = cdt_z
cl2.inputs.pthreshold = q
cl2.inputs.in_file = op.join(work_dir, 'temp_zstat2.nii.gz')
cl2.inputs.cope_file = op.join(work_dir, 'temp_copes2.nii.gz')
cl2.inputs.use_mm = True
cl2.inputs.find_min = False
cl2.inputs.dlh = est_res.outputs.dlh
cl2.inputs.volume = est_res.outputs.volume
cl2.inputs.out_threshold_file = op.join(work_dir,
'thresh_zstat2.nii.gz')