<div dir="ltr"><div><div><div>Dear all,<br><br>I read a .mha meta image file using vtkMetaImageReader, then use the input image to initialize a new image, and output with vtkMetaImageWriter. The code is:<br><br> vtkSmartPointer<vtkMetaImageReader> reader = vtkSmartPointer<vtkMetaImageReader>::New();<br>
reader->SetFileName(argv[1]);<br> reader->Update();<br> vtkSmartPointer<vtkImageData> img = reader->GetOutput();<br><br><br> vtkSmartPointer<vtkImageData> outImage = vtkSmartPointer<vtkImageData>::New();<br>
outImage->SetDimensions(img->GetDimensions());<br> outImage->SetOrigin(img->GetOrigin());<br> outImage->SetSpacing(img->GetSpacing());<br> outImage->SetInformation(img->GetInformation());<br>
outImage->SetNumberOfScalarComponents(1);<br> outImage->SetScalarType(img->GetScalarType());<br> outImage->AllocateScalars();<br><br> vtkSmartPointer<vtkMetaImageWriter> writer = vtkSmartPointer<vtkMetaImageWriter>::New();<br>
writer->SetFileName("aa.mhd");<br> writer->SetRAWFileName("aa.raw");<br> writer->SetInput(outImage);<br> writer->Write();<br><br><br><br></div>But the output image header information is different from the input. The input image has the header:<br>
ObjectType = Image<br>NDims = 3<br>BinaryData = True<br>BinaryDataByteOrderMSB = False<br>CompressedData = False<br>TransformMatrix = 0 1 0 0 0 -1 -1 0 0<br>Offset = 86.6449 -133.929 116.786<br>CenterOfRotation = 0 0 0<br>
AnatomicalOrientation = ASL<br>ElementSpacing = 1 1 1.3<br>DimSize = 256 256 130<br>ElementType = MET_SHORT<br>ElementDataFile = LOCAL<br><br><br><br></div>The output image header is:<br><br>ObjectType = Image<br>NDims = 3<br>
BinaryData = True<br>BinaryDataByteOrderMSB = False<br>CompressedData = True<br>CompressedDataSize = 16584<br>TransformMatrix = 1 0 0 0 1 0 0 0 1<br>Offset = 86.6449 -133.929 116.786<br>CenterOfRotation = 0 0 0<br>ElementSpacing = 1 1 1.3<br>
DimSize = 256 256 130<br>AnatomicalOrientation = ???<br>ElementType = MET_SHORT<br>ElementDataFile = aa.raw<br><br><br></div>The AnatomicalOrientation and TransformMatrix are different...<br><br>Could I get some advice on how to copy the input image's such info to the output image?<br>
<br>Thank you!<br><br>Best,<br>yi<br></div>