Dear Doug,
I am sorry, the problem with missing perirhinal label in .annot was due to typo in my .ctab file (also seen in my previous mail). Now it works OK.
I have already solved my problem by creating annotation just of entorhinal and perirhinal labels (like I wrote in my post here: http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg51979.html ), running it through mri_aparc2aseg and then fusing with default aparc.a2009s+aseg.mgz. It works correctly I think.
Btw, just for the record, only now I have noticed that some labels in aparc.a2009s.annot in fsaverage have different names than in aparc.a2009s.annot of subject processed by recon-all. For example, anterior insula is read G_and_S_cingul-Ant in fsaverage, whereas in subject run through recon-all it reads G&S_cingul-Ant. This was another reason of missing labels in my testing .annot in fsaverage since due to the fact that .ctab file in fsaverage is not available, I used .ctab file from some of my subjects.
Antonin
I cannot replicate the missing last label. Can you upload the relevant data so I can take a look? Using the --l instead should work too. For your other problem, I would probably run mri_label2label with the --outstat option to create an overlay of the statistic, then create a segmentation based on the maximum stat using somethign likemri_concat label1stat.mgh ... labelNstat.mgh --max-index --o labelseg.mgh
You can convert this back to labels with
mri_cor2label --surf fsaverage lh --i labelseg.mgh --id 1 --l newlabel1.label
On 03/02/2017 12:05 PM, Antonin Skoch wrote:
Dear Doug,
I am using quite recent dev version built 8/2/2017.
mris_label2annot of this version is following:
$Id: mris_label2annot.c,v 1.20 2016/01/07 23:28:11 greve
Regards,
Antonin
what version are you using? I thought I fixed the missing-last-label problem in v6 On 03/01/2017 06:42 PM, Antonin Skoch wrote:
Dear Doug,
thank you, adding --no-unknown indeed fixed the global shuffling of the label names. However, last line of .ctab seems not to be read this time and produced .annot does not contain perirhinal label.
My modified .ctab file looks like this:
0 Unknown 0 0 0 0 1 G&S_frontomargin 23 220 60 0 2 G&S_occipital_inf 23 60 180 0 3 G&S_paracentral 63 100 60 0 4 G&S_subcentral 63 20 220 0 5 G&S_transv_frontopol 13 0 250 0 6 G&S_cingul-Ant 26 60 0 0 7 G&S_cingul-Mid-Ant 26 60 75 0 8 G&S_cingul-Mid-Post 26 60 150 0 9 G_cingul-Post-dorsal 25 60 250 0 10 G_cingul-Post-ventral 60 25 25 0 11 G_cuneus 180 20 20 0 12 G_front_inf-Opercular 220 20 100 0 13 G_front_inf-Orbital 140 60 60 0 14 G_front_inf-Triangul 180 220 140 0 15 G_front_middle 140 100 180 0 16 G_front_sup 180 20 140 0 17 G_Ins_lg&S_cent_ins 23 10 10 0 18 G_insular_short 225 140 140 0 19 G_occipital_middle 180 60 180 0 20 G_occipital_sup 20 220 60 0 21 G_oc-temp_lat-fusifor 60 20 140 0 22 G_oc-temp_med-Lingual 220 180 140 0 23 G_oc-temp_med-Parahip 65 100 20 0 24 G_orbital 220 60 20 0 25 G_pariet_inf-Angular 20 60 220 0 26 G_pariet_inf-Supramar 100 100 60 0 27 G_parietal_sup 220 180 220 0 28 G_postcentral 20 180 140 0 29 G_precentral 60 140 180 0 30 G_precuneus 25 20 140 0 31 G_rectus 20 60 100 0 32 G_subcallosal 60 220 20 0 33 G_temp_sup-G_T_transv 60 60 220 0 34 G_temp_sup-Lateral 220 60 220 0 35 G_temp_sup-Plan_polar 65 220 60 0 36 G_temp_sup-Plan_tempo 25 140 20 0 37 G_temporal_inf 220 220 100 0 38 G_temporal_middle 180 60 60 0 39 Lat_Fis-ant-Horizont 61 20 220 0 40 Lat_Fis-ant-Vertical 61 20 60 0 41 Lat_Fis-post 61 60 100 0 42 Medial_wall 25 25 25 0 43 Pole_occipital 140 20 60 0 44 Pole_temporal 220 180 20 0 45 S_calcarine 63 180 180 0 46 S_central 221 20 10 0 47 S_cingul-Marginalis 221 20 100 0 48 S_circular_insula_ant 221 60 140 0 49 S_circular_insula_inf 221 20 220 0 50 S_circular_insula_sup 61 220 220 0 51 S_collat_transv_ant 100 200 200 0 52 S_collat_transv_post 10 200 200 0 53 S_front_inf 221 220 20 0 54 S_front_middle 141 20 100 0 55 S_front_sup 61 220 100 0 56 S_interm_prim-Jensen 141 60 20 0 57 S_intrapariet&P_trans 143 20 220 0 58 S_oc_middle&Lunatus 101 60 220 0 59 S_oc_sup&transversal 21 20 140 0 60 S_occipital_ant 61 20 180 0 61 S_oc-temp_lat 221 140 20 0 62 S_oc-temp_med&Lingual 141 100 220 0 63 S_orbital_lateral 221 100 20 0 64 S_orbital_med-olfact 181 200 20 0 65 S_orbital-H_Shaped 101 20 20 0 66 S_parieto_occipital 101 100 180 0 67 S_pericallosal 181 220 20 0 68 S_postcentral 21 140 200 0 69 S_precentral-inf-part 21 20 240 0 70 S_precentral-sup-part 21 20 200 0 71 S_suborbital 21 20 60 0 72 S_subparietal 101 60 60 0 73 S_temporal_inf 21 180 180 0 74 S_temporal_sup 223 220 60 0 75 S_temporal_transverse 221 60 60 0 76 entorhinal_exvivo.thresh 222 62 67 0 77 perirhninal_exvivo.thresh 223 65 60 0
with newline in the end.
However, I was able to successfully generate annotation with 2 labels ( previous swap of names in .annot produced using --l options was my fault since I did not read the help to the detail to learn that the order of label files of --l arguments has to match the order of names in .ctab). So I could possibly achieve my goal by run mri_aparc2aseg on this simple 2-label annot and somehow merge the result with the default aparc.a2009s to bring the rhinal labels into that. Do you see any pitfall with that?
In any case, however, before running aparc2aseg I have to cope with another problem with rhinal labels - the rhinal.thresh labels are overlapping and I would need to correctly assign vertices in the label intersection (see my previous post http://www.mail-archive.com/freesurfer@nmr.mgh.harvard.edu/msg51919.html ).
Regards,
Antonin
Try adding --no-unknown to the label2annot command line On 02/28/2017 04:45 PM, Antonin Skoch wrote:
Dear experts,
I would like to create modified aparc.a2009s+aseg file with relevant parts of parahippocampal cortical ribbon voxel labels replaced by labels derived from surface labels of entorhinal and parahippocampal cortex (created also by default in recon-all). This modified aparc.a2009s+aseg file I want to use for streamline assignment in structural connectome generation in MrTrix3.
I think that mri_label2vol is not optimal way to do it since it would leave some voxels in the ribbon unassigned.
I think that the better, but much complicated, way to do this is to modify aparc.a2009s.annot with the information from these labels and then run again mris_aparc2aseg.
I tried to do this by using:
mri_annotation2label
and
mris_label2annot --hemi lh --subject my_subject --ldir my_labels --a my_aparc.a2009s --ctab my_aparc.annot.a2009s.ctab --debug
I took the aparc.annot.a2009s.ctab from the my_subject/label directory and added to the end 2 row with entorrhinal and perirhinal parcellations with unique RGB values to assure the relevant parts of parahippocampal gyrus label are replaced by these new labels I want to supply.
But the resulting new .annot file is not correct - the labels are in correct position on cortical surfaces, but the label names of all labels are shuffled.
I even tried the sequence of mri_annotation2label, mris_label2annot without adding new labels, just converting annotation to labels and back, and the annotation naming is also corrupted.
I also tried to create new annotation just from 2 new labels, preparing .ctab file and running mris_label2annot by explicitly specifying my 2 labels like
mris_label2annot --hemi lh --subject my_subject --l lh_labels/lh.perirhinal_exvivo.thresh.label --l lh_labels/lh.entorhinal_exvivo.thresh.label --a rhinal_aparc.a2009s --debug --ctab rhinal_aparc.annot.a2009s.ctab
In this case the label names in annotation are swapped (entorhinal is perirhinal and vice versa), swapped are also file names of labels which I tried to back convert by using mri_annotation2label.
I am using quite recent build of dev version of Freesurfer from 28/2/2017.
Could you suggest where could be the problem?
Or could you advice different, possibly more simple way, how to achieve my goal?
Thank you in advance.
Regards,
Antonin Skoch
freesurfer@nmr.mgh.harvard.edu