最近我在做人脑MRI配准的事情,我想把数据集OASIS-1的freesurfer处理后的brainmask.mgz配准到MNI152 1mm(182,218,182)空间上,但是我发现用ANTs的仿射+非线性配准一个要四五个小时,这太慢了。于是我打算用深度学习模型去进行配准。
于是我搜集了很多医学图像配准模型,发现TransMorph在这方面性能不错,于是我打算用它来训练。我的计划是用ANTs的仿射配准(仅仅只有仿射配准,无非线性)把所有被试的brainmask.mgz配准到MNI152空间,下面是我的具体配准命令:
antsRegistration -d 3
-r [ fsl/data/standard/MNI152_T1_1mm_brain.nii.gz, brainmask.nii, 1 ]
-m mattes[ fsl/data/standard/MNI152_T1_1mm_brain.nii.gz, brainmask.nii, 1, 32, regular, 0.25 ]
-t affine[ 0.05 ]
-c [ 1000x500x250, 1e-6, 10 ]
-s 2x1x0vox
-f 4x2x1
-o [ affine_, affine_Warped.nii.gz ]
然后我去用这些数据训练模型,发现loss不减,训练了20多轮还是很差,像是学不到东西,按理来说TransMorph学的就是非线性配准,我已经进行了仿射配准了,不应该呀?
而且在 Learn2Reg 2021挑战赛,官方给出了OASIS-1的训练集,我看了下他们的处理方法,以下是他们提供的预处理方法:
- Install FreeSurfer from DownloadAndInstall - Free Surfer Wiki
export FREESURFER_HOME=/your_freesurfer_directorysource $FREESURFER_HOME/SetUpFreeSurfer.shexport SUBJECTS_DIR=/dataset_directoryrecon-all -parallel -i dataset_directory/img_name.nii -autorecon1 -subjid img_name→ This step does motion correction, skull stripping, affine transform comuptation, and intensity normalization.mri_convert dataset_directory/img_name/mri/brainmask.mgz dataset_directory/img_name/mri/brainmask.nii.gz→ This step converts the preprocessed image from .mgz into .nii format.mri_convert dataset_directory/img_name/mri/brainmask.mgz --apply_transform dataset_directory/img_name/mri/transforms/talairach.xfm -o dataset_directory/img_name/mri/brainmask_align.mgz→ This step does affine tranform to Talairach space.mri_convert dataset_directory/img_name/mri/brainmask_align.mgz dataset_directory/img_name/mri/brainmask_align.nii.gz→ This step converts the transformed image from .mgz into .nii format.recon-all -parallel -s dataset_directory/img_name.nii -subcortseg -subjid img_name→ This step does subcortical segmentation.mri_convert dataset_directory/img_name/mri/aseg.auto.mgz dataset_directory/img_name/mri/aseg.nii.gz→ This step converts label image from .mgz into .nii format.mri_convert -rt nearest dataset_directory/img_name/mri/aseg.auto.mgz --apply_transform dataset_directory/img_name/mri/transforms/talairach.xfm -o dataset_directory/img_name/mri/aseg_align.mgz→ This step does affine tranform to Talairach space using nearest neighbor interpolation for label image.mri_convert dataset_directory/img_name/mri/aseg_align.mgz dataset_directory/img_name/mri/aseg_align.nii.gz→ This step converts the transformed label image from .mgz into .nii format.
Note that these steps may take up to 12-24 hours per image base on our experience. Therefore running these commands in parallel on a server or a cluster is recommended.
我觉得唯一的区别就是我仿射配准到MNI152,它是用的Talairaco呀?为啥他的训练模型之后效果很不错,我的就是一点用没有,这差别太大了。而且我没看出有啥区别。
brainmask.nii(我和他们用的brainmask.nii一模一样,这里就放一个了)
仿射配准到MNI152 1mm
他们配准到Talaicaro,应该配准完还裁剪过
有没有老师,大佬们帮我检查下是不是我哪一步预处理的不对????十分感谢 ![]()




