Wrong origin in vtkImageCast on vtkImageData
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
When i have a 3D vtkImageData with origin not equal to 0,0,0 the vtkImageCast returns an output with origin 0,0,0!
Here my code:
std::cout << "Input 1" << std::endl; std::cout << " Origin: " << oInput1->GetOrigin()[0] << " " << oInput1->GetOrigin()[1] << " " << oInput1->GetOrigin()[2] << std::endl; //Original Origin which is not 0,0,0
vtkSmartPointer oInputCaster1 = vtkImageCast::New();
oInputCaster1->ReleaseDataFlagOn();
oInputCaster1->SetInput(oInput1);
oInputCaster1->SetOutputScalarTypeToShort();
oInputCaster1->Update();
std::cout << "Input caster 1" << std::endl; std::cout << " Origin: " << oInputCaster1->GetOutput()->GetOrigin()[0] << " " << oInputCaster1->GetOutput()->GetOrigin()[1] << " " << oInputCaster1->GetOutput()->GetOrigin()[2] << std::endl; //Origin is 0,0,0!
vtkSmartPointer oOrigin1 = vtkImageChangeInformation::New(); oOrigin1->SetInput(oInputCaster1->GetOutput()); oOrigin1->ReleaseDataFlagOn(); oOrigin1->SetOutputOrigin(oInput1->GetOrigin()); oOrigin1->Update();
std::cout << "Origin changer 1" << std::endl; std::cout << " Origin: " << oOrigin1->GetOutput()->GetOrigin()[0] << " " << oOrigin1->GetOutput()->GetOrigin()[1] << " " << oOrigin1->GetOutput()->GetOrigin()[2] << std::endl;
//Origin is correct