diff --git a/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx b/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx index 867703a71..178705f40 100644 --- a/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx +++ b/extensions/cornerstone/src/Viewport/Overlays/ViewportOrientationMarkers.tsx @@ -64,7 +64,7 @@ function ViewportOrientationMarkers({ return ''; } - let rowCosines, columnCosines; + let rowCosines, columnCosines, isDefaultValueSetForRowCosine, isDefaultValueSetForColumnCosine; if (viewportData.viewportType === 'stack') { const imageIndex = imageSliceData.imageIndex; const imageId = viewportData.data[0].imageIds?.[imageIndex]; @@ -74,7 +74,7 @@ function ViewportOrientationMarkers({ return false; } - ({ rowCosines, columnCosines } = metaData.get('imagePlaneModule', imageId) || {}); + ({ rowCosines, columnCosines, isDefaultValueSetForColumnCosine, isDefaultValueSetForColumnCosine } = metaData.get('imagePlaneModule', imageId) || {}); } else { if (!element || !getEnabledElement(element)) { return ''; @@ -90,7 +90,7 @@ function ViewportOrientationMarkers({ rowCosines = viewRight; } - if (!rowCosines || !columnCosines || rotation === undefined) { + if (!rowCosines || !columnCosines || rotation === undefined || isDefaultValueSetForRowCosine || isDefaultValueSetForColumnCosine) { return ''; } diff --git a/platform/app/cypress/integration/ImageConsistency.spec.js b/platform/app/cypress/integration/ImageConsistency.spec.js index 90672a190..52c27b5bf 100644 --- a/platform/app/cypress/integration/ImageConsistency.spec.js +++ b/platform/app/cypress/integration/ImageConsistency.spec.js @@ -45,7 +45,9 @@ describe('CS3D Image Consistency and Quality', () => { `&seriesInstanceUID=${seriesUID}&hangingProtocolId=@ohif/hpScale` ); cy.initCornerstoneToolsAliases(); - cy.initCommonElementsAliases(); + + const skipMarkers = true; + cy.initCommonElementsAliases(skipMarkers); }; it('TG18 Resolution Test Displayed 1:1', () => { @@ -53,6 +55,8 @@ describe('CS3D Image Consistency and Quality', () => { '2.16.124.113543.6004.101.103.20021117.061159.1', '2.16.124.113543.6004.101.103.20021117.061159.1.004' ); + + cy.wait(2000); testPixel(1018, 1028, 255); // Horizontal and vertical delta from this should not be contaminated // by values from center @@ -66,6 +70,8 @@ describe('CS3D Image Consistency and Quality', () => { it.skip('8 bit image displayable', () => { setupStudySeries('1.3.46.670589.17.1.7.1.1.7', '1.3.46.670589.17.1.7.2.1.7'); + cy.wait(1000); + // Compare with dcm2jpg generated values or by manually computing WL values testPixel(258, 257, 171); testPixel(259, 257, 166); @@ -77,6 +83,8 @@ describe('CS3D Image Consistency and Quality', () => { '1.3.6.1.4.1.25403.345050719074.3824.20170125113608.5' ); + cy.wait(1000); + // Compare with dcm2jpg generated values or by manually computing WL values testPixel(258, 277, 120); testPixel(259, 277, 122); diff --git a/platform/app/cypress/support/aliases.js b/platform/app/cypress/support/aliases.js index 0d677f5d2..1453c6f66 100644 --- a/platform/app/cypress/support/aliases.js +++ b/platform/app/cypress/support/aliases.js @@ -15,7 +15,7 @@ export function initCornerstoneToolsAliases() { } //Creating aliases for Common page elements -export function initCommonElementsAliases() { +export function initCommonElementsAliases(skipMarkers) { cy.get('[data-cy="trackedMeasurements-btn"]').as('measurementsBtn'); cy.get('.cornerstone-viewport-element').as('viewport'); cy.get('[data-cy="seriesList-btn"]').as('seriesBtn'); @@ -33,8 +33,17 @@ export function initCommonElementsAliases() { cy.get('[data-cy="viewport-overlay-bottom-right"]').as('viewportInfoBottomRight'); cy.get('[data-cy="viewport-overlay-bottom-left"]').as('viewportInfoBottomLeft'); - cy.get('.left-mid.orientation-marker').as('viewportInfoMidLeft'); - cy.get('.top-mid.orientation-marker').as('viewportInfoMidTop'); + console.debug('🚀 ~ skipMarkers:', skipMarkers); + if (skipMarkers) { + return; + } + + try { + cy.get('.left-mid.orientation-marker')?.as('viewportInfoMidLeft'); + cy.get('.top-mid.orientation-marker')?.as('viewportInfoMidTop'); + } catch (error) { + console.log('Error: ', error); + } } //Creating aliases for Routes diff --git a/platform/app/cypress/support/commands.js b/platform/app/cypress/support/commands.js index 4ad7a8f19..f8bd42915 100644 --- a/platform/app/cypress/support/commands.js +++ b/platform/app/cypress/support/commands.js @@ -232,8 +232,8 @@ Cypress.Commands.add('initCornerstoneToolsAliases', () => { }); //Initialize aliases for Common page elements -Cypress.Commands.add('initCommonElementsAliases', () => { - initCommonElementsAliases(); +Cypress.Commands.add('initCommonElementsAliases', skipMarkers => { + initCommonElementsAliases(skipMarkers); }); //Initialize aliases for Routes diff --git a/platform/core/src/classes/MetadataProvider.ts b/platform/core/src/classes/MetadataProvider.ts index 30525a2bc..a92fb5daa 100644 --- a/platform/core/src/classes/MetadataProvider.ts +++ b/platform/core/src/classes/MetadataProvider.ts @@ -561,7 +561,9 @@ const WADO_IMAGE_LOADER = { columns: toNumber(instance.Columns), imageOrientationPatient: toNumber(ImageOrientationPatient), rowCosines: toNumber(rowCosines || [0, 1, 0]), + isDefaultValueSetForRowCosine: toNumber(rowCosines) ? false : true, columnCosines: toNumber(columnCosines || [0, 0, -1]), + isDefaultValueSetForColumnCosine: toNumber(columnCosines) ? false : true, imagePositionPatient: toNumber(instance.ImagePositionPatient || [0, 0, 0]), sliceThickness: toNumber(instance.SliceThickness), sliceLocation: toNumber(instance.SliceLocation),