cornerstone3D
cornerstone3D copied to clipboard
[Bug] ReferenceLinesTool shows reference lines between series of differing frame-of-reference. Should require same frame-of-reference
Describe the Bug
When displaying two series with differing frame-of-reference and activate the referenceLinesTool, the two series still show the intersection line (reference line) when the two series are not the same frame-of-reference.
Steps to Reproduce
- Launch viewer.ohif.org
- Select the study either using https://viewer.ohif.org/viewer?StudyInstanceUIDs=1.3.6.1.4.1.25403.345050719074.3824.20170125095258.1 or select Patient name: Neptune, MRN:0000002 and launch [basic viewer]
- update the layout to be 2x1
- switch to [All] studies in thumbnail list
- replace the scout in the first viewport with series 3 from the 25-March-2014 scan. So now the left viewport has a coronal taken on March 25, and the right viewport has an axial taken on May 22 2014.
- use the DICOM Tag Browser to dump the frame-of-reference in each of the 2 viewports (search for 'frame' and you will get the (0020,0052) tag
- The two viewport have different frame-of-reference uid's.
- The reference line tool displays intersection line in either viewport which is not expected.
The current behavior
Reference lines are displayed between active viewport and another viewport when they have different frame-of-references.
The expected behavior
When a pair of viewports have different frame-of-reference, the reference line tool should not display a line.
More generally, all viewports except the active viewport display a reference line only if they share common frame-of-reference.
OS
linux (ubuntu)
Node version
20
Browser
Chrome Version 129.0.6668.100 (Official Build) (64-bit)
Issue reproduced using viewer.ohif.org on Oct 14 2024
oh, looks like I have duplicated this issue: https://github.com/cornerstonejs/cornerstone3D/issues/1297 (but with more detailed description)
but no worries, fix is ready for review :)
@John-Skinner should I make enforceSameFrameOfReference true by default?
Thanks kom482!
I'd make true be the default as it's likely what always should be the behavior. I can also appreciate that the current behavior is the 'false' mode, so there may be beneficial cases for 'false'.
I think this is done and we can close this