Skip to content

Commit 93c5d6e

Browse files
committed
ENH: change setting of TrackingIdentifier
Use SegmentationType CodeMeaning and SegmentDescription. This help better identify segments in the situatins where the same finding is segmented by different tools/readers.
1 parent 83b510c commit 93c5d6e

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

labs/pyradiomics-dcm/pyradiomics-dcm.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,12 @@ def getTrackingUniqueIdentifier(self, segmentNumber):
117117
except BaseException:
118118
return None
119119

120+
def getSegmentDescription(self, segmentNumber):
121+
try:
122+
return self.dcm.SegmentSequence[segmentNumber].SegmentDescription
123+
except BaseException:
124+
return None
125+
120126
def getSegmentAnatomicLocationCode(self, segmentNumber):
121127
try:
122128
return self.dcm.SegmentSequence[segmentNumber].AnatomicRegionSequence[0]
@@ -508,6 +514,10 @@ def main():
508514
m.m["Measurements"][-1]["TrackingIdentifier"] = segTrackingIdentifier
509515
else:
510516
m.m["Measurements"][-1]["TrackingIdentifier"] = segmentationType.CodeMeaning
517+
segmentDescription = segmentationMetadataAccessor.getSegmentDescription(int(segmentNumber)-1)
518+
# SegmentDescription is Type 3, and can be missing
519+
if segmentDescription is not None:
520+
m.m["Measurements"][-1]["TrackingIdentifier"] = segmentationType.CodeMeaning+" - "+segmentDescription
511521

512522
if segTrackingUniqueIdentifier:
513523
m.m["Measurements"][-1]["TrackingUniqueIdentifier"] = segTrackingUniqueIdentifier

0 commit comments

Comments
 (0)