cannot find *niml.lt files in SUMA folder

Hi,
I find it a bit strange that in the SUMA folder of some subjects that I recently run, the *niml.lt files are missing. I thought they are automatically generated by @SUMA_Make_Spec_FS, yes? I checked the log of recon-all and @SUMA_Make_Spec_FS but there are no errors. Can you tell me how I can find the index of each brain region from SUMA folder?

Thanks!

Hi,
Actually I found these messages in the log of @SUMA_Make_Spec_FS:

Program 3dmerge
3dmerge: edit and combine 3D datasets, by RW Cox
++ editing input dataset in memory (64.0 MB)
.-- Wrote edited dataset: ./aparc+aseg_rank.nii

sed: -e expression #1, char 4: unknown command: `0’
li: Subscript out of range.
Failed to make roi labels for mri/aparc+aseg.mgz

Any idea why this happens? And for the participant, when I use apart+aseg_rank.nii to extract ROI of, say lateral occipital lobe, based on the region index in my previous scripts (when I did have the niml.lt files), it appear apparently at the wrong place in the brain.

Thanks a lot for your help!

Hi,
I tried @FS_roi_label -name ALL -labeltable aparc+aseg_rank.lt -rankmap aparc+aseg_rank.rankmap.1D command and got the exact same error. But surprisingly this only happens to one of the cluster we are using here but not the other.
Do you know what might be the cause of this?

Thanks!

Would it be possible for you to upload some example data? I’ll PM you with upload instructions.

I’m not able to reproduce this either. Be sure to configure your Freesurfer environment variables properly, so that the script can find FreeSurferColorLUT.txt. Try running the @FS_roi_label script with “tcsh -x @FS_roi_label …” to see the exact step that is the problem here.

Hi Daniel,
Thank you!

It seems to me that $FREESURFER_HOME points to the right location:

[mcai@spock-login SUMA]$ ls $FREESURFER_HOME
ASegStatsLUT.txt FreeSurferEnv.sh sessions
AUTHORS fsafd SetUpFreeSurfer.csh
average fsfast SetUpFreeSurfer.sh
bin lib Simple_surface_labels2009.txt
build-stamp.txt LICENSE subjects
data license.txt tkmeditParcColorsCMA
DefectLUT.txt matlab tktools
diffusion mni trctrain
docs NOTICE VERSION
FreeSurferColorLUT.txt README WMParcStatsLUT.txt
FreeSurferEnv.csh SegmentNoLUT.txt

And here is the output of tcsh -x @FS_roi_label :

