Comments (14)
Hi, you can try dropping the --vol_segstats flag (which is mainly used when running segmentation only, i.e. only the CNN, and you still want to get volume segmentation stats with the corpus callous added). Still that is probably not the problem here.
Can you attach log file that is written under /stats/recon-surf.log ? thanks
from fastsurfer.
Hi @QunjunLIANG.
Did you let FastSurfer run through to the end? Your log file indicates that it had not yet reached the anatomical statistics computation step. Once that is executed, you should find stats/{rh/lh}.aparc.mapped.stats
(which is probably what you need).
Side note: Although you do not need --vol_segstats
, it is strange that your stats
directory is empty; in this case, it should contain aparc.DKTatlas+aseg.deep.volume.stats
.
from fastsurfer.
Maybe ran out of disk space?
from fastsurfer.
Thanks for your kind help.
I re-ran the FastSurfer docker this mooring with the recommended command (ignore --vol_segstats). But the output stats/ directory was still empty as that in yesterday.
The free space in the running disk is 1.6TB, and the total memory of the GPU is 6144MB. I uploaded all files in the script/ directory in attachment, hope these would be helpful to locate the problem.
Thank you for your time and support.
Attachment
-
The FastSurfer-running log obtained from the terminal.
fs_log.txt -
The document tree of the output directory, obtained with Linux 'tree' command.
document_tree.txt -
A zip contains all files in script/ directory.
scripts.zip
from fastsurfer.
The log-file unfortunately does not contain an appropriate error message. Is this really the $SUBJECT/scripts/recon-surf.log file or the file you pipe the output to (with tee in the first command you provided)? The recon-surf.log should contain the error message.
Based on the file tree, it looks like the process is failing in the parallel hemi generation part, specifically when creating the aparc annotations (https://github.com/Deep-MI/FastSurfer/blob/v1.1.1/recon_surf/recon-surf.sh#L663, aparc.DKTatlas.mapped.prefix.annot is missing in label directory).
Without the error message, it is hard to know why it fails, so make sure you attached the recon-surf.log.
You can try to run the (potentially) offending command alone (if you have FreeSurfer installed and a local copy of the DKTatlaslookup.txt -> here I assume it is in FASTSURFER_HOME/recon_surf, https://github.com/Deep-MI/FastSurfer/blob/v1.1.1/recon_surf/rh.DKTatlaslookup.txt):
export SUBJECTS_DIR=/media/lqj/PUS4T/PickUpSam/NIFTI_BIDS/sub-01/anat
hemi=rh #or lh
subject=sub-01
mris_sample_parc -ct ${FREESURFER_HOME}/average/colortable_desikan_killiany.txt -file ${FASTSURFER_HOME}/recon_surf/$hemi.DKTatlaslookup.txt -projmm 0.6 -f 5 -surf white.preaparc $subject $hemi aparc.DKTatlas+aseg.orig.mgz aparc.DKTatlas.mapped.prefix.annot
from fastsurfer.
Thank you for your timely reply. I re-ran the docker without using the --parallel and the error report was finally out. The --parallel option may suppress the writing of the error on the log.
In the log, it wrote that "RMS increased, rejecting step" when entering MRISpositionSurface(). The recon-all log in subject/script/ was in attachment. Please let me know if there's any further information I can provide.
recon-all.log
Thanks in advance.
from fastsurfer.
Ok, thanks. The recon-surf.log should contain an appropriate error message when sth fails in parallel mode. @AhmedFaisal95 @agirodi please look into this.
Do the segmentation (aseg.presurf.mgz), wm.mgz and original surface (lh.orig) look ok?
from fastsurfer.
Thank you for your timely reply @LeHenschel.
I checked the output images, including atlas segmentation and lh.orig with freeview, and they look fine in visual. Here's the screenshot of the freeview. Please check.
And I also uploaded the document tree in subject/ directory, hope this would help.
document_tree.txt
All the best.
from fastsurfer.
Is it possible for you to share the image in question with us?
Based on the error, it looks like something is wrong with the surface generation. The segmentations look ok and the surface as well based on the screenshots. Is this the only subject that fails?
from fastsurfer.
From your provided logs it seems that the problem arises when the two sub-processes for each hemisphere gets interrupted/killed by something and the surface pipeline stops completely at that point (which is before the computation of the stats). That something, that sends a kill signal, is most probably your system, since our script doesn't seem to do it. It could be a lack of RAM or some limitations of resources by your system/administrator.
from fastsurfer.
Hi @LeHenschel and @agirodi ,
Thank you very much for your help. To fix the limitation of the RAM, I extended the SWAP from 2 GB to 8GB and reran FastSurfer with the same subject's data. As a result, the analysis finished without error reported in the recon-all.log. Please check down below:
recon-all.log
However, there seems still some difference in the outputs, comparing with that generated by FreeSurfer. I attach the document tree from FastSurfer and FreeSurfer directory, please check down below:
I called the FreeSurfer from the latest fMRIprep docker, version 7.2.0. Thus, I would like to ask if the gap between the outputs due to an potential error or the custom pipeline in the fMRIprep?
In addition, I upload the T1 image and its metadata (.json) on the Google Drive. Please download them with the following URL:
https://drive.google.com/file/d/1ri5tDu3z9wAi5QO_kwFQLfXfkLXliWui/view?usp=sharing
https://drive.google.com/file/d/1vhAQjAMd7sy9eIxoBlsZtctn9Z0A1YVg/view?usp=share_link
Thanks in advance.
Best,
Qunjun
from fastsurfer.
I see. 2GB is too little to run FreeSurfer (https://surfer.nmr.mgh.harvard.edu/fswiki/SystemRequirements), so increasing it to 8 GB is a good call. Glad that it is working now.
With respect to the differences between FreeSurfer and FastSurfer directories:
FastSurfer provides FreeSurfer like outputs. We only segment one atlas (DKTatlas) with the CNN. This is the reason for the differences you see in the directories. Are you interested in a specific file or atlas that is not present?
Also the output of the recon-surf.log is the important one. If that ran through without error, you can be sure that all files we provide are there.
from fastsurfer.
I run your image on our system and the output seems completely normal. Everything is there (I compared with the directory-tree of another image) and the segs/surfaces seem to be okay as well.
Comparing your directory tree and ours did not raise any differences.
tree_7.txt
from fastsurfer.
https://github.com/Deep-MI/FastSurfer#system-requirements also describes our system requirements (in case someone else finds this thread). I think this issue is solved and can be closed, if not let us know.
from fastsurfer.
Related Issues (20)
- Unmatched ROIs in predicted segmentation and provided FastSurfer_ColorLUT.tsv HOT 23
- FastSurfer Segmentation Modules: disable conformation of input image to isometric spaces HOT 5
- FastSurfer QuickSeg doesn't work with OASIS `.img` files HOT 3
- Docker build workflows HOT 5
- Model download issue HOT 22
- invalid index in smooth_aparc.py HOT 7
- FastSufer for multiple subjects HOT 4
- DKTAtlas instead of aparc.stats file in FastSurfer HOT 3
- recon_surf//functions.sh: line 38: -debug: command not found HOT 6
- no-cache argument for build.py HOT 2
- Updated Docker Image HOT 1
- Website hosting checkpoints down HOT 5
- Anterior/Posterior Commissure Segmentation HOT 6
- ERROR: FastSurfer asegdkt segmentation failed. HOT 8
- Surface module fail in dev HOT 6
- Reference to deprecated docker images in surface pipeline docs HOT 5
- Corresponding Stats output of FastSurfer to "Recon-all" HOT 6
- Missing files compared to freesurfer HOT 5
- CerebNet support for submillimeter images? HOT 2
- Cannot use Fastsurfer with Apple M3 Pro HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fastsurfer.