from paraview import servermanager import time # Setup if servermanager.ActiveConnection : connection = servermanager.ActiveConnection else: connection = servermanager.Connect() # Get ready to read a file reader = servermanager.sources.ImageReader() reader.FilePrefix = "/hpcx/home/z001/z001/ibethune/kevin_data/32x32x32" reader.DataExtent = [0, 31, 0, 31, 0, 31] reader.DataScalarType = 10 # Read the file view = servermanager.CreateRenderView() rep = servermanager.CreateRepresentation(reader, view) # Set up how to draw the data ai = reader.GetDataInformation().GetPointDataInformation().GetArrayInformation(0 ) lt = servermanager.rendering.PVLookupTable() rep.LookupTable = lt rep.ColorAttributeType = 0 rep.ColorArrayName = "ImageFile" lt.RGBPoints = [ai.GetComponentRange(0)[0], 0, 0, 1, ai.GetComponentRange(0)[1], 1, 0, 0] lt.ColorSpace = 1 # Draw print "Setup, now rendering..." view.StillRender() view.ResetCamera() camera = view.GetActiveCamera() position = camera.GetPosition() start_time = time.time() print start_time for angle in range(360): print "Starting iteration " + str(angle) print "Repositioning Camera..." camera.SetPosition(position) view.ResetCamera() print "done" print "Setting azimuth rotation to " + str(angle) + "..." camera.Azimuth(angle) print "done" print "Rendering image..." view.ViewTime = angle view.StillRender() print "done" print "Saving file..." view.WriteImage("images/testimg"+str(angle)+".png", "vtkPNGWriter", 1) print "done" end_time = time.time() print end_time print "Finished rendering" print "Total time taken = " + str(end_time - start_time)