<div dir="ltr"><div style="margin-top:0px;margin-bottom:0px"><br></div><div style="margin-top:0px;margin-bottom:0px">Hello,</div><div style="margin-top:0px;margin-bottom:0px"><br></div><div style="margin-top:0px;margin-bottom:0px">
I am using vtkImageViewer2 and vtkContourWidget and can scroll through DICOM slices, but I am able to contour only the current visible slice, not all slices. </div><div style="margin-top:0px;margin-bottom:0px"><br></div>
<div style="margin-top:0px;margin-bottom:0px">
Here is my question: I need to contour each slice independently, and then later when I am reviewing the DICOM, I would like to be able to see every slice along with its corresponding contour aligned on it. The following is my code so far, would you advise how to architecterize this? </div>
<div style="margin-top:0px;margin-bottom:0px"><br></div><div style="margin-top:0px;margin-bottom:0px">Thanks</div><div style="margin-top:0px;margin-bottom:0px"> <br></div><pre style="margin-top:0px;margin-bottom:0px"><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span><</span><span style="color:rgb(128,0,128)">vtkInteractorStyleImage</span><span>></span><span style="color:rgb(192,192,192)"> </span><span>interactorStyle</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span><</span><span style="color:rgb(128,0,128)">vtkInteractorStyleImage</span><span>>::</span><span>New</span><span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>imageViewer<span>-></span><span style="font-style:italic">SetInputConnection</span><span>(DICOM</span><span>reader</span><span>-></span><span>GetOutputPort</span><span>());</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ui</span><span>->myQvtk</span><span style="color:rgb(128,0,0)">widget</span><span>-></span><span style="font-style:italic">SetRenderWindow</span><span>(</span>imageViewer<span>-></span><span style="font-style:italic">GetRenderWindow</span><span>());</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>imageViewer<span>-></span><span style="font-style:italic">SetSlice</span><span>(</span><span style="color:rgb(0,0,128)">10</span><span>); // the current slice</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>imageViewer<span>-></span><span style="font-style:italic">SetupInteractor</span><span>(</span><span style="color:rgb(128,0,0)">ui</span><span>-></span><span style="font-family:arial">myQvtk</span><span style="color:rgb(128,0,0);font-family:arial">widget</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">GetInteractor</span><span style="font-family:arial">());</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ui</span><span>-></span><span style="font-family:arial">myQvtk</span><span style="color:rgb(128,0,0);font-family:arial">widget</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">GetRenderWindow</span><span style="font-family:arial">()-></span><span style="font-family:arial;font-style:italic">GetInteractor</span><span style="font-family:arial">()-></span><span style="font-family:arial;font-style:italic">SetInteractorStyle</span><span style="font-family:arial">(</span><span style="font-family:arial">interactorStyle</span><span style="font-family:arial">);</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ui</span><span>-></span><span style="font-family:arial">myQvtk</span><span style="color:rgb(128,0,0);font-family:arial">widget</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">GetRenderWindow</span><span style="font-family:arial">()-></span><span style="font-family:arial;font-style:italic">Render</span><span style="font-family:arial">();</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,0)">ui</span><span>-></span><span style="font-family:arial">myQvtk</span><span style="color:rgb(128,0,0);font-family:arial">widget</span><span style="font-family:arial">-></span><span style="font-family:arial">update</span><span style="font-family:arial">();</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial"> </span></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128);font-family:arial"> vtkSmartPointer</span><span style="font-family:arial"><</span><span style="color:rgb(128,0,128);font-family:arial">vtkOrientedGlyphContourRepresentation</span><span style="font-family:arial">></span><span style="color:rgb(192,192,192);font-family:arial"> </span><span style="font-family:arial">rep1</span><span style="color:rgb(192,192,192);font-family:arial"> </span><span style="font-family:arial">=</span><span style="color:rgb(192,192,192);font-family:arial"> </span><span style="color:rgb(128,0,128);font-family:arial">vtkSmartPointer</span><span style="font-family:arial"><</span><span style="color:rgb(128,0,128);font-family:arial">vtkOrientedGlyphContourRepresentation</span><span style="font-family:arial">>::</span><span style="font-family:arial">New</span><span style="font-family:arial">();</span><br>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192);font-family:arial"> </span><span style="font-family:arial">rep1</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">GetLinesProperty</span><span style="font-family:arial">()-></span><span style="font-family:arial;font-style:italic">SetLineWidth</span><span style="font-family:arial">(</span><span style="color:rgb(0,0,128);font-family:arial">3.0f</span><span style="font-family:arial">);</span><br>
</pre></pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>ContourWidget<span>-></span><span>SetRepresentation</span><span>(</span>rep1<span>);</span></pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span><</span><span style="color:rgb(128,0,128)">vtkImageActorPointPlacer</span><span>></span><span style="color:rgb(192,192,192)"> </span><span>imageActorPointPlacer</span><span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkSmartPointer</span><span><</span><span style="color:rgb(128,0,128)">vtkImageActorPointPlacer</span><span>>::</span><span>New</span><span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span><span>imageActorPointPlacer</span><span>-></span><span>SetImageActor</span><span>(</span>imageViewer<span>-></span><span style="font-style:italic">GetImageActor</span><span>());</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>rep1<span>-></span><span>SetPointPlacer</span><span>(</span><span>imageActorPointPlacer</span><span>);</span></pre><pre style="margin-top:0px;margin-bottom:0px">
<br></pre><pre style="margin-top:0px;margin-bottom:0px"><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(128,0,128)"> vtkContourWidget</span><span style="color:rgb(192,192,192)"> </span><span>*</span>ContourWidget<span style="color:rgb(192,192,192)"> </span><span>=</span><span style="color:rgb(192,192,192)"> </span><span style="color:rgb(128,0,128)">vtkContourWidget</span><span>::</span><span>New</span><span>();</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192);font-family:arial"> </span><span style="font-family:arial">ContourWidget</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">SetInteractor</span><span style="font-family:arial">(</span><span style="color:rgb(128,0,0);font-family:arial">ui</span><span style="font-family:arial">-></span><span style="color:rgb(128,0,0);font-family:arial">widget</span><span style="font-family:arial">-></span><span style="font-family:arial;font-style:italic">GetInteractor</span><span style="font-family:arial">());</span></pre>
</pre><pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>ContourWidget<span>-></span><span style="font-style:italic">SetEnabled</span><span>(</span><span style="color:rgb(128,128,0)">true</span><span>);</span></pre>
<pre style="margin-top:0px;margin-bottom:0px"><span style="color:rgb(192,192,192)"> </span>ContourWidget<span>-></span><span style="font-style:italic">ProcessEventsOn</span><span>();</span></pre><pre style="margin-top:0px;margin-bottom:0px">
<span style="color:rgb(192,192,192)"> </span>ContourWidget<span>-></span><span style="font-style:italic">FollowCursorOn</span><span>();</span></pre><pre style="margin-top:0px;margin-bottom:0px"><br></pre><pre style="margin-top:0px;margin-bottom:0px">
</pre></div>