Skip to content

Commit 286c6be

Browse files
JamesAPettsradiologics-kate
authored andcommitted
fix: 🐛 SVG orientation fix (OHIF#117)
1 parent a463a9d commit 286c6be

File tree

3 files changed

+15
-9
lines changed

3 files changed

+15
-9
lines changed

examples/VTKRotatableCrosshairsExample.js

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,12 @@ import vtkVolume from 'vtk.js/Sources/Rendering/Core/Volume';
1313
import vtkVolumeMapper from 'vtk.js/Sources/Rendering/Core/VolumeMapper';
1414

1515
const url = 'https://server.dcmjs.org/dcm4chee-arc/aets/DCM4CHEE/rs';
16+
1617
const studyInstanceUID =
17-
'1.3.6.1.4.1.14519.5.2.1.2744.7002.373729467545468642229382466905';
18-
const ctSeriesInstanceUID =
19-
'1.3.6.1.4.1.14519.5.2.1.2744.7002.182837959725425690842769990419';
18+
'1.3.12.2.1107.5.2.32.35162.30000015050317233592200000046';
19+
const mrSeriesInstanceUID =
20+
'1.3.12.2.1107.5.2.32.35162.1999123112191238897317963.0.0.0';
21+
2022
const searchInstanceOptions = {
2123
studyInstanceUID,
2224
};
@@ -74,7 +76,7 @@ class VTKRotatableCrosshairsExample extends Component {
7476
const imageIds = await createStudyImageIds(url, searchInstanceOptions);
7577

7678
let ctImageIds = imageIds.filter(imageId =>
77-
imageId.includes(ctSeriesInstanceUID)
79+
imageId.includes(mrSeriesInstanceUID)
7880
);
7981

8082
const ctImageDataObject = loadDataset(ctImageIds, 'ctDisplaySet');

src/VTKViewport/vtkInteractorStyleRotatableMPRCrosshairs.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ function vtkInteractorStyleRotatableMPRCrosshairs(publicAPI, model) {
214214
pointToNewPosition[0] * pointToPreviousPosition[1] -
215215
pointToNewPosition[1] * pointToPreviousPosition[0];
216216

217-
if (determinant < 0) {
217+
if (determinant > 0) {
218218
angle *= -1;
219219
}
220220

src/VTKViewport/vtkSVGRotatableCrosshairsWidget.js

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,6 @@ function vtkSVGRotatableCrosshairsWidget(publicAPI, model) {
4747

4848
const quarterSmallestDimension = Math.min(width, height) / 4;
4949

50-
const halfWidth = width / 2;
51-
const halfHeight = height / 2;
52-
5350
// A "far" distance for line clipping algorithm.
5451
const farDistance = Math.sqrt(bottom * bottom + right * right);
5552

@@ -95,8 +92,15 @@ function vtkSVGRotatableCrosshairsWidget(publicAPI, model) {
9592
renderer
9693
);
9794

95+
// convert to svg coordinates:
96+
97+
const doubleSVGPosition = [
98+
doubleDisplayPosition[0] * scale,
99+
height - doubleDisplayPosition[1] * scale,
100+
];
101+
98102
let unitVectorFromCenter = [];
99-
vec2.subtract(unitVectorFromCenter, p, doubleDisplayPosition);
103+
vec2.subtract(unitVectorFromCenter, p, doubleSVGPosition);
100104
vec2.normalize(unitVectorFromCenter, unitVectorFromCenter);
101105

102106
const distantPoint = [

0 commit comments

Comments
 (0)