[vtkusers] how to display a serie of XA multiframe images

José M. Rodriguez Bacallao jmrbcu at gmail.com
Fri Jul 6 10:23:17 EDT 2012


and how to solve this, I mean, the black slices?


On Fri, Jul 6, 2012 at 10:05 AM, José M. Rodriguez Bacallao
<jmrbcu at gmail.com> wrote:
> and if I am not using any lookup table, for example, this is my test
> source code, how do I change from one multiframe image to another as I
> cannot use SetVectorComponent(n)?:
>
> import os, sys
> import vtk, vtkgdcm, gdcm
>
>
> if __name__ == '__main__':
>     # 2 XA multiframe images
>     path = '/home/jmrbcu/temp/images/XA'
>     print 'Reading files from %s' % path
>     files = os.listdir(path)
>     files = [os.path.join(path, x) for x in files]
>
>     appender = vtk.vtkImageAppendComponents()
>     for name in files:
>         reader = vtkgdcm.vtkGDCMImageReader()
>         reader.SetFileName(name)
>         appender.SetInput(reader.GetOutput())
>         appender.Update()
>
>     ren1 = vtk.vtkRenderer()
>     renWin = vtk.vtkRenderWindow()
>     renWin.AddRenderer(ren1)
>
>     im = vtk.vtkImageResliceMapper()
>     im.SetInput(appender.GetOutput())
>     im.SliceFacesCameraOn()
>     im.SliceAtFocalPointOn()
>     im.BorderOff()
>
>     ip = vtk.vtkImageProperty()
>     ip.SetColorWindow(255)
>     ip.SetColorLevel(128)
>     ip.SetAmbient(0.0)
>     ip.SetDiffuse(1.0)
>     ip.SetOpacity(1.0)
>     ip.SetInterpolationTypeToLinear()
>
>     ia = vtk.vtkImageSlice()
>     ia.SetMapper(im)
>     ia.SetProperty(ip)
>
>     print ip.GetLookupTable()
>
>     ren1.AddViewProp(ia)
>     ren1.SetBackground(0, 0, 0)
>     renWin.SetSize(400, 400)
>
>     iren = vtk.vtkRenderWindowInteractor()
>     style = vtk.vtkInteractorStyleImage()
>     style.SetInteractionModeToImageSlicing()
>     style.SetCurrentRenderer(ren1)
>     iren.SetInteractorStyle(style)
>     renWin.SetInteractor(iren)
>
>     cam = ren1.GetActiveCamera()
>     cam.ParallelProjectionOn()
>     ren1.ResetCameraClippingRange()
>     ren1.ResetCamera()
>     renWin.Render();
>     iren.Start()
>
> by the way, Mathieu, this XA multiframe images when displaying it with
> gdcmviewer a lot of frames in the middle show black, I could send it
> to you to see if you got this behavior.
>
> On Thu, Jul 5, 2012 at 12:35 PM, David Gobbi <david.gobbi at gmail.com> wrote:
>> A trick that I've used for multi-frame images in VTK is to read them
>> separately, and then combine them into a single image with
>> vtkImageAppendComponents.  The result is a multi-component image
>> where each component represents a different frame.  When these
>> multi-component images are displayed, you can control which component
>> is displayed by calling SetVectorComponent(i) on the lookup table that
>> you are using for the images.
>>
>> In other words, the multi-frame image is multiplexed into a multi-
>> component image.  Dealing with multi-component images in VTK is
>> fairly straightforward.
>>
>>  - David
>>
>>
>> On Thu, Jul 5, 2012 at 10:18 AM, José M. Rodriguez Bacallao
>> <jmrbcu at gmail.com> wrote:
>>> hi folks, this question may seen obvious but, how to correctly display
>>> a serie of XA multiframe images (17 multiframe images) with vtk, The
>>> images are read with gdcm vtk reader (vtkGDCMImageReader) one by one
>>> because this reader does not  support the reading of multiframe image
>>> series.



More information about the vtkusers mailing list