AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
March 05, 2020 01:59PM
I am reviving this thread because 3dROIstats is behaving weirdly using my surface parcellation. I think I've found a solution, but also maybe a bug?

(In narrator voice) Previously on this thread:

I converted a Freesurfer annotation to .niml.dset using FS_read_annot, then I resample it to -ld 60 and ranked the node values so that 3dROIstats could handle the parcel labels.



I am now extracting mean time series from each parcel using time series projected to the surface and the results from 3dRank as the mask.

I have examined the .rankmap.1D file and the mapping from rank to annotation values seems to be in order and I have the correct number of labels. However, when extract the time series using the ranked parcellation as a mask, I'm getting weird results.

What I expect: I have 201 labels, 200 parcels of interest + the medial wall for each hemisphere. I was expecting 201 columns of timeseries from 3dROIstats with labels of Mean_0 to Mean_200, which should correspond to the rank values in .rankmap.1D

What I'm getting: 200 columns with the following values:
Mean_1  	Mean_2  	Mean_3  	Mean_4  	Mean_5  	Mean_6  	Mean_7  	Mean_8  	Mean_9  	Mean_10  	Mean_11  	Mean_12  	Mean_13  	Mean_14  	Mean_15  	Mean_16  	Mean_17  	Mean_18  	Mean_19  	Mean_20  	Mean_21  	Mean_22  	Mean_23  	Mean_24  	Mean_25  	Mean_26  	Mean_27  	Mean_28  	Mean_29  	Mean_30  	Mean_31  	Mean_32  	Mean_33  	Mean_34  	Mean_35  	Mean_36  	Mean_37  	Mean_38  	Mean_39  	Mean_40  	Mean_41  	Mean_42  	Mean_43  	Mean_44  	Mean_45  	Mean_46  	Mean_47  	Mean_48  	Mean_49  	Mean_50  	Mean_51  	Mean_52  	Mean_53  	Mean_54  	Mean_55  	Mean_56  	Mean_57  	Mean_58  	Mean_59  	Mean_60  	Mean_61  	Mean_62  	Mean_63  	Mean_64  	Mean_65  	Mean_66  	Mean_67  	Mean_68  	Mean_69  	Mean_70  	Mean_71  	Mean_72  	Mean_73  	Mean_74  	Mean_75  	Mean_76  	Mean_77  	Mean_78  	Mean_79  	Mean_80  	Mean_81  	Mean_82  	Mean_83  	Mean_84  	Mean_85  	Mean_86  	Mean_87  	Mean_88  	Mean_89  	Mean_90  	Mean_91  	Mean_92  	Mean_93  	Mean_94  	Mean_95  	Mean_96  	Mean_97  	Mean_98  	Mean_99  	Mean_100  	Mean_101  	Mean_102  	Mean_103  	Mean_104  	Mean_105  	Mean_106  	Mean_107  	Mean_108  	Mean_109  	Mean_110  	Mean_111  	Mean_112  	Mean_113  	Mean_114  	Mean_115  	Mean_116  	Mean_117  	Mean_118  	Mean_119  	Mean_120  	Mean_121  	Mean_122  	Mean_123  	Mean_124  	Mean_125  	Mean_126  	Mean_127  	Mean_molecular_layer_HP  	Mean_129  	Mean_130  	Mean_131  	Mean_132  	Mean_133  	Mean_134  	Mean_135  	Mean_136  	Mean_137  	Mean_138  	Mean_139  	Mean_140  	Mean_141  	Mean_142  	Mean_143  	Mean_144  	Mean_145  	Mean_146  	Mean_147  	Mean_148  	Mean_149  	Mean_150  	Mean_151  	Mean_152  	Mean_153  	Mean_154  	Mean_155  	Mean_156  	Mean_157  	Mean_158  	Mean_159  	Mean_160  	Mean_161  	Mean_162  	Mean_163  	Mean_164  	Mean_165  	Mean_166  	Mean_167  	Mean_168  	Mean_169  	Mean_170  	Mean_171  	Mean_172  	Mean_173  	Mean_174  	Mean_175  	Mean_176  	Mean_177  	Mean_178  	Mean_179  	Mean_180  	Mean_181  	Mean_182  	Mean_183  	Mean_184  	Mean_185  	Mean_186  	Mean_187  	Mean_188  	Mean_189  	Mean_190  	Mean_191  	Mean_192  	Mean_193  	Mean_194  	Mean_195  	Mean_196  	Mean_197  	Mean_198  	Mean_199  	Mean_200

Note that there is no Mean_0, which I guess makes sense. Oddly though, look at what should be Mean_128. It says Mean_molecular_layer_HP. I have no idea where that came from because the node values are stored as float:
Number of values stored at each pixel = 1
  -- At sub-brick #0 'rank' datum type is float

As a solution, I am using 3dcalc to just add 1 to all nodes. This gives me the expected result of Mean_1 to Mean_201 and I can just subtract 1 to map it back to the annotation value. I just wanted to bring this up because I can't imagine that this is the intended behavior of 3dROIstats. I understand that it skips over nodes with a 0 value, but why Mean_molecular_layer_HP?
Subject Author Posted

Surface parcellation in SUMA

dmoracze November 13, 2019 04:26PM

Re: Surface parcellation in SUMA Attachments

dmoracze November 13, 2019 05:14PM

Re: Surface parcellation in SUMA

dmoracze November 18, 2019 11:40AM

Re: Surface parcellation in SUMA

dmoracze November 20, 2019 10:55AM

Re: Surface parcellation in SUMA

dmoracze March 05, 2020 01:59PM

Re: Surface parcellation in SUMA

anthonystevendick April 20, 2020 02:00PM

Re: Surface parcellation in SUMA

Daniel Glen April 20, 2020 06:04PM