def calc_shifted_vox2tk_ras(region_fname, colin_T1_fname): region_vox2ras = tu.get_vox2ras(region_fname) zero_in_ras = utils.apply_trans(region_vox2ras, [[0, 0, 0]]) zero_in_T1_voxels = utils.apply_trans(np.linalg.inv(tu.get_vox2ras(colin_T1_fname)), zero_in_ras) zero_in_T1_tk_ras = utils.apply_trans(tu.get_vox2ras_tkr(colin_T1_fname), zero_in_T1_voxels) voxels_sizes = [abs(v) for v in np.diag(region_vox2ras)[:-1]] shifted_vox2tk_ras = get_shifted_vox2tk_ras(zero_in_T1_tk_ras[0], voxels_sizes) return shifted_vox2tk_ras
def main(region, atlas_fol, colin_T1_fname, overwrite=False): for hemi in ['lh', 'rh']: region_fname = op.join(atlas_fol, hemi, '{}.nii.gz'.format(region)) prepare_mask_file(region_fname, overwrite=overwrite) mask_to_srf(atlas_fol, region, hemi, op.join(SUBJECTS_DIR, 'colin27', 'mri', 'norm.mgz')) region_vox2ras_tkr = tu.get_vox2ras_tkr(region_fname) shifted_vox2tk_ras = calc_shifted_vox2tk_ras(region_fname, colin_T1_fname) convert_to_ply(op.join(atlas_fol, 'tmp', '{}_{}.srf'.format(region, hemi)), op.join(atlas_fol, 'tmp', '{}_{}.ply'.format(region, hemi)), region_vox2ras_tkr, shifted_vox2tk_ras) shutil.copy(op.join(atlas_fol, 'tmp', '{}_{}.ply'.format(region, hemi)), op.join(MMVT_DIR, 'colin27', 'subcortical', '{}_{}.ply'.format(region, hemi)))
def main(region, atlas_fol, colin_T1_fname, overwrite=False): for hemi in ['lh', 'rh']: region_fname = op.join(atlas_fol, hemi, '{}.nii.gz'.format(region)) prepare_mask_file(region_fname, overwrite=overwrite) mask_to_srf(atlas_fol, region, hemi, op.join(SUBJECTS_DIR, 'colin27', 'mri', 'norm.mgz')) region_vox2ras_tkr = tu.get_vox2ras_tkr(region_fname) shifted_vox2tk_ras = calc_shifted_vox2tk_ras(region_fname, colin_T1_fname) convert_to_ply(op.join(atlas_fol, 'tmp', '{}_{}.srf'.format(region, hemi)), op.join(atlas_fol, 'tmp', '{}_{}.ply'.format(region, hemi)), region_vox2ras_tkr, shifted_vox2tk_ras) utils.copy_file(op.join(atlas_fol, 'tmp', '{}_{}.ply'.format(region, hemi)), op.join(MMVT_DIR, 'colin27', 'subcortical', '{}_{}.ply'.format(region, hemi)))