Hello,
I am creating a vtkImageData by hand and I cannot successfully transform
it into a mitk::image, so I can later add it to the data storage.
Right now I have this and the node is added, but nothing is displayed:
Snippet
mitk::Geometry3D::Pointer geom3d = mitk::Geometry3D::New();
vec[0] = MyVTKImage->GetSpacing()[0];
vec[1] = MyVTKImage->GetSpacing()[1];
vec[2] = MyVTKImage->GetSpacing()[2];
geom3d->SetSpacing(vec);
geom3d->SetFloatBounds(MyVTKImage->GetBounds());
geom3d->SetImageGeometry(true);
geom3d->SetExtentInMM(0, vec[0]*MyVTKImage->GetExtent()[1]);
geom3d->SetExtentInMM(1, vec[1]*MyVTKImage->GetExtent()[3]);
geom3d->SetExtentInMM(2, vec[2]*MyVTKImage->GetExtent()[5]);
mitk::Image::Pointer outputImage = mitk::Image::New();
outputImage->SetGeometry(geom3d);
outputImage->Initialize(MyVTKImage);
outputImage->SetVolume(MyVTKImage->GetScalarPointer());
outputImage->Update();
Snippet
mitk::DataNode::Pointer dataNode = mitk::DataNode::New();
std::string name ="MyVTKImage";
dataNode->SetData(outputImage);
dataNode->SetProperty("name", mitk::StringProperty::New(name) );
(...)
Snippet
this->GetDataStorage()->Add(dataNode, nodes.front());
So, does anyone know what I am doing wrong or if there's a better way to
achieve this?
Thank you
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
mitk-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mitk-users