<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:"Nimbus Roman No9 L [urw]", serif;font-size:12pt"><DIV>Hello,<BR></DIV><DIV></DIV><DIV>I need help with my following problem.<BR>How can I show my DICOM images as 3D (volumetric display) with VTK?<BR>I read the DICOM images with itk::ImageSeriesReader and filter it with itk::WatershedImageFilter. For the connection between ITK and VTK I use itk:: ImageToVTKImageFilter. What classes should I use this in VTK, so that a volumetric display is out.<BR></DIV><DIV><BR></DIV><DIV></DIV><DIV>My Code:<BR><BR></DIV><DIV>          typedef unsigned char    PixelType;<BR>          const unsigned int      Dimension = 3;<BR><BR>          typedef itk::OrientedImage&lt; PixelType, Dimension &gt; ImageType;<BR>          typedef itk::ImageSeriesReader&lt; ImageType &gt; ReaderType;<BR>          typedef itk::GDCMImageIO ImageIOType;<BR>          typedef itk::GDCMSeriesFileNames NamesGeneratorType;<BR>  
        typedef std::vector&lt; std::string &gt;    SeriesIdContainer;<BR>         typedef std::vector&lt; std::string &gt;   FileNamesContainer;<BR><BR>          ImageIOType::Pointer dicomIO = ImageIOType::New();<BR><BR>            ReaderType::Pointer reader = ReaderType::New();<BR>          reader-&gt;SetImageIO( dicomIO );<BR><BR>          NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();<BR>          nameGenerator-&gt;SetUseSeriesDetails( true );<BR>          nameGenerator-&gt;AddSeriesRestriction("0008|0021" );<BR>          nameGenerator-&gt;SetDirectory( selectedDirectory);<BR><BR>          const SeriesIdContainer &amp; seriesUID = nameGenerator-&gt;GetSeriesUIDs();<BR>          SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();<BR>          SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();<BR><BR>             while( seriesItr != seriesEnd )<BR>              {<BR>                      seriesItr++;<BR>               }<BR><BR>         std::string seriesIdentifier;<BR>         seriesIdentifier =
 seriesUID.begin()-&gt;c_str();<BR><BR>         FileNamesContainer fileNames;<BR>         fileNames = nameGenerator-&gt;GetFileNames( seriesIdentifier );<BR><BR>         reader-&gt;SetFileNames( fileNames );<BR>         reader-&gt;Update();<BR><BR></DIV><DIV></DIV><DIV></DIV><DIV>         typedef float                             InternalPixelType;<BR>          typedef itk::RGBPixel&lt;unsigned char&gt;      RGBPixelType;<BR>          typedef itk::Image&lt; InternalPixelType,  Dimension &gt;  InternalImageType;<BR>          typedef itk::Image&lt; RGBPixelType,       Dimension &gt;  RGBImageType;<BR>//           typedef  itk::ImageFileWriter&lt; RGBImageType  &gt;        WriterType;<BR>         typedef itk::GradientMagnitudeImageFilter&lt;ImageType, ImageType&gt; GradientMagnitudeFilterType;<BR>          typedef  itk::WatershedImageFilter&lt; ImageType &gt; WatershedFilterType;<BR>          typedef itk::Functor::ScalarToRGBPixelFunctor&lt; unsigned long&gt; ColorMapFunctorType;<BR>          typedef
 WatershedFilterType::OutputImageType  LabeledImageType;<BR>//           typedef itk::UnaryFunctorImageFilter&lt; LabeledImageType,RGBImageType,ColorMapFunctorType &gt; ColorMapFilterType;<BR><BR> typedef itk::ImageToVTKImageFilter&lt;LabeledImageType&gt; ConnectorType;<BR><BR> GradientMagnitudeFilterType::Pointer magnitudeFilter = GradientMagnitudeFilterType::New();<BR>         magnitudeFilter-&gt;SetInput(reader-&gt;GetOutput());<BR><BR>          WatershedFilterType::Pointer watershedFilter = WatershedFilterType::New();<BR>          watershedFilter-&gt;SetInput( magnitudeFilter-&gt;GetOutput() );<BR>          watershedFilter-&gt;SetThreshold(this-&gt;sliderThresholdWatershed-&gt;value());<BR>          watershedFilter-&gt;SetLevel(this-&gt;sliderLevelWatershed-&gt;value());<BR><BR> ColorMapFilterType::Pointer colorMapFilter = ColorMapFilterType::New();<BR> colorMapFilter-&gt;SetInput(  watershedFilter-&gt;GetOutput() );<BR>  <BR>            WriterType::Pointer writer =
 WriterType::New();<BR>           writer-&gt;SetInput( colorMapFilter-&gt;GetOutput() );<BR>            writer-&gt;SetFileName("abc.tiff" );<BR>           writer-&gt;Update();<BR></DIV><DIV></DIV><DIV> ConnectorType::Pointer connector = ConnectorType::New();<BR> connector-&gt;SetInput( colorMapFilter-&gt;GetOutput());<BR></DIV><DIV></DIV><DIV></DIV><DIV>Thank you very much.<BR><BR></DIV>
</div><br>__________________________________________________<br>Do You Yahoo!?<br>Sie sind Spam leid? Yahoo! Mail verfügt über einen herausragenden Schutz gegen Massenmails. <br>http://mail.yahoo.com </body></html>