AFNI Message Board

History of AFNI updates  

|
March 11, 2021 11:07PM
The script I am working on began to fail, and the failure point seems to be in 3dSkullStrip run by align_epi_anat.py run by afni_proc.py run by a heavily modified derivative of MACAQUE_DEMO_REST

It occurs with a specific data set (session 1). Another very similar data set (same experiment, same subject, different session (3)) runs fine. But the problematic session 1 was analyzed in the same way before without problems, and I think that the reason why it does not anymore is a change to afni.

Below is my reasoning for that.

I reverted my script to the state equivalent to the state in which it ran successfully on the same data set. While I did not have the old version of the script, I knew what changes I made. The reverted script failed again when run on session 1.

I had a copy of the old results folder. I compared the 'old' vs 'new' proc file for session 1, and I see no differences except for a few minor changes (which seem to be in TSNR calculation and in gen_ss_review_scripts.py), the date when it was run, and afni_proc.py version.

I compared 'old' and 'new' output.proc file, and the only differences I see up to the point of failure are the date when it was run, afni_proc.py version, and AFNI version (and minor differences in execution time)

afni_proc version is 7.12 vs 7.14, afni version is 21.0.08 vs. 21.0.13.

The point of failure is:
3dSkullStrip -orig_vol -input ./__tt_vr_base_min_outlier_ts+orig -prefix ./__tt_vr_base_min_outlier_ts_ns
Warning 3dSkullStrip:****************
 Surface self intersecting! trying again:
 smoothing of 84, avoid_vent -1
Warning 3dSkullStrip:****************
 Surface self intersecting! trying again:
 smoothing of 96, avoid_vent -1
Warning 3dSkullStrip:****************
 Surface self intersecting! trying again:
 smoothing of 108, avoid_vent -1
Warning 3dSkullStrip:****************
 Surface self intersecting! trying again:
 smoothing of 120, avoid_vent -1
Warning 3dSkullStrip: Stubborn intersection remaining at smoothing of 120. Ignoring it.*** NO CLUSTERS FOUND ***

Then it tries to soldier on, but in 3dBrickStat -automask it applies a rather suspicious threshold of 0 (previously 2730) and the script soon dies with
** FATAL ERROR: 3dAllineate fails :: base image has 0 nonzero voxels (< 100)
No surprise, the base: __tt_vr_base_min_outlier_ts_ns+orig is all black.

This all seems to point to a change made in 3dSkullStrip(?) between the versions. But I realize that there is a chance that I failed to revert the script to exactly same state even if there was no difference in proc or output.proc. Or there was a change to source data that I forgot about..

So I found a computer with AFNI 20.3.03 installed, I copied all source data and scripts from my 'new' version that failed, ran the script, and it did not fail.

This makes me pretty confident that a change between 21.0.08 and 21.0.13 is responsible for the skull-stripping failure when processing session 1 - so I am wondering if this change could be traced and re-evaluated if it is really necessary?

I will be happy to provide the data and scripts which should allow to replicate the issue.
Subject Author Posted

3dSkullStrip failure on current but not previous version

Pawel March 11, 2021 11:07PM

Re: 3dSkullStrip failure on current but not previous version

ptaylor March 12, 2021 09:08AM

Re: 3dSkullStrip failure on current but not previous version

Pawel March 12, 2021 09:47AM

Re: 3dSkullStrip failure on current but not previous version

ptaylor March 12, 2021 10:54AM

Re: 3dSkullStrip failure on current but not previous version

ptaylor March 16, 2021 07:12PM

Re: 3dSkullStrip failure on current but not previous version

Pawel March 16, 2021 10:33PM



Sorry, only registered users may post in this forum.

Click here to login