3dNetCorr '-push_thru_many_zeros' not working

As the title suggests, the option to ignore a partially null timeseries is not being recognized by 3dNetCorr. I’m utilizing a full-brain atlas, and my 4d data are cut off at the cerebellum, thus halting the program. Even when the command includes -push_thru_many_zeros option, it halts and suggests adding that very option. Any idea why this is not working?

Do you have ROIs of all zero time series? If so, the help description for “-push_thru_many_zeros” notes that it won’t push through that situation.

                     :by default, this program will grind to a halt and
                      refuse to calculate if any ROI contains >10 percent
                      of voxels with null times series (i.e., each point is
                      0), as of April, 2017.  This is because it seems most
                      likely that hidden badness is responsible. However,
                      if the user still wants to carry on the calculation
                      anyways, then this option will allow one to push on
                      through.  However, if any ROI *only* has null time
                      series, then the program will not calculate and the
                      user will really, really, really need to address
                      their masking.

It is “push through many zeros”, not “push through all zeros”.

However, I think if you use a “-mask …” option, where the mask is restricted to where you have nonzero voxels, then you will get results.

This behavior is because people were running 3dNetCorr on data that they didn’t know was poorly masked or missing data from ROIs.


Thanks for your reply. I checked the roi-fraction output from the failed command and found no roi’s with complete null timeseries (below). My command is thus:

3dNetCorr -inset $subj_data -in_rois HO_atlas_resample+tlrc. -mask MNI_Automask+tlrc -push_thru_many_zeros prefix rest_corr_${subj}${a}${b}

Edit: I found an ROI with a null timeseries. What can I do about this now?

Does your mask include lots of voxels with null time series (or any of them)? I would have thought if it doesn’t, then it should work. If it does… well, I don’t think it should, esp. for this context.

(I’m on vacation/traveling at the moment, so I can’t set down and run a lot of tests easily.)