Read, write, and re-read a file, return difference.
(infile, outfile)
| 120 | return renwin |
| 121 | |
| 122 | def 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 | |
| 161 | for infile, outfile in testfiles: |
| 162 | err = TestReadWriteRead(infile, outfile) |
no test coverage detected