# WindowToImageFilter reading old buffer images

**URL:** https://discourse.vtk.org/t/windowtoimagefilter-reading-old-buffer-images/2267
**Category:** Support
**Created:** [December 13, 2019, 12:35am UTC](https://discourse.vtk.org/t/windowtoimagefilter-reading-old-buffer-images/2267 "2019-12-13T00:35:13Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![sandress](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/s/f475e1/32.png) [@sandress](https://discourse.vtk.org/u/sandress)
#### Post date: [December 13, 2019, 12:35am UTC](https://discourse.vtk.org/t/windowtoimagefilter-reading-old-buffer-images/2267/1 "2019-12-13T00:35:14Z")

</div>

I’m using VTK to create a series of DRR images using offscreen rendering and the vtkWindowToImageFilter. Therefore I’m randomly changing the Camera position and save this transform to the then generated DRR image.

However, I have the feeling that sometimes the position might not be right. Could it be that the vtkWindowToImageFilter reads an old image from the buffer? And how can I be sure that the image is updated?

**Here is the initialisation code** :

```auto
self.img_size = 224

self.renderer = vtk.vtkRenderer()
self.renderer.AddVolume(self.volume)
self.renderer.SetBackground(0, 0, 0)
self.renderer.PreserveColorBufferOff()
self.renderer.PreserveDepthBufferOff()
self.renderer.UseDepthPeelingOff()

self.renWin = vtk.vtkRenderWindow()
self.renWin.AddRenderer(self.renderer)
self.renWin.SetSize(self.img_size, self.img_size)
self.renWin.OffScreenRenderingOn()
self.renWin.SwapBuffersOff()

self.camera = self.renderer.GetActiveCamera()

```

**Code in a loop** :

```auto
pos = [100,0,0] # in a loop randomply created
fp = [0,0,0] # in a loop randomply created
vu = [0,1,0] # in a loop randomply created

self.camera.SetPosition(pos)
self.camera.SetFocalPoint(fp)
self.camera.SetViewUp(vu)

windowToImageFilter = vtk.vtkWindowToImageFilter()
windowToImageFilter.SetInput(self.renWin)
windowToImageFilter.SetInputBufferTypeToRGBA()
windowToImageFilter.ReadFrontBufferOff()
windowToImageFilter.ShouldRerenderOff()
windowToImageFilter.Modified()

self.renWin.Render()

windowToImageFilter.Update()
vtk_image = windowToImageFilter.GetOutput()

```

Thank you very much!
