It looks like you stumbled upon a typical c++ weakness using templates. if you look at the line which causes the error: "mitk::Image::Pointer mitkVolume = mitk::ImportItkImage<itk::Image<unsigned char, 3>>(itkVolume); //Error"
this should read like: mitk::Image::Pointer mitkVolume = mitk::ImportItkImage<itk::Image<unsigned char, 3> >(itkVolume); //Error note additional space in the template argument of the import filter. the problem is that >> is interpreted as the right shift operator. stefan On Wed, Apr 14, 2010 at 8:30 PM, Matthias Mucha <[email protected]> wrote: > > Dear List, > > I've built an 3D-ITK-Image with the itk::TileImageFilter out of 10 > 2D-ITK-Ultrasound-Images (to build a test-volume). Now I want to convert this > 3D-ITK-Image back to an 3D-MITK-Image to display it in MITK. Therefor I use > mitk::ImportItkImage, but I got always an error by doing it in this way. What > do I wrong? Is there another way to do such the conversion? > > > Here my code for the conversion: > > queue<itk::Image<unsigned char, 2>::Pointer> m_ImageStack = > m_QueueManager->GetImageQueue(); //Get the Image-Queue (2D-ITK-Images) > > if(m_ImageStack.size() >= 10){ > > //create the ITK-3D-Volume > itk::Image<unsigned char, 3>* itkVolume = TileFilter(); > > //Cast from ITK to MITK > cout << "CastToMITKImage" << endl; > mitk::Image::Pointer mitkVolume = > mitk::ImportItkImage<itk::Image<unsigned char, 3>>(itkVolume); //Error > cout << "finished" << endl; > > ..and here is the code to create the ITK-Volume: > > itk::Image<unsigned char, 3>* QmitkUltrasoundReconstructionView::TileFilter() > { > typedef unsigned char PixelType; > enum { InputImageDimension = 2 }; > enum { OutputImageDimension = 3 }; > > typedef itk::Image<PixelType,InputImageDimension> InputImageType; > typedef itk::Image<PixelType,OutputImageDimension> OutputImageType; > typedef itk::TileImageFilter<InputImageType,OutputImageType> TilerType; > > > itk::FixedArray<unsigned int,3> layout; > layout[0] = 1; > layout[1] = 1; > layout[2] = 0; > > //// Tile the input images > TilerType::Pointer tiler = TilerType::New(); > unsigned int f = 0; > for (int i=0; i< m_ImageStack.size(); i++) > { > > tiler->SetInput(f++, m_ImageStack.front()); > m_ImageStack.pop(); > } > > tiler->SetLayout(layout); > tiler->SetDefaultPixelValue(0); > tiler->Update(); > return tiler->GetOutput(); > > } > > Best regards > > Matthias Mucha > -- > GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT! > Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01 > > ------------------------------------------------------------------------------ > Download Intel® Parallel Studio Eval > Try the new software tools for yourself. Speed compiling, find bugs > proactively, and fine-tune applications for parallel performance. > See why Intel Parallel Studio got high marks during beta. > http://p.sf.net/sfu/intel-sw-dev > _______________________________________________ > mitk-users mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/mitk-users -- -- Stefan Daenzer Körnerplatz 8 04107 Leipzig Tel.: +49-176-61157550 "Work like you don't need the money, love like you've never been hurt and dance like no one is watching." - Randall G Leighton ------------------------------------------------------------------------------ Download Intel® Parallel Studio Eval Try the new software tools for yourself. Speed compiling, find bugs proactively, and fine-tune applications for parallel performance. See why Intel Parallel Studio got high marks during beta. http://p.sf.net/sfu/intel-sw-dev _______________________________________________ mitk-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mitk-users
