[vtkusers] How to convert vtkImageCast back to vtkImageData
Quentan Qi
quentan at gmail.com
Sat Jun 13 09:15:46 EDT 2015
Hi David,
Thank you very much for your prompt reply. You solved this problem in seconds! I now understand the two different pipeline better.
Cheers,
Quentan
> On 13 Jun 2015, at 14:06, David Gobbi <david.gobbi at gmail.com> wrote:
>
> Hi Quental,
>
> The solution is as follows:
>
> cast.Update()
> implicit_volume.SetVolume(cast.GetOutput())
>
> The VTK pipeline recognizes two very distinct kinds of objects:
>
> The vtkImageCast object is a vtk "algorithm" object (derived from vtkAlgorithm).
> The vtkImageData object is a vtk "data" object (derived from vtkDataObject).
>
> An algorithm can never be data. An algorithm _operates_ on data.
> So the algorithm's input is data, and its output is data.
>
> - David
>
>
> On Sat, Jun 13, 2015 at 6:36 AM, Quentan Qi <quentan at gmail.com <mailto:quentan at gmail.com>> wrote:
> Hi there,
>
> After casting an image using vtkImageCast, it becomes a vtkImageCast object, but I want to use vtkImplicitVolume which requires vtkImageData type. How to convert vtkImageCast back to vtkImageData?
>
> ```Python
>
> reader = read_DICOM(path_dicom) # result is a vtkImageData
>
> cast = vtk.vtkImageCast()
> cast.SetInputData(reader) # vtkImageData —> vtkImageCast
> cast.SetOutputScalarTypeToShort() # I need this type
>
> implicit_volume = vtk.vtkImplicitVolume()
> implicit_volume.SetVolume(reader) # It works but I need “cast” instead
> # implicit_volume.SetVolume(cast) # It’s wrong because vtkImageData is required, but a vtkImageCast was given
> # other things
>
> ```
>
> Thanks a lot!
>
> Cheers,
> Quentan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20150613/65235239/attachment.html>
More information about the vtkusers
mailing list