Hello friends,
I have the following problem with saving the vtkImageReslice output to file using vtkBMPWriter.
The output of the vtkImageReslice in the vtkImageViewer2 looks good, as demonstrated in the following image:
It is exactly what I need.
Now, I need to save this output to the bmp file so I use vtkBMPWriter. The problem is that I need to set the vtkImageReslice output to the unsigned char as the vtkBMPWriter doesn’t support another input.
Then, when I save the output, it looks like on the following image:
There are some unwanted vertical lines.
Here is the code snippet:
self.imageReslice = vtk.vtkImageReslice()
self.imageReslice.SetInputConnection(self.extractor.GetOutputPort())
self.imageReslice.SetOutputDimensionality(2)
self.imageReslice.SetResliceAxesDirectionCosines(1, 0, 0, 0, 1, 0, 0, 0, 1)
self.imageReslice.InterpolateOn()
self.imageReslice.SetOutputSpacing(xSpacing, ySpacing, zSpacing)
self.imageReslice.SetResliceAxesOrigin(center1[0], center1[1], center1[2])
self.imageReslice.AutoCropOutputOn()
self.imageReslice.UpdateWholeExtent()
viewer = vtk.vtkImageViewer2()
viewer.SetInputConnection(self.imageReslice.GetOutputPort())
viewer.SetColorWindow(255)
viewer.SetColorLevel(127.5)
viewer.Render()
self.imageReslice.SetOutputScalarType(vtk.VTK_UNSIGNED_CHAR)
self.writerAxial.SetInputConnection(self.imageReslice.GetOutputPort())
self.writerAxial.SetFileName("axial.bmp")
self.writerAxial.Update()
self.writerAxial.Write()
What can I do to have result on the saved image the same as the result in the image viewer window?
Do I need to add some filter or do anything else?
Thank you and have a nice day,
Jirka