[mcai@spock-login SUMA]$ tcsh -x /jukebox/pkgs/AFNI/openmp-6-24-2016/@FS_roi_label -name ALL -rankmap aparc+aseg_rank.rankmap.1D
set fsdb = FreeSurferColorLUT.txt
set uid = 3dnewid -fun
3dnewid -fun
set tmpP = .XYZ_e2CprMj1j0tYQALMduNnyg.
set stat = 1
if ( -name == || -name == -h || -name == -help ) then
if ( XYZ_e2CprMj1j0tYQALMduNnyg == || .XYZ_e2CprMj1j0tYQALMduNnyg. == ) then
goto PARSE
set name =
set rankmap =
set rank =
set lab =
set Narg = 4
set cnt = 1
set SurfLabelFile =
set Do_Surf = -1
set labeltable =
while ( 1 < = 4 )
if ( -name == -surf_annot_cmap ) then
if ( -name == -rank ) then
if ( -name == -rankmap ) then
if ( -name == -labeltable ) then
if ( -name == -name ) then
set SubLoc = 1
if ( -1 == 1 ) then
if ( 1 == 4 ) then
@ cnt ++
set Do_Surf = 0
set name = ALL
set NxtInd = 2
endif
endif
if ( ALL == -sname ) then
if ( ALL == -lab || ALL == -label ) then
if ( ALL == -slab || ALL == -surf_label ) then
@ cnt ++
end
while ( 3 < = 4 )
if ( -rankmap == -surf_annot_cmap ) then
if ( -rankmap == -rank ) then
if ( -rankmap == -rankmap ) then
set SubLoc = 3
if ( 3 == 4 ) then
@ cnt ++
set rankmap = aparc+aseg_rank.rankmap.1D
if ( aparc+aseg_rank.rankmap.1D != aparc+aseg_rank.rankmap.1D ) then
if ( ! -f aparc+aseg_rank.rankmap.1D ) then
set NxtInd = 4
endif
endif
if ( aparc+aseg_rank.rankmap.1D == -labeltable ) then
if ( aparc+aseg_rank.rankmap.1D == -name ) then
if ( aparc+aseg_rank.rankmap.1D == -sname ) then
if ( aparc+aseg_rank.rankmap.1D == -lab || aparc+aseg_rank.rankmap.1D == -label ) then
if ( aparc+aseg_rank.rankmap.1D == -slab || aparc+aseg_rank.rankmap.1D == -surf_label ) then
@ cnt ++
end
while ( 5 < = 4 )
@ NxtInd ++
if ( 5 > 4 ) then
set others_list = ( )
else
if ( != && 0 == 0 ) then
if ( == && == ) then
if ( 0 == 1 ) then
endif
if ( 0 > 0 ) then
if ( == && == && ALL == ) then
if ( != && != ) then
if ( != && aparc+aseg_rank.rankmap.1D == ) then
if ( != && aparc+aseg_rank.rankmap.1D == ) then
if ( != && name == ) then
if ( aparc+aseg_rank.rankmap.1D != && == && ALL == ) then
if ( ALL != && != ) then
if ( ALL != && != ) then
if ( 0 == -1 ) then
goto RETURN_PARSE
if ( 0 ) then
set pplabels = /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.tmpvollabels.txt
if ( ! -f /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.tmpvollabels.txt ) then
set bin = which mris_convert
which mris_convert
if ( 0 ) then
set fsp = /jukebox/pkgs/FREESURFER/5.3.0/bin
if ( ! -f /jukebox/pkgs/FREESURFER/5.3.0/bin/FreeSurferColorLUT.txt ) set fsp = /jukebox/pkgs/FREESURFER/5.3.0
set fsp = /jukebox/pkgs/FREESURFER/5.3.0
if ( ! -f /jukebox/pkgs/FREESURFER/5.3.0/FreeSurferColorLUT.txt ) set fsp = /jukebox/pkgs/FREESURFER
if ( ! -f /jukebox/pkgs/FREESURFER/5.3.0/FreeSurferColorLUT.txt ) set fsp = /jukebox/pkgs/FREESURFER
if ( ! -f /jukebox/pkgs/FREESURFER/5.3.0/FreeSurferColorLUT.txt ) then
endif
sed s/^ *//;s/ *$//;s/ {1,}/ /g /jukebox/pkgs/FREESURFER/5.3.0/FreeSurferColorLUT.txt
sed s/^/#/g
cut -d -f1,2
endif
endif
if ( ALL != ) then
if ( ALL == ALL ) then
grep -i #[0123456789] /tmp/.XYZ_e2CprMj1j0tYQALMduNnyg.tmpvollabels.txt
else
cut -d -f1 /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.nm.txt
cut -d -f2 /tmp/.XYZ_e2CprMj1j0tYQALMduNnyg.nm.txt
if ( aparc+aseg_rank.rankmap.1D != ) then
set rankmax = 0
set cnt_lt = 0
1dcat aparc+aseg_rank.rankmap.1D[1]
1dcat aparc+aseg_rank.rankmap.1D
set nl = wc -l /tmp/${tmpP}nm.txt
wc -l /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.nm.txt
set n = 1
printf %-6s %-6s %-8s \n Rank Label Name
Rank Label Name
while ( 1 < 1268 )
set lab = sed -n "${n}p" /tmp/${tmpP}nmi.txt | sed 's/#//'
sed s/#//
sed -n 1p /tmp/.XYZ_e2CprMj1j0tYQALMduNnyg.nmi.txt
set nm = sed -n "${n}p" /tmp/${tmpP}nmn.txt
sed -n 1p /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.nmn.txt
set ilab = \grep -n -w $lab /tmp/${tmpP}rmi.1D | sed 's/:/ /g'
sed s/:confused: /g
grep -n -w 0 /tmp/.XYZ_e2CprMj1j0tYQALMduNnyg.rmi.1D
if ( 1 0 != ) then
set li = sed -n "${ilab[1]}p" /tmp/${tmpP}rmcl.1D
sed -n 1 0p /tmp/
.XYZ_e2CprMj1j0tYQALMduNnyg.rmcl.1D
sed: -e expression #1, char 4: unknown command: `0’
li: Subscript out of range.

Does this give you any clue?

Best,
Mingbo