MICA-MNI / micapipe

micapipe from the Multimodal imaging and connectome analysis lab (http://mica-mni.github.io) at the Montreal Neurological Institute. Read The Docs documentation below
http://micapipe.readthedocs.io
GNU General Public License v3.0
86 stars 29 forks source link

Bugs report for ICA-FIX dependency and ... #103

Open gourdchen opened 11 months ago

gourdchen commented 11 months ago

Hi,

I am now using micapipe to process my functional MRI. I found an error in ICA-FIX No valid labelling file specified , When I checked the log file, I found it was due to the R error: image

I transform the singularity image to sandbox mode and reinstall the R packages as follows:

install.packages("/opt/randomForest_4.6-12.tar.gz", repos = NULL, type = "source")
install.packages("/opt/coin_1.1-0.tar.gz", repos = NULL, type = "source")
install.packages("/MASS_7.3-36.tar.gz", repos = NULL, type = "source")
install.packages("/opt/party_1.0-25.tar.gz", repos = NULL, type = "source")

This fixes the issue.

Then, I found that an error arises from Matalb:

Undefined function or variable 'dat'.
Error in read_avw_img (line 29)
Error in read_avw (line 34)
Error in functionmotionconfounds (line 34)
Error in fix_3_clean (line 71)
MATLAB:UndefinedFunction

It may be due to the delay of disk io, I added a pause in the "fix1.068/functionmotionconfounds.m" and solved the problem.

 call_fsl(sprintf('fslmaths mc/prefiltered_func_data_mcf_conf -bptf %f -1 mc/prefiltered_func_data_mcf_conf_hp',0.5*hp/TR));
    pause(2);
   confounds=functionnormalise(reshape(read_avw('mc/prefiltered_func_data_mcf_conf_hp'),size(confounds,2),size(confounds,1))');

In addition, the output of the fMRI preprocess is <sub>_space-func_desc-se_prepro.nii.gz but not <sub>_space-func_desc-se_clean.nii.gz says in your documentation.

For your information, thank you.

gourdchen commented 10 months ago

I found that the core problem is that I just used the trained ICA-FIX file from FSL, which used an old version of 'party'. Do you know if other trained ICA-FIX files used the newer 'party' version by using UKB?

rcruces commented 8 months ago

I do not know if there are other ICA-FIX files. If you find a solution of this please share it.

best

gourdchen commented 8 months ago

Unfornately, I don't known either. I just replce the ICA-FIX program inside micapipe by my edited version when I run the singularity image. Hope some people know. Thank you.

rcruces commented 8 months ago

Could you elaborate more in how did you replace the program and what version did you use? We could update it in future releases.

best

gourdchen commented 7 months ago

Sorry for the late reply. First I convert the singularity img to sandbox. Then I run the sandbox and reinstall the package related to ICA-FIX in R.

install.packages("/opt/randomForest_4.6-12.tar.gz", repos = NULL, type = "source")
install.packages("/opt/coin_1.1-0.tar.gz", repos = NULL, type = "source")
install.packages("/MASS_7.3-36.tar.gz", repos = NULL, type = "source")
install.packages("/opt/party_1.0-25.tar.gz", repos = NULL, type = "source")
install.packages("/opt/class_7.3-19.tar.gz", repos = NULL, type = "source")

When run the img, I replace the R library as follows [can ignore the matlab replacement]:

bids_dir="xxxx"
out_dir="xxxxx"

tmp="/xxxx/tmp"
micapipe_image="/xxxxx/micapipe-v0.2.2.simg"
fs_licence="/xxxxx/license.txt"
my_fix="/xxxxx/micalab_sanbox/opt/fix1.068"
my_R_lib="/xxxxxx/micalab_sanbox/usr/local/lib/R/site-library"
singularity run --writable-tmpfs --cleanenv \
-B ${bids_dir}:${bids_dir} -B ${out_dir}:${out_dir} \
-B ${fs_licence}:${fs_licence} \
-B ${tmp}:/tmp \
-B ${my_R_lib}:/usr/local/lib/R/site-library \
-B /usr/local/Cluster-Apps/matlab/R2021b1/:/opt/matlab/ \
-B ${my_fix}:/opt/fix1.068 \
${micapipe_image} \
-bids ${bids_dir} \
-sub ${subj} \
-ses ${session} \
-out ${out_dir} \
-proc_structural -proc_surf -post_structural -proc_dwi -SC -proc_func \
-fs_licence ${fs_licence} \
-nocleanup \
-icafixTraining /opt/fix1.068/training_files/UKBiobank.RData \