OHIF / Viewers

OHIF zero-footprint DICOM viewer and oncology specific Lesion Tracker, plus shared extension packages
https://docs.ohif.org/
MIT License
3.11k stars 3.28k forks source link

[Bug] If viewport grid are displaying the same orientation view in 2 or more viewports crosshairs is broken. #3486

Open salimkanoun opened 1 year ago

salimkanoun commented 1 year ago

Describe the Bug

Crosshairs has an issue if the users changes the viewport orientation and displays multiple time the same volume orientation, errors are raised and ohif display is broken.

Steps to Reproduce

  1. Start a grid layout with 3 viewport on a reconstructable study (axial / coronal / saggital such has MPR HP)
  2. Activate crosshairs
  3. Change one viewport orientation ex axial to coronal, the display is updated so you have to coronal viewport => the cross hair seems to be lost, if you change the last viewport to coronal too it breaks everything

The current behavior

Error making the user needing to restart OHIF

The expected behavior

If a same orientation is display multiple time in different viewport, crosshair should be duplicated in each viewport without failing.

OS

Windows

Node version

18

Browser

Chrome updated

salimkanoun commented 11 months ago

Update : Crosshair doesn't seems broken anymore but when displaying 2 viewport same orientation and returning displaying 3 different axis, the crosshair position take a position outside the image

sedghi commented 11 months ago

So is there a remaining bug you are saying?

salimkanoun commented 11 months ago

Yes it is there are inconsistencies in the cross hairs position if a same orientation is displayed in multiple viewport

sedghi commented 11 months ago

After our discussion with Salim, we have identified a multifaceted issue. Specifically, when there are more than three viewports, there is currently no standardized method for handling the manipulation of handles due to the presence of multiple lines on the viewports.

One possible solution we considered is having the additional viewports project their lines onto the three main viewports. However, I remain unconvinced that the existing reference lines are inadequate for this particular use case.

salimkanoun commented 11 months ago

Hum I thought that reference line are only for stack viewport and crosshairs replace the reference line for volume viewport ?

But yes it is basically the same feature, the feature of the crosshairs is to be interactable and this tool can be limited to up to 3 viewport only. Then you have the reference line to display the position of viewport X on the image of viewport Y.

I the reference line if you can specify which viewport orientation should be displayed on which other viewport than i guess it will be customizable in the Hanging protocols so you have full controls of how many reference line you want to render and keep the crosshair separatly for interaction with the limitation of 3 maximum viewport (per display set)

sedghi commented 11 months ago

No reference lines are for both stack and volume viewports.

salimkanoun commented 11 months ago

OK great so I think we can have 2 tools : Crossair for the specific case of interaction and limited to 3 viewport Reference line for all other case in which you want to project a viewport position into another