fix: x-ray pixel spacing calibration (#4922)

This commit is contained in:
Pedro Köhler authored and GitHub committed 2025-04-09 09:55:51 -04:00
1 parent 0d2ccc5830
commit f6f60a63d2
14 files changed
+203 -300

No files matched your search

@@ -1,12 +1,13 @@
import queryString from 'query-string';
import dicomParser from 'dicom-parser';
import { utilities } from '@cornerstonejs/core';
import { imageIdToURI } from '../utils';
import getPixelSpacingInformation from '../utils/metadataProvider/getPixelSpacingInformation';
import DicomMetadataStore from '../services/DicomMetadataStore';
import fetchPaletteColorLookupTableData from '../utils/metadataProvider/fetchPaletteColorLookupTableData';
import toNumber from '../utils/toNumber';
import combineFrameInstance from '../utils/combineFrameInstance';
import formatPN from '../utils/formatPN';
const { calibratedPixelSpacingMetadataProvider, getPixelSpacingInformation } = utilities;
class MetadataProvider {
private readonly imageURIToUIDs: Map<string, any> = new Map();
@@ -517,7 +518,7 @@ const WADO_IMAGE_LOADER = {
// Fallback for DX images.
// TODO: We should use the rest of the results of this function
// to update the UI somehow
const { PixelSpacing } = getPixelSpacingInformation(instance);
const { PixelSpacing, type } = getPixelSpacingInformation(instance);
let rowPixelSpacing;
let columnPixelSpacing;
@@ -531,6 +532,11 @@ const WADO_IMAGE_LOADER = {
let imageOrientationPatient;
if (PixelSpacing) {
[rowPixelSpacing, columnPixelSpacing] = PixelSpacing;
calibratedPixelSpacingMetadataProvider.add(instance.imageId, {
rowPixelSpacing: parseFloat(PixelSpacing[0]),
columnPixelSpacing: parseFloat(PixelSpacing[1]),
type,
});
} else {
rowPixelSpacing = columnPixelSpacing = 1;
usingDefaultValues = true;