When I was performing the step of " Global intensity normalisation across subjects", I had 2 problems. My computer system is macOS 10.14.2.
(1) If I type the command foreach * : ln -sr IN/dwi_denoised_unringed_preproc_unbiased.mif ../dwiintensitynorm/dwi_input/IN.mi
it reported an error about ln -sr:
ln: illegal option -- r
usage: ln [-Ffhinsv] source_file [target_file]
ln [-Ffhinsv] source_file ... target_dir
link source_file target_file
Could you help me to deal with the problem? How to perform correct symbolic linking?
(2) Since the dwiintensitynorm script performs normalisation on all subjects within a study (using a group-wise registration) and my data contains one patient group and one healthy control group, should I perform the dwiintensitynorm script within one group seperately, or just perform intensity normalisation of all participants in two groups?
(1) macOS’ default ln does not have the --relative or -r option (man).
Either install the gnu version of ln (brew install coreutils) or modify the source path (see here).
(2) Technically either approach works but I’d only perform the normalisation in groups if you have reasons to believe that the FA-based registration might fail or that the WM voxel selection mask might not be applicable to all subjects of both groups.
Alternatively, use subject-wise normalisation with mtnormalise instead of group-wise normalisation with dwiintensitynorm. mtnormalise requires more than one tissue type (for instance WM and CSF or WM, GM and CSF), see the multi-tissue FBA docs.
I highly recommend, when you use this approach, to do them all in 1 single batch. If you feel the need to separate them because the mask might not be applicable across the board, this is a good indicator to not use this method: several risks to introduce biases related to the actual patient group you study. This will compromise interpretation down the track in non-trivial ways.
MSMT-CSD will give you 3 tissue types for multi-shell data. If your data is single-shell, you can run SS3T-CSD to get 3 tissue types; in our lab’s experience, this provides the best results for mtnormalise if your data is single-shell. SS3T-CSD is available here. Here’s an example pipeline with some additional info on mtnormalise's role in a typical pipeline or study.
Thank you very much. Both the two problems have been solved according to your methods! It did not work out by install the gnu version of ln ( brew install coreutils ), but finally succeeded by modify the source path (add ~/).
For instance: foreach * : ln -s ~/IN/dwi_denoised_unringed_preproc_unbiased.mif dwiintensitynorm/dwi_input/IN.mif