[vtkusers] How to convert vtkImageCast back to vtkImageData
quentan at gmail.com
Sat Jun 13 09:15:46 EDT 2015
Thank you very much for your prompt reply. You solved this problem in seconds! I now understand the two different pipeline better.
> On 13 Jun 2015, at 14:06, David Gobbi <david.gobbi at gmail.com> wrote:
> Hi Quental,
> The solution is as follows:
> 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?
> 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!
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the vtkusers