@cornerstonejs/adapters 2.0.0-beta.8 → 2.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +493 -0
- package/dist/esm/adapters/Cornerstone/Angle.d.ts +42 -0
- package/dist/esm/adapters/Cornerstone/Angle.js +93 -0
- package/dist/esm/adapters/Cornerstone/ArrowAnnotate.d.ts +49 -0
- package/dist/esm/adapters/Cornerstone/ArrowAnnotate.js +97 -0
- package/dist/esm/adapters/Cornerstone/Bidirectional.d.ts +89 -0
- package/dist/esm/adapters/Cornerstone/Bidirectional.js +170 -0
- package/dist/esm/adapters/Cornerstone/CircleRoi.d.ts +58 -0
- package/dist/esm/adapters/Cornerstone/CircleRoi.js +115 -0
- package/dist/esm/adapters/Cornerstone/CobbAngle.d.ts +49 -0
- package/dist/esm/adapters/Cornerstone/CobbAngle.js +98 -0
- package/dist/esm/adapters/Cornerstone/EllipticalRoi.d.ts +57 -0
- package/dist/esm/adapters/Cornerstone/EllipticalRoi.js +178 -0
- package/dist/esm/adapters/Cornerstone/FreehandRoi.d.ts +42 -0
- package/dist/esm/adapters/Cornerstone/FreehandRoi.js +89 -0
- package/dist/esm/adapters/Cornerstone/Length.d.ts +39 -0
- package/dist/esm/adapters/Cornerstone/Length.js +82 -0
- package/dist/esm/adapters/Cornerstone/MeasurementReport.d.ts +29 -0
- package/dist/esm/adapters/Cornerstone/MeasurementReport.js +276 -0
- package/dist/esm/adapters/Cornerstone/ParametricMap.d.ts +7 -0
- package/dist/esm/adapters/Cornerstone/ParametricMap.js +210 -0
- package/dist/esm/adapters/Cornerstone/RectangleRoi.d.ts +44 -0
- package/dist/esm/adapters/Cornerstone/RectangleRoi.js +97 -0
- package/dist/esm/adapters/Cornerstone/Segmentation.d.ts +7 -0
- package/dist/esm/adapters/Cornerstone/Segmentation.js +73 -0
- package/dist/esm/adapters/Cornerstone/Segmentation_3X.d.ts +13 -0
- package/dist/esm/adapters/Cornerstone/Segmentation_3X.js +411 -0
- package/dist/esm/adapters/Cornerstone/Segmentation_4X.d.ts +13 -0
- package/dist/esm/adapters/Cornerstone/Segmentation_4X.js +1152 -0
- package/dist/esm/adapters/Cornerstone/cornerstone4Tag.d.ts +2 -0
- package/dist/esm/adapters/Cornerstone/cornerstone4Tag.js +3 -0
- package/dist/esm/adapters/Cornerstone/index.d.ts +34 -0
- package/dist/esm/adapters/Cornerstone/index.js +33 -0
- package/dist/esm/adapters/Cornerstone3D/Angle.js +109 -0
- package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.d.ts +35 -0
- package/dist/esm/adapters/Cornerstone3D/ArrowAnnotate.js +123 -0
- package/dist/esm/adapters/Cornerstone3D/Bidirectional.js +147 -0
- package/dist/{types → esm}/adapters/Cornerstone3D/CircleROI.d.ts +0 -7
- package/dist/esm/adapters/Cornerstone3D/CircleROI.js +96 -0
- package/dist/esm/adapters/Cornerstone3D/CobbAngle.js +113 -0
- package/dist/esm/adapters/Cornerstone3D/CodingScheme.d.ts +9 -0
- package/dist/esm/adapters/Cornerstone3D/CodingScheme.js +15 -0
- package/dist/esm/adapters/Cornerstone3D/EllipticalROI.js +160 -0
- package/dist/esm/adapters/Cornerstone3D/Length.d.ts +41 -0
- package/dist/esm/adapters/Cornerstone3D/Length.js +101 -0
- package/dist/{types → esm}/adapters/Cornerstone3D/MeasurementReport.d.ts +1 -8
- package/dist/esm/adapters/Cornerstone3D/MeasurementReport.js +281 -0
- package/dist/esm/adapters/Cornerstone3D/ParametricMap/generateToolState.d.ts +3 -0
- package/dist/esm/adapters/Cornerstone3D/ParametricMap/generateToolState.js +11 -0
- package/dist/esm/adapters/Cornerstone3D/ParametricMap/index.d.ts +1 -0
- package/dist/esm/adapters/Cornerstone3D/ParametricMap/index.js +1 -0
- package/dist/{types → esm}/adapters/Cornerstone3D/PlanarFreehandROI.d.ts +0 -2
- package/dist/esm/adapters/Cornerstone3D/PlanarFreehandROI.js +126 -0
- package/dist/esm/adapters/Cornerstone3D/Probe.d.ts +33 -0
- package/dist/esm/adapters/Cornerstone3D/Probe.js +87 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/RTSS.d.ts +67 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/RTSS.js +175 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/index.js +6 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getPatientModule.d.ts +13 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getPatientModule.js +22 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getRTROIObservationsSequence.d.ts +6 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getRTROIObservationsSequence.js +10 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getRTSeriesModule.d.ts +4 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getRTSeriesModule.js +9 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedFrameOfReferenceSequence.d.ts +11 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedFrameOfReferenceSequence.js +22 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedSeriesSequence.d.ts +4 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedSeriesSequence.js +27 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getStructureSetModule.d.ts +7 -0
- package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getStructureSetModule.js +12 -0
- package/dist/esm/adapters/Cornerstone3D/RectangleROI.js +94 -0
- package/dist/{types → esm}/adapters/Cornerstone3D/Segmentation/generateLabelMaps2DFrom3D.d.ts +0 -6
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateLabelMaps2DFrom3D.js +34 -0
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateSegmentation.d.ts +2 -0
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateSegmentation.js +29 -0
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateToolState.d.ts +2 -0
- package/dist/esm/adapters/Cornerstone3D/Segmentation/generateToolState.js +9 -0
- package/dist/esm/adapters/Cornerstone3D/Segmentation/index.js +3 -0
- package/dist/esm/adapters/Cornerstone3D/UltrasoundDirectional.js +93 -0
- package/dist/esm/adapters/Cornerstone3D/cornerstone3DTag.d.ts +2 -0
- package/dist/esm/adapters/Cornerstone3D/cornerstone3DTag.js +3 -0
- package/dist/{types → esm}/adapters/Cornerstone3D/index.d.ts +18 -6
- package/dist/esm/adapters/Cornerstone3D/index.js +45 -0
- package/dist/esm/adapters/Cornerstone3D/isValidCornerstoneTrackingIdentifier.js +18 -0
- package/dist/esm/adapters/VTKjs/Segmentation.d.ts +3 -0
- package/dist/esm/adapters/VTKjs/Segmentation.js +186 -0
- package/dist/esm/adapters/VTKjs/index.d.ts +5 -0
- package/dist/esm/adapters/VTKjs/index.js +7 -0
- package/dist/{types → esm}/adapters/enums/Events.d.ts +0 -6
- package/dist/esm/adapters/enums/Events.js +7 -0
- package/dist/esm/adapters/enums/index.js +1 -0
- package/dist/esm/adapters/helpers/checkIfPerpendicular.d.ts +1 -0
- package/dist/esm/adapters/helpers/checkIfPerpendicular.js +7 -0
- package/dist/esm/adapters/helpers/checkOrientation.d.ts +1 -0
- package/dist/esm/adapters/helpers/checkOrientation.js +22 -0
- package/dist/esm/adapters/helpers/codeMeaningEquals.d.ts +2 -0
- package/dist/esm/adapters/helpers/codeMeaningEquals.js +7 -0
- package/dist/esm/adapters/helpers/compareArrays.d.ts +1 -0
- package/dist/esm/adapters/helpers/compareArrays.js +16 -0
- package/dist/esm/adapters/helpers/downloadDICOMData.d.ts +5 -0
- package/dist/esm/adapters/helpers/downloadDICOMData.js +26 -0
- package/dist/esm/adapters/helpers/getDatasetsFromImages.d.ts +1 -0
- package/dist/esm/adapters/helpers/getDatasetsFromImages.js +33 -0
- package/dist/esm/adapters/helpers/graphicTypeEquals.d.ts +2 -0
- package/dist/esm/adapters/helpers/graphicTypeEquals.js +7 -0
- package/dist/esm/adapters/helpers/index.js +4 -0
- package/dist/esm/adapters/helpers/toArray.js +5 -0
- package/dist/esm/adapters/index.d.ts +66 -0
- package/dist/esm/adapters/index.js +24 -0
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.js +5 -0
- package/dist/umd/adapters.umd.js +5769 -0
- package/dist/umd/adapters.umd.js.map +1 -0
- package/package.json +47 -11
- package/dist/adapters.es.js +0 -5585
- package/dist/adapters.es.js.map +0 -1
- package/dist/types/adapters/Cornerstone/index.d.ts +0 -16
- package/dist/types/adapters/Cornerstone3D/RTStruct/RTSS.d.ts +0 -26
- package/dist/types/adapters/Cornerstone3D/Segmentation/generateSegmentation.d.ts +0 -8
- package/dist/types/adapters/Cornerstone3D/Segmentation/generateToolState.d.ts +0 -16
- package/dist/types/adapters/VTKjs/index.d.ts +0 -4
- package/dist/types/adapters/helpers/codeMeaningEquals.d.ts +0 -9
- package/dist/types/adapters/helpers/downloadDICOMData.d.ts +0 -10
- package/dist/types/adapters/helpers/graphicTypeEquals.d.ts +0 -7
- package/dist/types/adapters/index.d.ts +0 -49
- package/dist/types/index.d.ts +0 -2
- /package/dist/{types → esm}/adapters/Cornerstone3D/Angle.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/Bidirectional.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/CobbAngle.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/EllipticalROI.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/RTStruct/index.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/RectangleROI.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/Segmentation/index.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/UltrasoundDirectional.d.ts +0 -0
- /package/dist/{types → esm}/adapters/Cornerstone3D/isValidCornerstoneTrackingIdentifier.d.ts +0 -0
- /package/dist/{types → esm}/adapters/enums/index.d.ts +0 -0
- /package/dist/{types → esm}/adapters/helpers/index.d.ts +0 -0
- /package/dist/{types → esm}/adapters/helpers/toArray.d.ts +0 -0
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { utilities } from '@cornerstonejs/tools';
|
|
3
|
+
import dcmjs from 'dcmjs';
|
|
4
|
+
import getPatientModule from './utilities/getPatientModule.js';
|
|
5
|
+
import getReferencedFrameOfReferenceSequence from './utilities/getReferencedFrameOfReferenceSequence.js';
|
|
6
|
+
import getReferencedSeriesSequence from './utilities/getReferencedSeriesSequence.js';
|
|
7
|
+
import getRTROIObservationsSequence from './utilities/getRTROIObservationsSequence.js';
|
|
8
|
+
import getRTSeriesModule from './utilities/getRTSeriesModule.js';
|
|
9
|
+
import getStructureSetModule from './utilities/getStructureSetModule.js';
|
|
10
|
+
|
|
11
|
+
var _utilities$contours = utilities.contours,
|
|
12
|
+
generateContourSetsFromLabelmap = _utilities$contours.generateContourSetsFromLabelmap,
|
|
13
|
+
AnnotationToPointData = _utilities$contours.AnnotationToPointData;
|
|
14
|
+
var DicomMetaDictionary = dcmjs.data.DicomMetaDictionary;
|
|
15
|
+
function generateRTSSFromSegmentations(segmentations, metadataProvider, DicomMetadataStore) {
|
|
16
|
+
var roiContours = [];
|
|
17
|
+
var contourSets = generateContourSetsFromLabelmap({
|
|
18
|
+
segmentations: segmentations
|
|
19
|
+
});
|
|
20
|
+
contourSets.forEach(function (contourSet, segIndex) {
|
|
21
|
+
if (contourSet) {
|
|
22
|
+
var contourSequence = [];
|
|
23
|
+
contourSet.sliceContours.forEach(function (sliceContour) {
|
|
24
|
+
var sopCommon = metadataProvider.get("sopCommonModule", sliceContour.referencedImageId);
|
|
25
|
+
var ReferencedSOPClassUID = sopCommon.sopClassUID;
|
|
26
|
+
var ReferencedSOPInstanceUID = sopCommon.sopInstanceUID;
|
|
27
|
+
var ContourImageSequence = [{
|
|
28
|
+
ReferencedSOPClassUID: ReferencedSOPClassUID,
|
|
29
|
+
ReferencedSOPInstanceUID: ReferencedSOPInstanceUID
|
|
30
|
+
}];
|
|
31
|
+
var sliceContourPolyData = sliceContour.polyData;
|
|
32
|
+
sliceContour.contours.forEach(function (contour, index) {
|
|
33
|
+
var ContourGeometricType = contour.type;
|
|
34
|
+
var NumberOfContourPoints = contour.contourPoints.length;
|
|
35
|
+
var ContourData = [];
|
|
36
|
+
contour.contourPoints.forEach(function (point) {
|
|
37
|
+
var pointData = sliceContourPolyData.points[point];
|
|
38
|
+
pointData[0] = +pointData[0].toFixed(2);
|
|
39
|
+
pointData[1] = +pointData[1].toFixed(2);
|
|
40
|
+
pointData[2] = +pointData[2].toFixed(2);
|
|
41
|
+
ContourData.push(pointData[0]);
|
|
42
|
+
ContourData.push(pointData[1]);
|
|
43
|
+
ContourData.push(pointData[2]);
|
|
44
|
+
});
|
|
45
|
+
contourSequence.push({
|
|
46
|
+
ContourImageSequence: ContourImageSequence,
|
|
47
|
+
ContourGeometricType: ContourGeometricType,
|
|
48
|
+
NumberOfContourPoints: NumberOfContourPoints,
|
|
49
|
+
ContourNumber: index + 1,
|
|
50
|
+
ContourData: ContourData
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
});
|
|
54
|
+
var segLabel = contourSet.label || "Segment ".concat(segIndex + 1);
|
|
55
|
+
var ROIContour = {
|
|
56
|
+
name: segLabel,
|
|
57
|
+
description: segLabel,
|
|
58
|
+
contourSequence: contourSequence,
|
|
59
|
+
color: contourSet.color,
|
|
60
|
+
metadata: contourSet.metadata
|
|
61
|
+
};
|
|
62
|
+
roiContours.push(ROIContour);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
var rtMetadata = {
|
|
66
|
+
name: segmentations.label,
|
|
67
|
+
label: segmentations.label
|
|
68
|
+
};
|
|
69
|
+
var dataset = _initializeDataset(rtMetadata, roiContours[0].metadata, metadataProvider);
|
|
70
|
+
roiContours.forEach(function (contour, index) {
|
|
71
|
+
var roiContour = {
|
|
72
|
+
ROIDisplayColor: contour.color || [255, 0, 0],
|
|
73
|
+
ContourSequence: contour.contourSequence,
|
|
74
|
+
ReferencedROINumber: index + 1
|
|
75
|
+
};
|
|
76
|
+
dataset.StructureSetROISequence.push(getStructureSetModule(contour, index));
|
|
77
|
+
dataset.ROIContourSequence.push(roiContour);
|
|
78
|
+
dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(contour.metadata, index, metadataProvider, DicomMetadataStore);
|
|
79
|
+
dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(contour.metadata, metadataProvider, dataset);
|
|
80
|
+
});
|
|
81
|
+
var fileMetaInformationVersionArray = new Uint8Array(2);
|
|
82
|
+
fileMetaInformationVersionArray[1] = 1;
|
|
83
|
+
var _meta = {
|
|
84
|
+
FileMetaInformationVersion: {
|
|
85
|
+
Value: [fileMetaInformationVersionArray.buffer],
|
|
86
|
+
vr: "OB"
|
|
87
|
+
},
|
|
88
|
+
TransferSyntaxUID: {
|
|
89
|
+
Value: ["1.2.840.10008.1.2.1"],
|
|
90
|
+
vr: "UI"
|
|
91
|
+
},
|
|
92
|
+
ImplementationClassUID: {
|
|
93
|
+
Value: [DicomMetaDictionary.uid()],
|
|
94
|
+
vr: "UI"
|
|
95
|
+
},
|
|
96
|
+
ImplementationVersionName: {
|
|
97
|
+
Value: ["dcmjs"],
|
|
98
|
+
vr: "SH"
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
dataset._meta = _meta;
|
|
102
|
+
dataset.SpecificCharacterSet = "ISO_IR 192";
|
|
103
|
+
return dataset;
|
|
104
|
+
}
|
|
105
|
+
function generateRTSSFromAnnotations(annotations, metadataProvider, DicomMetadataStore) {
|
|
106
|
+
var rtMetadata = {
|
|
107
|
+
name: "RTSS from Annotations",
|
|
108
|
+
label: "RTSS from Annotations"
|
|
109
|
+
};
|
|
110
|
+
var dataset = _initializeDataset(rtMetadata, annotations[0].metadata, metadataProvider);
|
|
111
|
+
annotations.forEach(function (annotation, index) {
|
|
112
|
+
var ContourSequence = AnnotationToPointData.convert(annotation, index, metadataProvider);
|
|
113
|
+
dataset.StructureSetROISequence.push(getStructureSetModule(annotation, index));
|
|
114
|
+
dataset.ROIContourSequence.push(ContourSequence);
|
|
115
|
+
dataset.RTROIObservationsSequence.push(getRTROIObservationsSequence(annotation, index));
|
|
116
|
+
dataset.ReferencedSeriesSequence = getReferencedSeriesSequence(annotation.metadata, index, metadataProvider, DicomMetadataStore);
|
|
117
|
+
dataset.ReferencedFrameOfReferenceSequence = getReferencedFrameOfReferenceSequence(annotation.metadata, metadataProvider, dataset);
|
|
118
|
+
});
|
|
119
|
+
var fileMetaInformationVersionArray = new Uint8Array(2);
|
|
120
|
+
fileMetaInformationVersionArray[1] = 1;
|
|
121
|
+
var _meta = {
|
|
122
|
+
FileMetaInformationVersion: {
|
|
123
|
+
Value: [fileMetaInformationVersionArray.buffer],
|
|
124
|
+
vr: "OB"
|
|
125
|
+
},
|
|
126
|
+
TransferSyntaxUID: {
|
|
127
|
+
Value: ["1.2.840.10008.1.2.1"],
|
|
128
|
+
vr: "UI"
|
|
129
|
+
},
|
|
130
|
+
ImplementationClassUID: {
|
|
131
|
+
Value: [DicomMetaDictionary.uid()],
|
|
132
|
+
vr: "UI"
|
|
133
|
+
},
|
|
134
|
+
ImplementationVersionName: {
|
|
135
|
+
Value: ["dcmjs"],
|
|
136
|
+
vr: "SH"
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
dataset._meta = _meta;
|
|
140
|
+
dataset.SpecificCharacterSet = "ISO_IR 192";
|
|
141
|
+
return dataset;
|
|
142
|
+
}
|
|
143
|
+
function _initializeDataset(rtMetadata, imgMetadata, metadataProvider) {
|
|
144
|
+
var rtSOPInstanceUID = DicomMetaDictionary.uid();
|
|
145
|
+
var imageId = imgMetadata.referencedImageId,
|
|
146
|
+
FrameOfReferenceUID = imgMetadata.FrameOfReferenceUID;
|
|
147
|
+
var _metadataProvider$get = metadataProvider.get("generalSeriesModule", imageId),
|
|
148
|
+
studyInstanceUID = _metadataProvider$get.studyInstanceUID;
|
|
149
|
+
var patientModule = getPatientModule(imageId, metadataProvider);
|
|
150
|
+
var rtSeriesModule = getRTSeriesModule(DicomMetaDictionary);
|
|
151
|
+
return _objectSpread2(_objectSpread2(_objectSpread2({
|
|
152
|
+
StructureSetROISequence: [],
|
|
153
|
+
ROIContourSequence: [],
|
|
154
|
+
RTROIObservationsSequence: [],
|
|
155
|
+
ReferencedSeriesSequence: [],
|
|
156
|
+
ReferencedFrameOfReferenceSequence: []
|
|
157
|
+
}, patientModule), rtSeriesModule), {}, {
|
|
158
|
+
StudyInstanceUID: studyInstanceUID,
|
|
159
|
+
SOPClassUID: "1.2.840.10008.5.1.4.1.1.481.3",
|
|
160
|
+
SOPInstanceUID: rtSOPInstanceUID,
|
|
161
|
+
Manufacturer: "dcmjs",
|
|
162
|
+
Modality: "RTSTRUCT",
|
|
163
|
+
FrameOfReferenceUID: FrameOfReferenceUID,
|
|
164
|
+
PositionReferenceIndicator: "",
|
|
165
|
+
StructureSetLabel: rtMetadata.label || "",
|
|
166
|
+
StructureSetName: rtMetadata.name || "",
|
|
167
|
+
ReferringPhysicianName: "",
|
|
168
|
+
OperatorsName: "",
|
|
169
|
+
StructureSetDate: DicomMetaDictionary.date(),
|
|
170
|
+
StructureSetTime: DicomMetaDictionary.time(),
|
|
171
|
+
_meta: null
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
export { generateRTSSFromAnnotations, generateRTSSFromSegmentations };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { utilities } from '@cornerstonejs/tools';
|
|
2
|
+
export { generateRTSSFromAnnotations, generateRTSSFromSegmentations } from './RTSS.js';
|
|
3
|
+
|
|
4
|
+
var generateContourSetsFromLabelmap = utilities.contours.generateContourSetsFromLabelmap;
|
|
5
|
+
|
|
6
|
+
export { generateContourSetsFromLabelmap };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export default function getPatientModule(imageId: any, metadataProvider: any): {
|
|
2
|
+
Modality: any;
|
|
3
|
+
PatientID: any;
|
|
4
|
+
PatientName: any;
|
|
5
|
+
PatientBirthDate: string;
|
|
6
|
+
PatientAge: any;
|
|
7
|
+
PatientSex: any;
|
|
8
|
+
PatientWeight: any;
|
|
9
|
+
StudyDate: any;
|
|
10
|
+
StudyTime: any;
|
|
11
|
+
StudyID: string;
|
|
12
|
+
AccessionNumber: any;
|
|
13
|
+
};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
function getPatientModule(imageId, metadataProvider) {
|
|
2
|
+
var generalSeriesModule = metadataProvider.get("generalSeriesModule", imageId);
|
|
3
|
+
var generalStudyModule = metadataProvider.get("generalStudyModule", imageId);
|
|
4
|
+
var patientStudyModule = metadataProvider.get("patientStudyModule", imageId);
|
|
5
|
+
var patientModule = metadataProvider.get("patientModule", imageId);
|
|
6
|
+
var patientDemographicModule = metadataProvider.get("patientDemographicModule", imageId);
|
|
7
|
+
return {
|
|
8
|
+
Modality: generalSeriesModule.modality,
|
|
9
|
+
PatientID: patientModule.patientId,
|
|
10
|
+
PatientName: patientModule.patientName,
|
|
11
|
+
PatientBirthDate: "",
|
|
12
|
+
PatientAge: patientStudyModule.patientAge,
|
|
13
|
+
PatientSex: patientDemographicModule.patientSex,
|
|
14
|
+
PatientWeight: patientStudyModule.patientWeight,
|
|
15
|
+
StudyDate: generalStudyModule.studyDate,
|
|
16
|
+
StudyTime: generalStudyModule.studyTime,
|
|
17
|
+
StudyID: "ToDo",
|
|
18
|
+
AccessionNumber: generalStudyModule.accessionNumber
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { getPatientModule as default };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
function getRTROIObservationsSequence(toolData, index) {
|
|
2
|
+
return {
|
|
3
|
+
ObservationNumber: index + 1,
|
|
4
|
+
ReferencedROINumber: index + 1,
|
|
5
|
+
RTROIInterpretedType: "Todo: type",
|
|
6
|
+
ROIInterpreter: "Todo: interpreter"
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export { getRTROIObservationsSequence as default };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
function getRTSeriesModule(DicomMetaDictionary) {
|
|
2
|
+
return {
|
|
3
|
+
SeriesInstanceUID: DicomMetaDictionary.uid(),
|
|
4
|
+
// generate a new series instance uid
|
|
5
|
+
SeriesNumber: "99" // Todo:: what should be the series number?
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { getRTSeriesModule as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export default function getReferencedFrameOfReferenceSequence(metadata: any, metadataProvider: any, dataset: any): {
|
|
2
|
+
FrameOfReferenceUID: any;
|
|
3
|
+
RTReferencedStudySequence: {
|
|
4
|
+
ReferencedSOPClassUID: any;
|
|
5
|
+
ReferencedSOPInstanceUID: any;
|
|
6
|
+
RTReferencedSeriesSequence: {
|
|
7
|
+
SeriesInstanceUID: any;
|
|
8
|
+
ContourImageSequence: any[];
|
|
9
|
+
}[];
|
|
10
|
+
}[];
|
|
11
|
+
}[];
|
package/dist/esm/adapters/Cornerstone3D/RTStruct/utilities/getReferencedFrameOfReferenceSequence.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { toConsumableArray as _toConsumableArray } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
|
|
3
|
+
function getReferencedFrameOfReferenceSequence(metadata, metadataProvider, dataset) {
|
|
4
|
+
var imageId = metadata.referencedImageId,
|
|
5
|
+
FrameOfReferenceUID = metadata.FrameOfReferenceUID;
|
|
6
|
+
var instance = metadataProvider.get("instance", imageId);
|
|
7
|
+
var SeriesInstanceUID = instance.SeriesInstanceUID;
|
|
8
|
+
var ReferencedSeriesSequence = dataset.ReferencedSeriesSequence;
|
|
9
|
+
return [{
|
|
10
|
+
FrameOfReferenceUID: FrameOfReferenceUID,
|
|
11
|
+
RTReferencedStudySequence: [{
|
|
12
|
+
ReferencedSOPClassUID: dataset.SOPClassUID,
|
|
13
|
+
ReferencedSOPInstanceUID: dataset.SOPInstanceUID,
|
|
14
|
+
RTReferencedSeriesSequence: [{
|
|
15
|
+
SeriesInstanceUID: SeriesInstanceUID,
|
|
16
|
+
ContourImageSequence: _toConsumableArray(ReferencedSeriesSequence[0].ReferencedInstanceSequence)
|
|
17
|
+
}]
|
|
18
|
+
}]
|
|
19
|
+
}];
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export { getReferencedFrameOfReferenceSequence as default };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
function getReferencedSeriesSequence(metadata, _index, metadataProvider, DicomMetadataStore) {
|
|
2
|
+
// grab imageId from toolData
|
|
3
|
+
var imageId = metadata.referencedImageId;
|
|
4
|
+
var instance = metadataProvider.get("instance", imageId);
|
|
5
|
+
var SeriesInstanceUID = instance.SeriesInstanceUID,
|
|
6
|
+
StudyInstanceUID = instance.StudyInstanceUID;
|
|
7
|
+
var ReferencedSeriesSequence = [];
|
|
8
|
+
if (SeriesInstanceUID) {
|
|
9
|
+
var series = DicomMetadataStore.getSeries(StudyInstanceUID, SeriesInstanceUID);
|
|
10
|
+
var ReferencedSeries = {
|
|
11
|
+
SeriesInstanceUID: SeriesInstanceUID,
|
|
12
|
+
ReferencedInstanceSequence: []
|
|
13
|
+
};
|
|
14
|
+
series.instances.forEach(function (instance) {
|
|
15
|
+
var SOPInstanceUID = instance.SOPInstanceUID,
|
|
16
|
+
SOPClassUID = instance.SOPClassUID;
|
|
17
|
+
ReferencedSeries.ReferencedInstanceSequence.push({
|
|
18
|
+
ReferencedSOPClassUID: SOPClassUID,
|
|
19
|
+
ReferencedSOPInstanceUID: SOPInstanceUID
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
ReferencedSeriesSequence.push(ReferencedSeries);
|
|
23
|
+
}
|
|
24
|
+
return ReferencedSeriesSequence;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export { getReferencedSeriesSequence as default };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
function getStructureSetModule(contour, index) {
|
|
2
|
+
var FrameOfReferenceUID = contour.metadata.FrameOfReferenceUID;
|
|
3
|
+
return {
|
|
4
|
+
ROINumber: index + 1,
|
|
5
|
+
ROIName: contour.name || "Todo: name ".concat(index + 1),
|
|
6
|
+
ROIDescription: "Todo: description ".concat(index + 1),
|
|
7
|
+
ROIGenerationAlgorithm: "Todo: algorithm",
|
|
8
|
+
ReferencedFrameOfReferenceUID: FrameOfReferenceUID
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export { getStructureSetModule as default };
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, createClass as _createClass, defineProperty as _defineProperty, classCallCheck as _classCallCheck } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { utilities } from 'dcmjs';
|
|
3
|
+
import CORNERSTONE_3D_TAG from './cornerstone3DTag.js';
|
|
4
|
+
import MeasurementReport from './MeasurementReport.js';
|
|
5
|
+
|
|
6
|
+
var _RectangleROI;
|
|
7
|
+
var TID300Polyline = utilities.TID300.Polyline;
|
|
8
|
+
var TOOLTYPE = "RectangleROI";
|
|
9
|
+
var trackingIdentifierTextValue = "".concat(CORNERSTONE_3D_TAG, ":").concat(TOOLTYPE);
|
|
10
|
+
var RectangleROI = /*#__PURE__*/function () {
|
|
11
|
+
function RectangleROI() {
|
|
12
|
+
_classCallCheck(this, RectangleROI);
|
|
13
|
+
}
|
|
14
|
+
return _createClass(RectangleROI, null, [{
|
|
15
|
+
key: "getMeasurementData",
|
|
16
|
+
value: function getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, imageToWorldCoords, metadata) {
|
|
17
|
+
var _MeasurementReport$ge = MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, RectangleROI.toolType),
|
|
18
|
+
defaultState = _MeasurementReport$ge.defaultState,
|
|
19
|
+
NUMGroup = _MeasurementReport$ge.NUMGroup,
|
|
20
|
+
SCOORDGroup = _MeasurementReport$ge.SCOORDGroup,
|
|
21
|
+
ReferencedFrameNumber = _MeasurementReport$ge.ReferencedFrameNumber;
|
|
22
|
+
var referencedImageId = defaultState.annotation.metadata.referencedImageId;
|
|
23
|
+
var GraphicData = SCOORDGroup.GraphicData;
|
|
24
|
+
var worldCoords = [];
|
|
25
|
+
for (var i = 0; i < GraphicData.length; i += 2) {
|
|
26
|
+
var point = imageToWorldCoords(referencedImageId, [GraphicData[i], GraphicData[i + 1]]);
|
|
27
|
+
worldCoords.push(point);
|
|
28
|
+
}
|
|
29
|
+
var state = defaultState;
|
|
30
|
+
state.annotation.data = {
|
|
31
|
+
handles: {
|
|
32
|
+
points: [worldCoords[0], worldCoords[1], worldCoords[3], worldCoords[2]],
|
|
33
|
+
activeHandleIndex: 0,
|
|
34
|
+
textBox: {
|
|
35
|
+
hasMoved: false
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
cachedStats: _defineProperty({}, "imageId:".concat(referencedImageId), {
|
|
39
|
+
area: NUMGroup ? NUMGroup.MeasuredValueSequence.NumericValue : null
|
|
40
|
+
}),
|
|
41
|
+
frameNumber: ReferencedFrameNumber
|
|
42
|
+
};
|
|
43
|
+
return state;
|
|
44
|
+
}
|
|
45
|
+
}, {
|
|
46
|
+
key: "getTID300RepresentationArguments",
|
|
47
|
+
value: function getTID300RepresentationArguments(tool, worldToImageCoords) {
|
|
48
|
+
var data = tool.data,
|
|
49
|
+
finding = tool.finding,
|
|
50
|
+
findingSites = tool.findingSites,
|
|
51
|
+
metadata = tool.metadata;
|
|
52
|
+
var _data$cachedStats = data.cachedStats,
|
|
53
|
+
cachedStats = _data$cachedStats === void 0 ? {} : _data$cachedStats,
|
|
54
|
+
handles = data.handles;
|
|
55
|
+
var referencedImageId = metadata.referencedImageId;
|
|
56
|
+
if (!referencedImageId) {
|
|
57
|
+
throw new Error("CobbAngle.getTID300RepresentationArguments: referencedImageId is not defined");
|
|
58
|
+
}
|
|
59
|
+
var corners = handles.points.map(function (point) {
|
|
60
|
+
return worldToImageCoords(referencedImageId, point);
|
|
61
|
+
});
|
|
62
|
+
var area = cachedStats.area,
|
|
63
|
+
perimeter = cachedStats.perimeter;
|
|
64
|
+
return {
|
|
65
|
+
points: [corners[0], corners[1], corners[3], corners[2], corners[0]],
|
|
66
|
+
area: area,
|
|
67
|
+
perimeter: perimeter,
|
|
68
|
+
trackingIdentifierTextValue: trackingIdentifierTextValue,
|
|
69
|
+
finding: finding,
|
|
70
|
+
findingSites: findingSites || []
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
}]);
|
|
74
|
+
}();
|
|
75
|
+
_RectangleROI = RectangleROI;
|
|
76
|
+
_RectangleROI.toolType = TOOLTYPE;
|
|
77
|
+
_RectangleROI.utilityToolType = TOOLTYPE;
|
|
78
|
+
_RectangleROI.TID300Representation = TID300Polyline;
|
|
79
|
+
_RectangleROI.isValidCornerstoneTrackingIdentifier = function (TrackingIdentifier) {
|
|
80
|
+
if (!TrackingIdentifier.includes(":")) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
var _TrackingIdentifier$s = TrackingIdentifier.split(":"),
|
|
84
|
+
_TrackingIdentifier$s2 = _slicedToArray(_TrackingIdentifier$s, 2),
|
|
85
|
+
cornerstone3DTag = _TrackingIdentifier$s2[0],
|
|
86
|
+
toolType = _TrackingIdentifier$s2[1];
|
|
87
|
+
if (cornerstone3DTag !== CORNERSTONE_3D_TAG) {
|
|
88
|
+
return false;
|
|
89
|
+
}
|
|
90
|
+
return toolType === TOOLTYPE;
|
|
91
|
+
};
|
|
92
|
+
MeasurementReport.registerTool(RectangleROI);
|
|
93
|
+
|
|
94
|
+
export { RectangleROI as default };
|
package/dist/{types → esm}/adapters/Cornerstone3D/Segmentation/generateLabelMaps2DFrom3D.d.ts
RENAMED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generates 2D label maps from a 3D label map.
|
|
3
|
-
* @param labelmap3D - The 3D label map object to generate 2D label maps from. It is derived
|
|
4
|
-
* from the volume labelmap.
|
|
5
|
-
* @returns The label map object containing the 2D label maps and segments on label maps.
|
|
6
|
-
*/
|
|
7
1
|
declare function generateLabelMaps2DFrom3D(labelmap3D: any): {
|
|
8
2
|
scalarData: number[];
|
|
9
3
|
dimensions: number[];
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function generateLabelMaps2DFrom3D(labelmap3D) {
|
|
2
|
+
var scalarData = labelmap3D.scalarData,
|
|
3
|
+
dimensions = labelmap3D.dimensions;
|
|
4
|
+
var labelmaps2D = [];
|
|
5
|
+
var segmentsOnLabelmap3D = new Set();
|
|
6
|
+
for (var z = 0; z < dimensions[2]; z++) {
|
|
7
|
+
var pixelData = scalarData.slice(z * dimensions[0] * dimensions[1], (z + 1) * dimensions[0] * dimensions[1]);
|
|
8
|
+
var segmentsOnLabelmap = [];
|
|
9
|
+
for (var i = 0; i < pixelData.length; i++) {
|
|
10
|
+
var segment = pixelData[i];
|
|
11
|
+
if (!segmentsOnLabelmap.includes(segment) && segment !== 0) {
|
|
12
|
+
segmentsOnLabelmap.push(segment);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
var labelmap2D = {
|
|
16
|
+
segmentsOnLabelmap: segmentsOnLabelmap,
|
|
17
|
+
pixelData: pixelData,
|
|
18
|
+
rows: dimensions[1],
|
|
19
|
+
columns: dimensions[0]
|
|
20
|
+
};
|
|
21
|
+
if (segmentsOnLabelmap.length === 0) {
|
|
22
|
+
continue;
|
|
23
|
+
}
|
|
24
|
+
segmentsOnLabelmap.forEach(function (segmentIndex) {
|
|
25
|
+
segmentsOnLabelmap3D.add(segmentIndex);
|
|
26
|
+
});
|
|
27
|
+
labelmaps2D[dimensions[2] - 1 - z] = labelmap2D;
|
|
28
|
+
}
|
|
29
|
+
labelmap3D.segmentsOnLabelmap = Array.from(segmentsOnLabelmap3D);
|
|
30
|
+
labelmap3D.labelmaps2D = labelmaps2D;
|
|
31
|
+
return labelmap3D;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export { generateLabelMaps2DFrom3D };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { objectSpread2 as _objectSpread2 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { normalizers, derivations } from 'dcmjs';
|
|
3
|
+
import { fillSegmentation } from '../../Cornerstone/Segmentation_4X.js';
|
|
4
|
+
|
|
5
|
+
var Normalizer = normalizers.Normalizer;
|
|
6
|
+
var SegmentationDerivation = derivations.Segmentation;
|
|
7
|
+
function generateSegmentation(images, labelmaps, metadata) {
|
|
8
|
+
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
9
|
+
var segmentation = _createMultiframeSegmentationFromReferencedImages(images, metadata, options);
|
|
10
|
+
return fillSegmentation(segmentation, labelmaps, options);
|
|
11
|
+
}
|
|
12
|
+
function _createMultiframeSegmentationFromReferencedImages(images, metadata, options) {
|
|
13
|
+
var datasets = images.map(function (image) {
|
|
14
|
+
var instance = metadata.get("instance", image.imageId);
|
|
15
|
+
return _objectSpread2(_objectSpread2(_objectSpread2({}, image), instance), {}, {
|
|
16
|
+
SOPClassUID: instance.SopClassUID || instance.SOPClassUID,
|
|
17
|
+
SOPInstanceUID: instance.SopInstanceUID || instance.SOPInstanceUID,
|
|
18
|
+
PixelData: image.voxelManager.getScalarData(),
|
|
19
|
+
_vrMap: {
|
|
20
|
+
PixelData: "OW"
|
|
21
|
+
},
|
|
22
|
+
_meta: {}
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
var multiframe = Normalizer.normalizeToDataset(datasets);
|
|
26
|
+
return new SegmentationDerivation([multiframe], options);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export { generateSegmentation };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { generateToolState as generateToolState$1 } from '../../Cornerstone/Segmentation.js';
|
|
2
|
+
|
|
3
|
+
function generateToolState(imageIds, arrayBuffer, metadataProvider) {
|
|
4
|
+
var skipOverlapping = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
5
|
+
var tolerance = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 1e-3;
|
|
6
|
+
return generateToolState$1(imageIds, arrayBuffer, metadataProvider, skipOverlapping, tolerance);
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
export { generateToolState };
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { slicedToArray as _slicedToArray, createClass as _createClass, classCallCheck as _classCallCheck } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
+
import { utilities } from 'dcmjs';
|
|
3
|
+
import CORNERSTONE_3D_TAG from './cornerstone3DTag.js';
|
|
4
|
+
import MeasurementReport from './MeasurementReport.js';
|
|
5
|
+
|
|
6
|
+
var _UltrasoundDirectional;
|
|
7
|
+
var TID300Length = utilities.TID300.Length;
|
|
8
|
+
var ULTRASOUND_DIRECTIONAL = "UltrasoundDirectionalTool";
|
|
9
|
+
var trackingIdentifierTextValue = "".concat(CORNERSTONE_3D_TAG, ":").concat(ULTRASOUND_DIRECTIONAL);
|
|
10
|
+
var UltrasoundDirectional = /*#__PURE__*/function () {
|
|
11
|
+
function UltrasoundDirectional() {
|
|
12
|
+
_classCallCheck(this, UltrasoundDirectional);
|
|
13
|
+
}
|
|
14
|
+
return _createClass(UltrasoundDirectional, null, [{
|
|
15
|
+
key: "getMeasurementData",
|
|
16
|
+
value: function getMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, imageToWorldCoords, metadata) {
|
|
17
|
+
var _MeasurementReport$ge = MeasurementReport.getSetupMeasurementData(MeasurementGroup, sopInstanceUIDToImageIdMap, metadata, UltrasoundDirectional.toolType),
|
|
18
|
+
defaultState = _MeasurementReport$ge.defaultState,
|
|
19
|
+
SCOORDGroup = _MeasurementReport$ge.SCOORDGroup,
|
|
20
|
+
ReferencedFrameNumber = _MeasurementReport$ge.ReferencedFrameNumber;
|
|
21
|
+
var referencedImageId = defaultState.annotation.metadata.referencedImageId;
|
|
22
|
+
var GraphicData = SCOORDGroup.GraphicData;
|
|
23
|
+
var worldCoords = [];
|
|
24
|
+
for (var i = 0; i < GraphicData.length; i += 2) {
|
|
25
|
+
var point = imageToWorldCoords(referencedImageId, [GraphicData[i], GraphicData[i + 1]]);
|
|
26
|
+
worldCoords.push(point);
|
|
27
|
+
}
|
|
28
|
+
var state = defaultState;
|
|
29
|
+
state.annotation.data = {
|
|
30
|
+
handles: {
|
|
31
|
+
points: [worldCoords[0], worldCoords[1]],
|
|
32
|
+
activeHandleIndex: 0,
|
|
33
|
+
textBox: {
|
|
34
|
+
hasMoved: false
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
cachedStats: {},
|
|
38
|
+
frameNumber: ReferencedFrameNumber
|
|
39
|
+
};
|
|
40
|
+
return state;
|
|
41
|
+
}
|
|
42
|
+
}, {
|
|
43
|
+
key: "getTID300RepresentationArguments",
|
|
44
|
+
value: function getTID300RepresentationArguments(tool, worldToImageCoords) {
|
|
45
|
+
var data = tool.data,
|
|
46
|
+
finding = tool.finding,
|
|
47
|
+
findingSites = tool.findingSites,
|
|
48
|
+
metadata = tool.metadata;
|
|
49
|
+
var handles = data.handles;
|
|
50
|
+
var referencedImageId = metadata.referencedImageId;
|
|
51
|
+
if (!referencedImageId) {
|
|
52
|
+
throw new Error("UltrasoundDirectionalTool.getTID300RepresentationArguments: referencedImageId is not defined");
|
|
53
|
+
}
|
|
54
|
+
var start = worldToImageCoords(referencedImageId, handles.points[0]);
|
|
55
|
+
var end = worldToImageCoords(referencedImageId, handles.points[1]);
|
|
56
|
+
var point1 = {
|
|
57
|
+
x: start[0],
|
|
58
|
+
y: start[1]
|
|
59
|
+
};
|
|
60
|
+
var point2 = {
|
|
61
|
+
x: end[0],
|
|
62
|
+
y: end[1]
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
point1: point1,
|
|
66
|
+
point2: point2,
|
|
67
|
+
trackingIdentifierTextValue: trackingIdentifierTextValue,
|
|
68
|
+
finding: finding,
|
|
69
|
+
findingSites: findingSites || []
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
}]);
|
|
73
|
+
}();
|
|
74
|
+
_UltrasoundDirectional = UltrasoundDirectional;
|
|
75
|
+
_UltrasoundDirectional.toolType = ULTRASOUND_DIRECTIONAL;
|
|
76
|
+
_UltrasoundDirectional.utilityToolType = ULTRASOUND_DIRECTIONAL;
|
|
77
|
+
_UltrasoundDirectional.TID300Representation = TID300Length;
|
|
78
|
+
_UltrasoundDirectional.isValidCornerstoneTrackingIdentifier = function (TrackingIdentifier) {
|
|
79
|
+
if (!TrackingIdentifier.includes(":")) {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
var _TrackingIdentifier$s = TrackingIdentifier.split(":"),
|
|
83
|
+
_TrackingIdentifier$s2 = _slicedToArray(_TrackingIdentifier$s, 2),
|
|
84
|
+
cornerstone3DTag = _TrackingIdentifier$s2[0],
|
|
85
|
+
toolType = _TrackingIdentifier$s2[1];
|
|
86
|
+
if (cornerstone3DTag !== CORNERSTONE_3D_TAG) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return toolType === ULTRASOUND_DIRECTIONAL;
|
|
90
|
+
};
|
|
91
|
+
MeasurementReport.registerTool(UltrasoundDirectional);
|
|
92
|
+
|
|
93
|
+
export { UltrasoundDirectional as default };
|