MICA-MNI / micapipe

micapipe from the Multimodal imaging and connectome analysis lab (http://mica-mni.github.io) at the Montreal Neurological Institute. Read The Docs documentation below
http://micapipe.readthedocs.io
GNU General Public License v3.0
80 stars 27 forks source link

Missing surface snapshots in QC report #39

Closed mrribbits closed 1 year ago

mrribbits commented 2 years ago

I successfully ran these modules: -proc_structural, -proc_freesurfer, -post_structural, -GD, -Morphology, -proc_dwi

When I run -QC_subj, I am missing the following in my report: 1- the Freesurfer native surfaces in the -proc_freesurfer section. 2- the output parcellations and the conte69 surfaces in the -post_structural section. 3- the registration of T1w in DWI space in the -proc_dwi section. 4- the surfaces in the Cortical morphology section.

When I check the QC log , this error stood out:

 INFO ]..... Creating matrices and Sankey diagram 
Loading required package: viridisLite

Attaching package: ‘viridis’

The following object is masked from ‘package:scales’:

    viridis_pal

Error in library("plotly") : there is no package called ‘plotly’
Execution halted

[ INFO ]..... Create surface visualizations 
2022-03-10 17:45:47.620 (   2.349s) [         2D806C0] vtkPythonAlgorithm.cxx:112    ERR| vtkPythonAlgorithm (0x4044235fc0): Failure when calling method: "ProcessRequest":
2022-03-10 17:45:47.628 (   2.356s) [         2D806C0]       vtkExecutive.cxx:752    ERR| vtkCompositeDataPipeline (0x4042cb61c0): Algorithm vtkPythonAlgorithm(0x4044235fc0) returned failure for request: vtkInformation (0x4041f3fbe0)
  Debug: Off
  Modified Time: 174
  Reference Count: 2
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0


2022-03-10 17:45:47.635 (   2.363s) [         2D806C0] vtkPythonAlgorithm.cxx:112    ERR| vtkPythonAlgorithm (0x4043a68740): Failure when calling method: "ProcessRequest":
2022-03-10 17:45:47.637 (   2.366s) [         2D806C0]       vtkExecutive.cxx:752    ERR| vtkCompositeDataPipeline (0x4041f31850): Algorithm vtkPythonAlgorithm(0x4043a68740) returned failure for request: vtkInformation (0x40458a3fc0)
  Debug: Off
  Modified Time: 306
  Reference Count: 2
  Registered Events: (none)
  Request: REQUEST_DATA
  FROM_OUTPUT_PORT: 0
  ALGORITHM_AFTER_FORWARD: 1
  FORWARD_DIRECTION: 0


2022-03-10 17:45:57.786 (  12.514s) [         2D806C0]vtkXOpenGLRenderWindow.:448    ERR| vtkXOpenGLRenderWindow (0x40458a6660): bad X server connection. DISPLAY=
qemu: uncaught target signal 6 (Aborted) - core dumped
/opt/micapipe/functions/micapipe_qc: line 189:   634 Aborted                 ${MICAPIPE}/functions/qc_surf.py -subBIDS "$idBIDS" -subDir "$subject_dir"

mrribbits commented 2 years ago

After more investigation, it looks like both surface snapshots and autotract snapshots fail for me when running the docker container on my linux box and my mac. However I can generate a complete QC_subj report if I run mica-pipe from a "bare-metal" installation on my linux box. So I'm good to go, but I think you may want to explore this issue for others (unless I'm the only one encountering it).

rcruces commented 2 years ago

Thank you for this information. I think we missed some packages on the docker I'll add them and test it for the next release. However I think the packages in in the build up function for the R environment. Which micapipe version are you using? and which docker version did you use?

mrribbits commented 2 years ago

On Ubuntu 20.04.4, my docker version is 20.10.7 and Micapipe version is v0.1.2.

thx!

PeerHerholz commented 2 years ago

Hi @mrribbits & @rcruces,

sorry for just seeing this now. I think the problem might be the docker utilization as by default this happens without any "screen". Ie the way the snapshots work, a virtual screen, to generate the graphics in and then save them, appears to be required. @rcruces IIRC we had a discussion about his in the distant past but I'm not sure on what we decided back then...

Cheers, Peer

rcruces commented 1 year ago

Sorry for the very late reply, unfortunately the previous -QC_subj had two incompatibilities when it was run with docker. The first was that the absolute paths in the html QC file were broken, and also few missing libraries to generate snapshots of the surfaces were missing. We took a pragmatic decision to discontinue the support of this html based QC and we went for pdf files, based on the new json metadata.

The current version solved this issues and the container was fully test to generate QC reports group and subject level.

We invite you to try the new version v0.2.0 Northen Flicker which has been optimized and enhanced in many different aspects. https://github.com/MICA-MNI/micapipe/releases/tag/v0.2.0