nipreps / mriqc

Automated Quality Control and visual reports for Quality Assessment of structural (T1w, T2w) and functional MRI of the brain
http://mriqc.readthedocs.io
Apache License 2.0
299 stars 132 forks source link

Mandatory FreeSurfer installation should be documented and checked for #1034

Closed hujb48 closed 7 months ago

hujb48 commented 2 years ago

HI, It is a great work and when i use mriqc, some errors appears. when I input mriqc test/ test_out/ participant --participant-label 01 some errors appears: traits.trait_errors.TraitError: The 'model' trait of a _SynthStripInputSpec instance must be a pathlike object or string representing an existing file, but a value of '<undefined>' <class 'str'> was specified. and the whole info in cmd is: (mriqc38) hu@hu-LEGION-REN7000K-26IAB:~/PycharmProjects/pythonProject$ mriqc test/ test_out/ participant --participant-label 01 221012-14:06:04,650 cli IMPORTANT:

Running MRIQC version 22.0.6:
  BIDS dataset path: /home/hu/PycharmProjects/pythonProject/test.
  Output folder: /home/hu/PycharmProjects/pythonProject/test_out.
  Analysis levels: ['participant'].
  221012-14:06:05,432 nipype.interface WARNING:
     FSLOUTPUTTYPE environment variable is not set. Setting FSLOUTPUTTYPE=NIFTI
  221012-14:06:05,441 nipype.interface WARNING:
     FSLOUTPUTTYPE environment variable is not set. Setting FSLOUTPUTTYPE=NIFTI
  Process Process-2:
  Traceback (most recent call last):
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/multiprocessing/process.py", line 315, in _bootstrap
      self.run()
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/multiprocessing/process.py", line 108, in run
      self._target(*self._args, **self._kwargs)
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/mriqc/cli/workflow.py", line 61, in build_workflow
      retval["workflow"] = init_mriqc_wf()
    File "<string>", line 2, in __setitem__
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/multiprocessing/managers.py", line 850, in _callmethod
      raise convert_to_error(kind, result)
  multiprocessing.managers.RemoteError: 
  ---------------------------------------------------------------------------
  Traceback (most recent call last):
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/multiprocessing/managers.py", line 243, in serve_client
       request = recv()
     File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/multiprocessing/connection.py", line 251, in recv
      return _ForkingPickler.loads(buf.getbuffer())
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/traits/has_traits.py", line 1410, in __setstate__
      self.trait_set(trait_change_notify=trait_change_notify, **state)
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/traits/has_traits.py", line 1520, in trait_set
      setattr(self, name, value)
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 330, in validate
      value = super(File, self).validate(objekt, name, value, return_pathlike=True)
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/nipype/interfaces/base/traits_extension.py", line 135, in validate
      self.error(objekt, name, str(value))
    File "/home/hu/anaconda3/envs/mriqc38/lib/python3.8/site-packages/traits/base_trait_handler.py", line 74, in error
raise TraitError(
  traits.trait_errors.TraitError: The 'model' trait of a _SynthStripInputSpec instance must be a pathlike object or string representing an existing file, but a value of '<undefined>' <class 'str'> was specified.

so what can i do to deal with the problems?

hujb48 commented 2 years ago

my dirs' structure is:

-test
 --sub-01
 --sub-02
 --sub-03
  ....

which is suitable for BIDS format.

victoris93 commented 2 years ago

Could someone address this issue?

flyfox2022 commented 2 years ago

i meet the the same problem! Could someone address this issue?

effigies commented 2 years ago

Looks like you need a version of FreeSurfer with the synthstrip models packaged.

_default_model_path = Path(_fs_home) / "models" / "synthstrip.1.pt" if _fs_home else Undefined

I assume FreeSurfer 7.2 or 7.3 would have that?

manuegrx commented 1 year ago

Hi everyone,

I have the same issue. I followed the "bare metal" installation instructions (here https://mriqc.readthedocs.io/en/latest/install.html) and there is no mention of Freesurfer installation. Is it mandatory for MRIQC ?

@flyfox2022 @hujb48 did you find a solution ?

Thank you very much

effigies commented 1 year ago

@manuegrx The latest versions of MRIQC use SynthStrip, which is a FreeSurfer tool. That should be added to the documentation. This is not configurable, as I understand it.