Hi,

Thanks for your reply. I tried mri_surf2surf --reshape or many other
methods but none of them could help.

Then based on your explanation, I tried *mri_convert *.nii.gz *.mgz*, and I
could get data from mgz file, it really helps me, thank you!

Besides, I am interested in the difference of dimension between "-surface
self"*(dim: -1 1 1)* and "-surface fsaverage"*(dim: 27307 1 6)*, why does
the dimension of "-surface fsaverage" be set like this but "-surface self"
do not? Is it possible to set the dimension of "-surface self" during
preprocessing to make sure every number is less than 32k?

Best,

Bai Haohao



On Thu, Jul 6, 2017 at 7:07 AM, Douglas Greve <gr...@nmr.mgh.harvard.edu>
wrote:

> When the nifti standard was adopted, they used a short int to represent
> the dimensions. Unfortunately, this only allows for a maximum dimension of
> 32k, which is not big enough for surfaces. So I hacked the FS nifti format
> to put a -1 as the first dim at which point the FS code will go to another
> place in the header to get the spatial dimensions. It is possible to
> reshape the spatial dimensions as long as the largest prime factor is less
> than 32k (see mri_surf2surf with --reshape option). Other than that, you
> might ask the nibabel people to program the same hack.
>
> On 6/25/17 6:48 AM, Bai Haohao wrote:
>
> Hello Freesurfer experts,
>
> I am running my data with preproc-sess to project my func data to
> individual anatomy file, and the command shows as below:
>
> preproc-sess -sf ${Sesslist} -fsd "bold" -surface self lhrh -fwhm 0
> -per-run -force
>
>
> And the subjectname point to the subject dir that created after recon-all.
>
> After the running completed, I try to load data from
> fmcpr.sm0.self.lh.nii.gz with nibabel, and I get this error info:
>
> >>> f.get_data()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   File "/usr/lib/pymodules/python2.7/nibabel/spatialimages.py", line 341,
> in get_data
>     return np.asanyarray(self._data)
>   File "/usr/lib/python2.7/dist-packages/numpy/core/numeric.py", line
> 512, in asanyarray
>     return array(a, dtype, copy=False, order=order, subok=True)
>   File "/usr/lib/pymodules/python2.7/nibabel/arrayproxy.py", line 55, in
> __array__
>     self._data = self._read_data()
>   File "/usr/lib/pymodules/python2.7/nibabel/arrayproxy.py", line 60, in
> _read_data
>     data = self.header.data_from_fileobj(fileobj)
>   File "/usr/lib/pymodules/python2.7/nibabel/analyze.py", line 486, in
> data_from_fileobj
>     data = self.raw_data_from_fileobj(fileobj)
>   File "/usr/lib/pymodules/python2.7/nibabel/analyze.py", line 458, in
> raw_data_from_fileobj
>     return array_from_file(shape, dtype, fileobj, offset)
>   File "/usr/lib/pymodules/python2.7/nibabel/volumeutils.py", line 493,
> in array_from_file
>     raise IOError(msg)
> IOError: Expected -1804 bytes, got 264809160 bytes from file
> "fmcpr.vol2surf.lh.nii.gz"
>  - could the file be damaged?
>
>
> Then I check the file header by nibabel, and I get this:
>
>
> >>> print(f.get_header())
> <class 'nibabel.nifti1.Nifti1Header'> object, endian='<'
> sizeof_hdr      : 348
> data_type       :
> db_name         :
> extents         : 0
> session_error   : 0
> regular         :
> dim_info        : 0
> dim             : [  4  -1   1   1 451   1   1   1]
> intent_p1       : 0.0
> intent_p2       : 0.0
> intent_p3       : 0.0
> intent_code     : none
> datatype        : float32
> bitpix          : 32
> slice_start     : 0
> pixdim          : [-1.          1.          1.          1.
>  2.00000072  1.          1.
>   1.        ]
> vox_offset      : 352.0
> scl_slope       : 0.0
> scl_inter       : 0.0
> slice_end       : 0
> slice_code      : unknown
> xyzt_units      : 10
> cal_max         : 0.0
> cal_min         : 0.0
> slice_duration  : 0.0
> toffset         : 0.0
> glmax           : 0
> glmin           : 146790
> descrip         : FreeSurfer May 13 2013
> aux_file        :
> qform_code      : scanner
> sform_code      : scanner
> quatern_b       : -0.0115927606821
> quatern_c       : -0.996071338654
> quatern_d       : -0.0864994972944
> qoffset_x       : 73344.5546875
> qoffset_y       : -1492.14978027
> qoffset_z       : -2311.28955078
> srow_x          : [ -9.99280393e-01   2.56918129e-02   2.79041883e-02
> 7.33445547e+04]
> srow_y          : [  2.04970520e-02   9.84766901e-01  -1.72667429e-01
>  -1.49214978e+03]
> srow_z          : [  3.19152586e-02   1.71971247e-01   9.84584868e-01
>  -2.31128955e+03]
> intent_name     :
> magic           : n+1
>
>
>
>
> Note that the dim has value -1, but when I use -surface fsaverage, the dim
> is correct(show as below):
>
> dim             : [    4 27307     1     6   451     1     1     1]
>
>
> And I read the source code, the difference between self and fsaverage is
> appeared when running rawfunc2surf-sess, and log files are attached.
>
> I have tried many commands to load data from fmcpr.sm0.self.lh.nii.gz,
> such as fslview, freeview, mri_convert, mri_surf2surf, ...
>
> and only tksurfer could read this file by -timecourse
> fmcpr.sm0.self.lh.nii.gz.
>
> I want to figure out how could I fix it, and any suggestion would be
> helpful.
>
> Thanks in advance,
>
> Bai Haohao
>
>
> Version info:
> System: ubuntu-16.04.1-server-amd64
> Freesurfer: freesurfer-Linux-centos4_x86_64-stable-pub-v5.3.0-HCP
> nibabel: python-nibabel  1.2.2-1
>
>
>
> _______________________________________________
> Freesurfer mailing 
> listfreesur...@nmr.mgh.harvard.eduhttps://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
>
>
>
> _______________________________________________
> Freesurfer mailing list
> Freesurfer@nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
>
>
> The information in this e-mail is intended only for the person to whom it
> is
> addressed. If you believe this e-mail was sent to you in error and the
> e-mail
> contains patient information, please contact the Partners Compliance
> HelpLine at
> http://www.partners.org/complianceline . If the e-mail was sent to you in
> error
> but does not contain patient information, please contact the sender and
> properly
> dispose of the e-mail.
>
>
_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

Reply via email to