edickie / ciftify

The tools of the Human Connectome Project (HCP) adapted for working with non-HCP datasets
https://edickie.github.io/ciftify/
MIT License
112 stars 158 forks source link

trouble with mri_convert #133

Open StephDocTUM opened 4 years ago

StephDocTUM commented 4 years ago

Hi,

ciftify gives me the following error:

/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/utils.py:286: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details. config = yaml.load(yaml_stream) dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address Referenced from: //Users/neurolab/Desktop/Stephan/Programmes/freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ___emutls_get_address Referenced from: //Users/neurolab/Desktop/Stephan/Programmes/freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib Expected in: /usr/lib/libSystem.B.dylib

Traceback (most recent call last): File "/Users/neurolab/opt/anaconda3/bin/ciftify_recon_all", line 8, in sys.exit(main()) File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 1436, in main run_ciftify_recon_all(tmpdir, settings) File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 125, in run_ciftify_recon_all settings.registration, temp_dir) File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 683, in convert_FS_surfaces_to_gifti write_cras_file(freesurfer_subject_dir, cras_mat) File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 707, in write_cras_file 'brain.finalsurfs.mgz')]) File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/utils.py", line 442, in get_stdout stdout = subprocess.check_output(cmd_list) File "/Users/neurolab/opt/anaconda3/lib/python3.7/subprocess.py", line 411, in check_output **kwargs).stdout File "/Users/neurolab/opt/anaconda3/lib/python3.7/subprocess.py", line 512, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['mri_info', '/Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/Sub0002_Ses1_Scan_01_ANAT1.gz/mri/brain.finalsurfs.mgz']' died with <Signals.SIGABRT: 6>.

When I try manually in the terminal mri_convert /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/Sub0002_Ses1_Scan_01_ANAT1.gz/mri/brain.finalsurfs.mgz it does not give me any error.

Anyone an idea?

Thanks a lot. Stephan

edickie commented 4 years ago

what happens when you try mri_info /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/Sub0002_Ses1_Scan_01_ANAT1.gz/mri/brain.finalsurfs.mgz ?

StephDocTUM commented 4 years ago

gives me all the information:

type: MGH dimensions: 256 x 256 x 256 voxel sizes: 1.000000, 1.000000, 1.000000 type: UCHAR (0) fov: 256.000 dof: 0 xstart: -128.0, xend: 128.0 ystart: -128.0, yend: 128.0 zstart: -128.0, zend: 128.0 TR: 2200.00 msec, TE: 0.00 msec, TI: 0.00 msec, flip angle: 0.00 degrees nframes: 1 PhEncDir: UNKNOWN FieldStrength: 0.000000 ras xform present xform info: x_r = -1.0000, y_r = 0.0000, z_r = 0.0000, c_r = 6.0030 : x_a = 0.0000, y_a = -0.0000, z_a = 1.0000, c_a = 24.8667 : x_s = 0.0000, y_s = -1.0000, z_s = -0.0000, c_s = -16.3771

talairach xfm : /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/Sub0002_Ses1_Scan_01_ANAT1.gz/mri/transforms/talairach.xfm Orientation : LIA Primary Slice Direction: coronal

voxel to ras transform: -1.0000 0.0000 0.0000 134.0030 0.0000 -0.0000 1.0000 -103.1333 0.0000 -1.0000 -0.0000 111.6229 0.0000 0.0000 0.0000 1.0000

voxel-to-ras determinant -1

ras to voxel transform: -1.0000 0.0000 -0.0000 134.0030 -0.0000 -0.0000 -1.0000 111.6229 0.0000 1.0000 -0.0000 103.1333 -0.0000 -0.0000 -0.0000 1.0000

edickie commented 4 years ago

stack overflow says it might indicate a memory error - were you maybe running any other programs at the same time as ciftify? Can you replicate the error if you run ciftify by itself (i.e. with little/no other programs running)?

StephDocTUM commented 4 years ago

Dear all,

I am running the ciftify_recon_all command on a MBP 2019 with Catalina.

It works, when I type in the command (in my terminal) for every subject such as:

ciftify_recon_all --ciftify-work-dir /Users/neurolab/Desktop/Stephan/Oncology/Data/HCP --fs-subjects-dir /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon Sub0001_Ses1_Scan_01_ANAT1.gz

but when I use a loop(in a zsh terminal) for all my subjects I receive the error below:


#!/bin/csh 

set count = 3
set stop = 100

set att_file = /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/list.txt

while($count <= $stop)
set sub = `head -n $count $att_file | tail -n 1 | awk '{print $1}'`

echo %%-------------------------${count}--------------------------${sub}----------------------------

echo $sub 

ciftify_recon_all --ciftify-work-dir /Users/neurolab/Desktop/Stephan/Oncology/Data/HCP --fs-subjects-dir /Users/neurolab/Desktop/Stephan/Oncology/Data/Recon $sub

@ count = $count + 1

end

/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/utils.py:286: YAMLLoadWarning: calling yaml.load() without Loader=... is deprecated, as the default Loader is unsafe. Please read https://msg.pyyaml.org/load for full details.
  config = yaml.load(yaml_stream)
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address
  Referenced from: //Users/neurolab/Desktop/Stephan/Programmes/freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib
  Expected in: /usr/lib/libSystem.B.dylib

dyld: Symbol not found: ___emutls_get_address
  Referenced from: //Users/neurolab/Desktop/Stephan/Programmes/freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib
  Expected in: /usr/lib/libSystem.B.dylib

Traceback (most recent call last):
  File "/Users/neurolab/opt/anaconda3/bin/ciftify_recon_all", line 8, in <module>
    sys.exit(main())
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 1436, in main
    run_ciftify_recon_all(tmpdir, settings)
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 125, in run_ciftify_recon_all
    settings.registration, temp_dir)
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 683, in convert_FS_surfaces_to_gifti
    write_cras_file(freesurfer_subject_dir, cras_mat)
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/bin/ciftify_recon_all.py", line 707, in write_cras_file
    'brain.finalsurfs.mgz')])
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/site-packages/ciftify/utils.py", line 442, in get_stdout
    stdout = subprocess.check_output(cmd_list)
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/subprocess.py", line 411, in check_output
    **kwargs).stdout
  File "/Users/neurolab/opt/anaconda3/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['mri_info', '/Users/neurolab/Desktop/Stephan/Oncology/Data/Recon/Sub0014_Ses1_Scan_01_ANAT1.gz/mri/brain.finalsurfs.mgz']' died with <Signals.SIGABRT: 6>.

The process never uses all of my memory. But I think the same error comes up when I run ciftify with some other programmes. But running the loop alone also brings up the same error.