# Removal of Lightbox Mode

**URL:** https://discourse.slicer.org/t/removal-of-lightbox-mode/45227
**Category:** Feature requests
**Tags:** visualization
**Created:** [November 25, 2025, 9:42pm UTC](https://discourse.slicer.org/t/removal-of-lightbox-mode/45227 "2025-11-25T21:42:46Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![pieper](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/pieper/32/8_2.png) [@pieper](https://discourse.slicer.org/u/pieper)
#### Post date: [November 27, 2025, 6:42pm UTC](https://discourse.slicer.org/t/removal-of-lightbox-mode/45227/2 "2025-11-27T18:42:48Z")

</div>

Thanks for the feedback about the utility of lightbox mode. The mode was removed because it was carried forward from an older generation of Slicer infrastructure and difficult to maintain while modernizing other features. There’s some more detail, and a suggested alternative in the links below. It would be great to support your use case with one of the more sustainable implementations.

@lassoan @Thibault_Pelletier

> [@Who uses Lightbox view?](https://discourse.slicer.org/t/who-uses-lightbox-view/495):
>
> Slicer can show a lightbox view of slices (mosaic of slightly shifted views along the slice normal). The view can be activated in slice view controller by clicking on the lightbox icon and selecting number of views to show. [image] However, it seems there are many issues with lightbox views: interaction within lightbox views is extremely difficult to implement correctly (see for example this issue [fiducial shows in wrong lightbox cell · Issue #1690 · Slicer/Slicer · GitHub](https://issues.slicer.org/view.php?id=1690) - which explains w…

> <https://github.com/Slicer/Slicer/issues/4749>
>
> Support of lightbox views in displayable managers would introduce a lot of compl…exity. Updating a lightbox view is also very slow.
> 
> Replace dynamic rendering of lightbox views with generation of a single static image. Probably screen capture module can be upgraded to implement this.
> 
> See discussion here: https://discourse.slicer.org/t/who-uses-lightbox-view/495

> <https://github.com/Slicer/Slicer/pull/8773>
>
> Add scripted light box renderer manager proxy to allow python based applications…, including slicer-trame, to provide light box renderer and activate associated features including cross hair display.
> 
> @jcfr & @lassoan let me know if this should go in Slicer or if I should put that in the SlicerTrame extension.

> <https://github.com/Slicer/Slicer/pull/8776>
>
> This removes LightBox configuration from the slice view controller, and displaya…ble managers.
> 
> \- UI: remove LightBox actions/controls from slice controller and info widgets.
> \- Display managers: remove \`vtkMRMLLightBoxRendererManagerProxy\` and wiring.
> \- Coordinates: XYZ conversions now always set z = 0.0 (was LightBox id). X/Y remain pane-local by subtracting the renderer origin.
> \- Crosshair: add the actor to the default slice renderer and drop LightBox renderer switching logic.
> \- API:
> - Mark \`vtkMRMLAbstractDisplayableManager::GetRenderer(int)\` as deprecated (forwards to \`GetRenderer()\`; \`idx\` ignored).
> - Keep \`SetCrosshairRAS(..., int)\` but ignore the id parameter and document it as deprecated.
> - Mark \`qMRMLSliceInformationWidget::setLightboxLayoutRows\`/\`setLightboxLayoutColumns\` as deprecated
> - Mark \`qMRMLSliceControllerWidget::setLightbox\`/\`setLightboxTo\*\` as deprecated
> 
> Related issue(s) and pull-request(s):
> \- https://github.com/Slicer/Slicer/pull/8773
> \- https://github.com/Slicer/Slicer/issues/4749

---

_[View the full topic](https://discourse.slicer.org/t/removal-of-lightbox-mode/45227)._
