2024.05.14 Weekly Meeting - 11 AM start

Next Tuesday, we will be having our next weekly hangout at 11:00 AM ET until 12:00 PM ET, AFTER the Project Week Prep call. We will be using the same link as the Project Week Call

Anyone is welcome to join at this link:Launch Meeting - Zoom


Agenda:

Please post to this thread to put a topic on the agenda! We will try to prioritize agenda items during the meeting.


Thanks
Sam and J-Christophe

Problems with Slicermorph’s HiResScreenCapture module

Meeting notes

  • Discussed issue & improvements of @oothomas related to HiResScreenCapture module
    • Three approaches:

      1. Paraview-based approach - using a tile-based approach where the scene is rendered in multiple passes with different viewports
      2. offscreen rendering: Z-buffer was behaving differently, issue with text rendering
      3. Render Slicer view in a larger “window” - may cause issues with clipped window or inability to set sizes larger than the screen
    • Current effort are geared toward approach 3

      Experiment to make threeD view into a floating window:

      layoutManager = slicer.app.layoutManager()
      currentLayout = layoutManager.layout
      threeDWidget = layoutManager.threeDWidget(0)
      threeDWidget.setParent(None)
      threeDWidget.show()
      threeDWidget.size = qt.QSize(5000, 5000)
      print(threeDWidget.size)
      threeDWidget.grab().save("/tmp/file.png")
      
      # make sure the layout changes so that the threeDWidget is reparented and resized.
      differentLayout = slicer.vtkMRMLLayoutNode.SlicerLayoutCustomView
      assert differentLayout != currentLayout
      layoutManager.layout = differentLayout
      layoutManager.layout = currentLayout
      
  • Discussed the potential usefulness of a Python package that mocks 3D Slicer’s Python module for improved autocompletion in external editors like VSCode.