This is a follow-up question to the one below:
I managed to create a vtkImageData in a Programmable Source.
Now I would like to pack this image creating in a Source plugin, as an alternative. So far, my RequestData method inside the MySource class (which extends VTKPythonAlgorithmBase) looks like:
def RequestData(self, request, inInfo, outInfo): output = vtkImageData.GetData(outInfo, 0) im = my_vtk_image # Setting image properties output.SetDimensions(im.nx, im.ny, im.nz) output.SetOrigin(0,0,0) output.SetSpacing(im.dx, im.dy, im.dz) # This is necessary to update the output information executive = self.GetExecutive() outInfo0 = outInfo.GetInformationObject(0) outInfo0.Set(executive.WHOLE_EXTENT(), 0, im.nx-1, 0, im.ny-1, 0, im.nz-1) outInfo0.Set(vtk.vtkDataObject.SPACING(), im.dx, im.dy, im.dz) return 1
I manage to load this plugin but it doesn’t render the image in ParaView. The behaviour is similar to the one if I don’t set the extent of the image using the “executive”. Any clues on what might be going wrong? How to set the extent and spacing of the image when loading from a plugin source?
PS: How do I write block code here in the questions? Couldn’t find out.