MCPcopy Create free account
hub / github.com/Kitware/VTK / TestReadWriteRead

Function TestReadWriteRead

IO/Image/Testing/Python/TestNIFTIReaderWriter.py:122–159  ·  view source on GitHub ↗

Read, write, and re-read a file, return difference.

(infile, outfile)

Source from the content-addressed store, hash-verified

120 return renwin
121
122def TestReadWriteRead(infile, outfile):
123 """Read, write, and re-read a file, return difference."""
124
125 inpath = os.path.join(VTK_DATA_ROOT, "Data", infile)
126 outpath = os.path.join(str(VTK_TEMP_DIR), outfile)
127
128 # read a NIFTI file
129 reader = vtkNIFTIImageReader()
130 reader.SetFileName(inpath)
131 reader.TimeAsVectorOn()
132 reader.Update()
133
134 writer = vtkNIFTIImageWriter()
135 writer.SetInputConnection(reader.GetOutputPort())
136 writer.SetFileName(outpath)
137 # copy most information directory from the header
138 writer.SetNIFTIHeader(reader.GetNIFTIHeader())
139 # this information will override the reader's header
140 writer.SetQFac(reader.GetQFac())
141 writer.SetTimeDimension(reader.GetTimeDimension())
142 writer.SetQFormMatrix(reader.GetQFormMatrix())
143 writer.SetSFormMatrix(reader.GetSFormMatrix())
144 writer.Write()
145
146 reader2 = vtkNIFTIImageReader()
147 reader2.SetFileName(outpath)
148 reader2.TimeAsVectorOn()
149 reader2.Update()
150
151 diff = vtkImageMathematics()
152 diff.SetOperationToSubtract()
153 diff.SetInputConnection(0,reader.GetOutputPort())
154 diff.SetInputConnection(1,reader2.GetOutputPort())
155 diff.Update()
156 diffrange = diff.GetOutput().GetScalarRange()
157 differr = diffrange[0]**2 + diffrange[1]**2
158
159 return differr
160
161for infile, outfile in testfiles:
162 err = TestReadWriteRead(infile, outfile)

Callers 1

Calls 10

strFunction · 0.85
joinMethod · 0.45
SetFileNameMethod · 0.45
UpdateMethod · 0.45
SetInputConnectionMethod · 0.45
GetOutputPortMethod · 0.45
GetNIFTIHeaderMethod · 0.45
WriteMethod · 0.45
GetScalarRangeMethod · 0.45
GetOutputMethod · 0.45

Tested by

no test coverage detected