2015 Winter Project Week:SlicerMicroMacroScale

From NAMIC Wiki
Jump to: navigation, search
Home < 2015 Winter Project Week:SlicerMicroMacroScale

Key Investigators

  • Nicole Aucoin (BWH)
  • Bradley Lowekamp (Medical Science Computing)
  • Jim Miller (GE)

Project Description


  • Fix bugs exposed by using small and large scale images

Approach, Plan


  • Investigating the base scaling assumptions for vtkSeedWidgets in 3d ctkVTKRenderView vs 2d ctkVTKSliceView
    • writing a pure CTK test case - it shows that in the default set up for the two kinds of views and mirrored seed widgets the seeds are the same size (large)
    • in Slicer, the camera in the 2d view is looking at the 2d scene from a camera distance of 1.0 while the default 3D distance is 600.0
    • in the pure CTK test case, resetting the 3D camera to a position (0,0,600) the same issues can be seen as are visible in Slicer (tiny seed in 3D, large in 2D)
    • talking with Jim:
      • when background volume changes, reset the camera position for each slice view to take into account the bounding box of the data
      • use a distance calculation formula that takes the viewing angle into account (default 30): (max_data_dim/2.0) / sin(view_angle / 2.0)
    • once have a new setting:
      • reset the scale factor 2d on the 2d fid disp manager to 1.0
      • reset the Z distance of the camera position in the slice view
        • make sure set the camera on the correct renderer
          • there is an overlay renderer on the slice viewers so using the first renderer from the collection in my ctk example didn't work
          • get the renderer from the light box manager at all times, a light box index of 0 is always fine
          • turns out that when creating a new seed, you need to explictly reset the renderer on the new handle
          • lost ability to manipulate seeds, need more debugging
      • trigger rerendering of the seeds (in tests, we needed to remove all and readd them to see the new size)
      • double check placing rulers and ROIs in 2d
      • double check display to world coordinate calculation in the 2d disp managers