Qoala-T / QC

Qoala-T is a supervised-learning tool for quality control of FreeSurfer segmented MRI data
Other
72 stars 15 forks source link

FYI-- Python version issue in Freesurfer. #1

Closed jlhanson5 closed 4 years ago

jlhanson5 commented 6 years ago

Hello Drs. Wierenga & Klapwijk (and other Qoala-T users),

I just wanted to send a quick note regarding potentially specifying the python version stats2table_bash_qoala_t.sh. I tried to run that script right after cloning the repo, but got this error (note: I just made the path a $1 variable to specify after the sh call)--

jamielh@pfc:~/Volumes/Hanson/Neuroimaging_Resources/Qoala-T$ ./stats2table_bash_qoala_t.sh /home/jamielh/Volumes/Hanson/Duke_PAC/proc/Freesurfer This bash script will create table from ?.stats files Written by Jamaan Alghamdi & Dr. Vanessa Sluming University of Liverpool jamaan.alghamdi@gmail.com http://www.easyneuroimaging.com 20/12/2010

File "/usr/local/pkg/freesurfer//bin/asegstats2table", line 195 print 'ERROR: subjects are not specified (use --subjects SUBJECTS)' ^ SyntaxError: invalid syntax File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')? File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')? File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')? File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')? File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')? File "/usr/local/pkg/freesurfer//bin/aparcstats2table", line 156 print 'ERROR: atleast 1 subject must be provided' ^ SyntaxError: Missing parentheses in call to 'print'. Did you mean print(print 'ERROR: atleast 1 subject must be provided')?

===

Some googling on the Freesurfer list noted that there are sometimes issues with Python version of folks system (i.e., Python 2 v. 3 don't play well together). See this link.

It might be there useful to add a fuller call to the stats2table_bash_qoala_t.sh call (e.g., python2 $FREESURFER_HOME/bin/asegstats2table).

*** Also, my asegstats2table doesn't take hemisphere-based option calls. If I now try, python2 $FREESURFER_HOME/bin/asegstats2table --subjects $list --hemi lh --meas volume --skip --tablefile aparc_volume_lh.txt

I got this error asegstats2table: error: no such option: --hemi

I think I have the newest version of Freesurfer (but I'm not 100% about that). Thoughts on how to tackle that issue? I'm still working through things, but thanks for the tool development. Looks promising.

Best, Jamie.

eduardklap commented 6 years ago

Dear Jamie, Thanks for trying out our tool and reporting these problems! Hope I can help a bit, because these issues are more specific for FreeSurfer / stats2table. Most important thing is that for the Qoala-T tool the specific aseg/aparc files as listed in stats2table_bash_qoala_t.sh are needed.

It might be there useful to add a fuller call to the stats2table_bash_qoala_t.sh call (e.g., python2 $FREESURFER_HOME/bin/asegstats2table).

Good point, will add this as a possible solution. On my system it does work with python 3.5.2 however, so I wouldn't recommend it as a standard solution.

*** Also, my asegstats2table doesn't take hemisphere-based option calls. If I now try, python2 $FREESURFER_HOME/bin/asegstats2table --subjects $list --hemi lh --meas volume --skip --tablefile aparc_volume_lh.txt

I got this error asegstats2table: error: no such option: --hemi

The error here is because you used asegstats2table, but it must be aparcstats2table I think: python2 $FREESURFER_HOME/bin/aparcstats2table --subjects $list --hemi lh --meas volume --skip --tablefile aparc_volume_lh.txt

Hope this works! Let us know if you run into any other problems.

Best, Eduard

eduardklap commented 4 years ago

FYI: some time ago @OPVeth wrote a super useful R script to gather all the individual FreeSurfer output needed to run Qoala-T.

It can be found here: https://github.com/Qoala-T/QC/blob/master/Scripts/Stats2Table/Stats2Table.R

So no need for the old python Stats2table script anymore!

Best, Eduard