<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=IT link=blue vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hello,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have just started using vtk with python and I am encountering some problems.<o:p></o:p></p><p class=MsoNormal>I’ve been trying to color the streamlines from vtkStreamTracer using the velocity data without much success. <o:p></o:p></p><p class=MsoNormal>I am acquiring the velocity data from a .vti file and generating the streamlines. I was using SpeedScalarsOn() earlier, but there doesn’t seem to be an analogous function for vtkStreamTracer.<o:p></o:p></p><p class=MsoNormal>I tried using vtkAssignAttribute without much success.<o:p></o:p></p><p class=MsoNormal>My code (from the streamTracer onwards) is below.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>output = reader.GetOutput()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal># Get vectors<o:p></o:p></p><p class=MsoNormal>velocity_field = output.GetPointData().GetArray(0)<o:p></o:p></p><p class=MsoNormal>output.GetPointData().SetVectors(velocity_field);<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>#streamtracer <o:p></o:p></p><p class=MsoNormal>streamtracer = vtk.vtkStreamTracer()<o:p></o:p></p><p class=MsoNormal>streamtracer.SetInput(output)<o:p></o:p></p><p class=MsoNormal>streamtracer.SetSource(seeds.GetOutput())<o:p></o:p></p><p class=MsoNormal>streamtracer.SetMaximumPropagation(200)<o:p></o:p></p><p class=MsoNormal>streamtracer.SetIntegrationDirectionToForward()<o:p></o:p></p><p class=MsoNormal>streamtracer.SetComputeVorticity(True)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>##streamTube from streamlines<o:p></o:p></p><p class=MsoNormal>streamTube = vtk.vtkTubeFilter()<o:p></o:p></p><p class=MsoNormal>streamTube.SetInputConnection(streamtracer.GetOutputPort())<o:p></o:p></p><p class=MsoNormal>streamTube.SetInputArrayToProcess(1, 0, 0, vtk.vtkDataObject.FIELD_ASSOCIATION_POINTS, "vectors")<o:p></o:p></p><p class=MsoNormal>streamTube.SetRadius(0.2)<o:p></o:p></p><p class=MsoNormal>streamTube.SetNumberOfSides(12)<o:p></o:p></p><p class=MsoNormal>streamTube.SetVaryRadiusToVaryRadiusByVector()<o:p></o:p></p><p class=MsoNormal>streamTube.Update()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>##streamtube mapper<o:p></o:p></p><p class=MsoNormal>mapStreamTube = vtk.vtkPolyDataMapper()<o:p></o:p></p><p class=MsoNormal>mapStreamTube.SetInputConnection(streamTube.GetOutputPort())<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>##black and White lookup table<o:p></o:p></p><p class=MsoNormal>lut = vtk.vtkLookupTable()<o:p></o:p></p><p class=MsoNormal>lut.SetHueRange(0.0, 0.0);<o:p></o:p></p><p class=MsoNormal>lut.SetSaturationRange(0.0, 0.0);<o:p></o:p></p><p class=MsoNormal>lut.SetValueRange(0.0, 1.0);<o:p></o:p></p><p class=MsoNormal>lut.SetVectorModeToMagnitude()<o:p></o:p></p><p class=MsoNormal>mapStreamTube.SetLookupTable(lut)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>##streamtube actor<o:p></o:p></p><p class=MsoNormal>streamTubeActor = vtk.vtkActor()<o:p></o:p></p><p class=MsoNormal>streamTubeActor.SetMapper(mapStreamTube)<o:p></o:p></p><p class=MsoNormal>streamTubeActor.GetProperty().BackfaceCullingOn()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>##rendering<o:p></o:p></p><p class=MsoNormal>renderer = vtk.vtkRenderer()<o:p></o:p></p><p class=MsoNormal>renderer.AddActor(streamTubeActor)<o:p></o:p></p><p class=MsoNormal>renderer.ResetCamera()<o:p></o:p></p><p class=MsoNormal>renderer.SetBackground(0.5,.5,.5);<o:p></o:p></p><p class=MsoNormal>renderWindow = vtk.vtkRenderWindow()<o:p></o:p></p><p class=MsoNormal>renderWindow.AddRenderer(renderer)<o:p></o:p></p><p class=MsoNormal>renderWindowInteractor = vtk.vtkRenderWindowInteractor()<o:p></o:p></p><p class=MsoNormal>renderWindowInteractor.SetRenderWindow(renderWindow)<o:p></o:p></p><p class=MsoNormal>renderWindowInteractor.Initialize()<o:p></o:p></p><p class=MsoNormal>renderWindowInteractor.Start()<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Can anyone help?<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you, <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Matteo</p><p class=MsoNormal><o:p> </o:p></p></div></body></html>