vtkRegressionTestImage(renWin) -- produce regression image for window This function writes out a regression .png file for a vtkWindow. Does anyone involved in testing care to elaborate?
(renWin)
| 89 | return tempDir |
| 90 | |
| 91 | def vtkRegressionTestImage(renWin): |
| 92 | """vtkRegressionTestImage(renWin) -- produce regression image for window |
| 93 | |
| 94 | This function writes out a regression .png file for a vtkWindow. |
| 95 | Does anyone involved in testing care to elaborate? |
| 96 | """ |
| 97 | from vtkmodules.vtkRenderingCore import vtkWindowToImageFilter |
| 98 | from vtkmodules.vtkIOImage import vtkPNGReader |
| 99 | from vtkmodules.vtkImagingCore import vtkImageDifference |
| 100 | |
| 101 | fname = None |
| 102 | for i, argv in enumerate(sys.argv): |
| 103 | if argv == '-V' and i+1 < len(sys.argv): |
| 104 | fname = os.path.join(vtkGetDataRoot(), sys.argv[i+1]) |
| 105 | |
| 106 | if fname is None: |
| 107 | return 2 |
| 108 | |
| 109 | else: |
| 110 | rt_w2if = vtkWindowToImageFilter() |
| 111 | rt_w2if.SetInput(renWin) |
| 112 | |
| 113 | if not os.path.isfile(fname): |
| 114 | rt_pngw = vtkPNGWriter() |
| 115 | rt_pngw.SetFileName(fname) |
| 116 | rt_pngw.SetInputConnection(rt_w2if.GetOutputPort()) |
| 117 | rt_pngw.Write() |
| 118 | rt_pngw = None |
| 119 | |
| 120 | rt_png = vtkPNGReader() |
| 121 | rt_png.SetFileName(fname) |
| 122 | |
| 123 | rt_id = vtkImageDifference() |
| 124 | rt_id.SetInputConnection(rt_w2if.GetOutputPort()) |
| 125 | rt_id.SetImageConnection(rt_png.GetOutputPort()) |
| 126 | rt_id.Update() |
| 127 | |
| 128 | if rt_id.GetThresholdedError() <= 10: |
| 129 | return 1 |
| 130 | else: |
| 131 | sys.stderr.write('Failed image test: %f\n' |
| 132 | % rt_id.GetThresholdedError()) |
| 133 | return 0 |