1
14
15"""
16Usage:
17
18 python ManipulateSequence.py input.dcm output.dcm
19
20This was tested using:
21
22 python ManipulateSequence.py gdcmData/D_CLUNIE_CT1_J2KI.dcm myoutput.dcm
23
24This is a dummy example on how to modify a value set in a nested-nested dataset
25
26WARNING:
27Do not use as-is in production, this is just an example
28This example works in an undefined length Item only (you need to explicitly recompute the length otherwise)
29"""
30
31import sys
32import gdcm
33
34if __name__ == "__main__":
35
36 file1 = sys.argv[1]
37 file2 = sys.argv[2]
38
40 r.SetFileName( file1 )
41 if not r.Read():
42 sys.exit(1)
43
44 f = r.GetFile()
45 ds = f.GetDataSet()
47 if ds.FindDataElement( tsis ):
48 sis = ds.GetDataElement( tsis )
49
50
51 sqsis = sis.GetValueAsSQ()
52 if sqsis.GetNumberOfItems():
53 item1 = sqsis.GetItem(1)
54 nestedds = item1.GetNestedDataSet()
56 if nestedds.FindDataElement( tprcs ):
57 prcs = nestedds.GetDataElement( tprcs )
58 sqprcs = prcs.GetSequenceOfItems()
59 if sqprcs.GetNumberOfItems():
60 item2 = sqprcs.GetItem(1)
61 nestedds2 = item2.GetNestedDataSet()
62
64 if nestedds2.FindDataElement( tcm ):
65 cm = nestedds2.GetDataElement( tcm )
66 mystr = "GDCM was here"
67 cm.SetByteStringValue( mystr )
68
70 w.SetFile( f )
71 w.SetFileName( file2 )
72 if not w.Write():
73 sys.exit(1)
Reader ala DOM (Document Object Model)
Definition gdcmReader.h:54
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
Writer ala DOM (Document Object Model)
Definition gdcmWriter.h:49