IDC2797: improving UI for SR qualitative measurements and bug fixes (#2832)
This commit is contained in:
1 parent
5d6cf2a609
commit
1bcb0acf9f
12 files changed
+241
-80
No files matched your search
@@ -128,9 +128,9 @@ const checkIfCanAddMeasurementsToDisplaySet = (
|
||||
const imageIds = images.map(i => i.getImageId());
|
||||
const SOPInstanceUIDs = images.map(i => i.SOPInstanceUID);
|
||||
imageDisplaySet.SRLabels = [];
|
||||
const colors = new Map();
|
||||
measurements.forEach(measurement => {
|
||||
const { coords } = measurement;
|
||||
|
||||
coords.forEach((coord, index) => {
|
||||
if (coord.ReferencedSOPSequence !== undefined) {
|
||||
const imageIndex = SOPInstanceUIDs.findIndex(
|
||||
@@ -143,19 +143,42 @@ const checkIfCanAddMeasurementsToDisplaySet = (
|
||||
const imageMetadata = images[imageIndex].getData().metadata;
|
||||
|
||||
if (coord.GraphicType === 'TEXT') {
|
||||
const key =
|
||||
measurement.labels[index].label + measurement.labels[index].value;
|
||||
let color = colors.get(key);
|
||||
if (!color) {
|
||||
// random dark color
|
||||
color =
|
||||
'hsla(' + Math.floor(Math.random() * 360) + ', 70%, 30%, 1)';
|
||||
colors.set(key, color);
|
||||
}
|
||||
|
||||
measurement.labels[index].color = color;
|
||||
measurement.isSRText = true;
|
||||
measurement.labels[index].visible = true;
|
||||
|
||||
imageDisplaySet.SRLabels.push({
|
||||
ReferencedSOPInstanceUID:
|
||||
coord.ReferencedSOPSequence.ReferencedSOPInstanceUID,
|
||||
labels: measurement.labels[index],
|
||||
});
|
||||
}
|
||||
|
||||
addMeasurement(
|
||||
measurement,
|
||||
imageId,
|
||||
imageMetadata,
|
||||
imageDisplaySet.displaySetInstanceUID
|
||||
);
|
||||
if (index === 0) {
|
||||
addMeasurement(
|
||||
measurement,
|
||||
imageId,
|
||||
imageMetadata,
|
||||
imageDisplaySet.displaySetInstanceUID
|
||||
);
|
||||
}
|
||||
} else {
|
||||
addMeasurement(
|
||||
measurement,
|
||||
imageId,
|
||||
imageMetadata,
|
||||
imageDisplaySet.displaySetInstanceUID
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -26,8 +26,10 @@ export default function addMeasurement(
|
||||
|
||||
const measurementData = {
|
||||
TrackingUniqueIdentifier: measurement.TrackingUniqueIdentifier,
|
||||
TrackingIdentifier: measurement.TrackingIdentifier,
|
||||
renderableData: {},
|
||||
labels: measurement.labels,
|
||||
isSRText: measurement.isSRText,
|
||||
};
|
||||
|
||||
measurement.coords.forEach(coord => {
|
||||
|
||||
@@ -6,7 +6,8 @@ export const dicomSRDisplayTool = {
|
||||
options: {
|
||||
measurementTable: {
|
||||
displayFunction: data => {
|
||||
return `(SR) ${data.lesionNamingNumber ||
|
||||
return `(SR) ${data.TrackingIdentifier ||
|
||||
data.lesionNamingNumber ||
|
||||
data.measurementNumber ||
|
||||
data.text ||
|
||||
''}`;
|
||||
|
||||
Reference in new issue
Block a user