<div dir="ltr"><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
<p style="border-bottom-width:0px;padding-right:0px;padding-left:0px;padding-top:0px;background-color:transparent;border-style:initial;border-color:initial;margin-bottom:1em;padding-bottom:0px;border-top-width:0px;clear:both;vertical-align:baseline;line-height:18px;margin-right:0px;font-size:14px;margin-left:0px;border-right-width:0px;font-family:Arial,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;word-wrap:break-word;margin-top:0px;border-left-width:0px;background-image:initial">
I am using vtkImageViewer class to visualize different planes in a 3D volume. Then I like to overlay a vertical and a horizontal line to mark the current mouse position. I use the following code to add a vtkActor2D to the viewer:</p>
imageViewer = vtk.vtkImageViewer() </div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
... </div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line = vtk.vtkLineSource()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line.SetResolution(20)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
mapper = vtk.vtkPolyDataMapper2D()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
mapper.SetInputConnection(line.GetOutputPort())</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor = vtk.vtkActor2D()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.SetMapper(mapper)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
imageViewer.GetRenderer().AddActor2D(actor)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
... </div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line.SetPoint1(x,0.0,0.0) line.SetPoint2(x,y,0.0)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.GetProperty().SetColor(color)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.GetProperty().SetOpacity(0.75)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
... </div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
imageViewer.Render()<p style="border-bottom-width:0px;padding-right:0px;padding-left:0px;padding-top:0px;background-color:transparent;border-style:initial;border-color:initial;margin-bottom:1em;padding-bottom:0px;border-top-width:0px;clear:both;vertical-align:baseline;line-height:18px;margin-right:0px;font-size:14px;margin-left:0px;border-right-width:0px;font-family:Arial,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;word-wrap:break-word;margin-top:0px;border-left-width:0px;background-image:initial">
<br></p><p style="border-bottom-width:0px;padding-right:0px;padding-left:0px;padding-top:0px;background-color:transparent;border-style:initial;border-color:initial;margin-bottom:1em;padding-bottom:0px;border-top-width:0px;clear:both;vertical-align:baseline;line-height:18px;margin-right:0px;font-size:14px;margin-left:0px;border-right-width:0px;font-family:Arial,&#39;Liberation Sans&#39;,&#39;DejaVu Sans&#39;,sans-serif;word-wrap:break-word;margin-top:0px;border-left-width:0px;background-image:initial">
On Mac OS X it works as expected, but when I try on my Windows machine the line does not show at all. If I change to vtkActor instead the actors are rendered behind the imageViewer, how do I bring a vtkActor to the foreground? (On Windows)<br>
</p>imageViewer = vtk.vtkImageViewer()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
...</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line = vtk.vtkLineSource()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line.SetResolution(20)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
mapper = vtk.vtkPolyDataMapper()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
mapper.SetInputConnection(line.GetOutputPort())</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor = vtk.vtkActor()</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.SetMapper(mapper)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
imageViewer.GetRenderer().AddActor(actor)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
...</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line.SetPoint1(x,0.0,0.0)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
line.SetPoint2(x,y,0.0)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.GetProperty().SetColor(color)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
actor.GetProperty().SetOpacity(0.75)</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
...</div><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
imageViewer.Render()</div><span class=""><font color="#888888"><div style="margin-top:0px;margin-right:5px;margin-bottom:5px;margin-left:0px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px">
<br></div><div style="margin-top:0px;margin-bottom:5px;padding-top:0px;padding-right:0px;padding-bottom:0px;padding-left:0px;border-top-width:0px;border-right-width:0px;border-bottom-width:0px;border-left-width:0px;border-style:initial;border-color:initial;vertical-align:baseline;background-image:initial;background-color:transparent;width:660px;margin-left:5px;margin-right:0px">
// JR</div></font></span></div>