Closed colIapse closed 11 months ago
Hi, @colIapse. Apologies for the delayed reply. We've been collaborating with the fmriprep team to form an infant version of their pipeline called Nibabies, which integrates preprocessing steps useful for infants from our pipeline, so I would highly recommend trying this pipeline instead as we have discontinued development on infant-abcd-bids-pipeline
Regarding your error, it's normal for PreFreeSurfer to take up to 24 hours because the final stage (joint label fusion for creating the segmentation file that delineates brain ROIs) is computationally expensive and involves a lot of lengthy nonlinear registration steps. Infant data processing is very tricky and errors usually occur in this first stage.
However, it looks like the error occurs well before that step, likely during ACPC alignment. I think it's likely due to either a data quality issue or some other data-related error, which again is common for infant processing. I think the next best step is to read through our troubleshooting documentation here, specifically "ACPC Alignment," to make sure that there isn't anything obviously wrong with the files. You can check out further documentation here
Another possibility is that more resources are required. Can you share your docker command?
Your thoughts on what might have gone wrong are good, but I don't think are applicable here for the following reasons:
I know this reply is late, so you may have moved on to other things, but I'm happy to provide more specific recommendations if you need. I would mainly be interested in having you provide screenshots of certain files so that I can check them for obvious errors (beginning with the raw T1 and T2 anatomical files) and we can go from there. I'll make sure to respond promptly
Closing this comment for now. @colIapse please re-open if you need further assistance!
Hi everyone in DCAN-Lab!
Thank you for your contribution to simplifying the preprocessing progress of infant brain imaging data! As a neophyte in the realm of brain imaging technology, I am immensely intrigued by the cerebral maturation of fetuses and neonates.After familiarizing myself with your infant-abcd-bids-pipeline, its convenience and advancement in preprocessing the images have made a profound impression to me.
Recently, a dataset consisting of images whose subjects' age were between 0-5 years has been collected by chance, prompting thoughts of utilizing the pipeline.Before preprocessing the entire dataset, a single-subject test dataset was utilized to evaluate it. However, it takes nearly 20 hours to run PreFreeSurfer on docker on Linux using 10 cores,and it appears that an error occurred during the PreFreeSurfer stage.Here are the screenshots depicting the errors:
Several endeavors have been undertaken to ascertain the root cause of the error, yet all of them have proven futile.: 1.reading PreFreeSurfer.err 2.rule out the possibility of the test dataset 3.add '--anat-only' or '--check-outputs-only' parameter
After encountering a bug, I proceeded to read the 'PreFreeSurfer.err' file that was generated in /subject/ses/logs/PreFreeSurfer, here is the '.err' report (in .txt format)
PreFreeSurfer_err.txt PreFreeSurfer_out.txt
According to the .err report,I turned to the 'dcan-infant-pipeline' and tried to find where it goes wrong.At last,I found that something seems missing in dcan-infant-pipeline/PreFreeSurfer/scripts/T2wToT1wDistortionCorrectAndReg.sh. during my preprocessing progress.The wrong place was in line 234,likely saying that it unable to find TopupPreprocessingAll.sh or FieldMap workingdir
I am unsure of where to proceed, so I attempted a second trial to eliminate the dataset as a potential factor.
In order to retest the validity of the test-dataset,I have used bids-validator and it passed the validation.Due to its error report,I check the fmap and func files and their .json file in the dataset,it seems that nothing was wrong (Or maybe some particular parameters are needed in the .json file?I am not sure).Both modalities are present in the dataset.Then I attempted to apply the same pipeline to a different dataset which is compatible with fmriprep, it failed at the same stage once more.
To eliminate the possibility of func and fmap, I utilized the identical dataset, removed its func and fmap files, and appended the '--anat-only' parameter to solely execute anat. Despite generating additional files, this approach still proved unsuccessful. Presented below are the encountered errors:
Above are my bugs.I am not sure where it goes wrong,so some help of developers are necessary. Here are some of my guess:
1.Some parameters are missing or wrong in func or fmap files or .json [such as intended for or any other things] (but it can pass bids validator,and tried add --anat-only parameter to exclude the possibility but failed,and tried another dataset) I think this reason may be the root of the problem, but I am uncertain as to where to make revisions.
2.Due to this issue I am not sure why it produces, but whenever I execute this pipeline, it consistently arises.
3.Some reasons I don't know
And my pipeline version is : v0.0.22 (latest version has been tried on Windows Docker Desktop,and failed at the same step[T2wToT1wDistortionCorrectAndReg.sh,line234] again)
One more question is that it takes too much time to run the pipeline. It appears that when running PreFreeSurfer on Linux Docker with 10 cores, it takes nearly 20 hours (and then report bugs).I am not sure why it causes that,and can I increase the speed?
Thank you for your time and attention!!Wish a solution can be made to run the pipeline fluently.I really appreciate your dedication to advancing this field and making it a better place.Your answer means a lot to me.
Kind Regards! Zhao