<div dir="ltr">Hi,<div><br></div><div>As mentioned, I am reading DICOM using vtkImageActor instead of vtkImageReviewer2. I have a simple code below. The problem is that when I run the code, the slice does not show up, unless I slightly manipulate the window by mouse. Once I touch the window and move the mouse, the slice shows up immediately. Would you let me know why this happens? </div>

<div>
        
        
        


<pre class="">    vtkSmartPointer<vtkDICOMImageReader> reader = vtkSmartPointer<vtkDICOMImageReader>::New();
    reader->SetDirectoryName("/home/DICOM_Dir");
    reader->Update();
    vtkSmartPointer<vtkImageActor> imageActor = vtkSmartPointer<vtkImageActor>::New();
    imageActor->SetInputData(reader->GetOutput());
   
    imageMapper = vtkImageSliceMapper::SafeDownCast( imageActor->GetMapper() );
    imageMapper->SetSliceNumber(10);
    vtkSmartPointer<vtkRenderer> ren = vtkSmartPointer<vtkRenderer>::New();
    ren->AddActor(imageActor);
    ren->ResetCamera();

    vtkSmartPointer<vtkRenderWindow> renWin = vtkSmartPointer<vtkRenderWindow>::New();
    renWin->AddRenderer(ren);</pre><pre class="">    vtkSmartPointer<vtkRenderWindowInteractor> renderWindowInteractor = vtkSmartPointer<vtkRenderWindowInteractor>::New();
    vtkSmartPointer<vtkInteractorStyleTrackballCamera> interactorImageStyle = vtkSmartPointer<vtkInteractorStyleTrackballCamera>::New();</pre><pre class="">    renderWindowInteractor->SetInteractorStyle(interactorImageStyle);
    renWin->SetInteractor(renderWindowInteractor);
    renderWindowInteractor->SetRenderWindow(renWin);
    renderWindowInteractor->Initialize();
    renderWindowInteractor->Start();</pre><pre class=""><br></pre><pre class="">Thanks.</pre><pre class="">-S</pre></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Mar 21, 2014 at 12:57 AM, Sam Raby <span dir="ltr"><<a href="mailto:rabysam28@gmail.com" target="_blank">rabysam28@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks David. Adding <font face="arial, sans-serif">SafeDownCast rectified the error, and I can now change the slice number using </font><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">vtkImageSliceMapper object</span><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">.</span><div>


<font face="arial, sans-serif"><br></font><div>I initially was going to change the slice number through <span style="font-family:arial,sans-serif;font-size:12.727272033691406px">vtkImageActor, but the method that is in charge (i.e. </span><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">SetZSlice) </span><font face="arial, sans-serif">appeared to be not working, as reported in the past on the link, and hence I thought to change the slice number via its mapper. </font><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">Thanks for the help!</span></div>


<div><br><span style="color:rgb(17,85,204);font-family:arial,sans-serif;font-size:12.727272033691406px;text-decoration:underline"><a href="http://www.paraview.org/Bug/" target="_blank">http://www.paraview.org/Bug/</a></span><span style="color:rgb(17,85,204);font-family:arial,sans-serif;font-size:12.727272033691406px;text-decoration:underline">bug_relationship_graph.php?</span><span style="color:rgb(17,85,204);font-family:arial,sans-serif;font-size:12.727272033691406px;text-decoration:underline">bug_id=3661&graph=dependency</span><span class="HOEnZb"><font color="#888888"><span style="font-size:12.727272033691406px;font-family:arial,sans-serif"><br>


</span></font></span></div><span class="HOEnZb"><font color="#888888"><div><span style="color:rgb(17,85,204);font-family:arial,sans-serif;font-size:12.727272033691406px;text-decoration:underline"><br></span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px"><br>


</span></div><div><span style="font-family:arial,sans-serif;font-size:12.727272033691406px">-S</span></div></font></span></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><br><div class="gmail_quote">

On Wed, Mar 19, 2014 at 2:28 PM, David Gobbi <span dir="ltr"><<a href="mailto:david.gobbi@gmail.com" target="_blank">david.gobbi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>On Wed, Mar 19, 2014 at 12:59 PM, Sam Raby <<a href="mailto:rabysam28@gmail.com" target="_blank">rabysam28@gmail.com</a>> wrote:<br>



> thanks for the feedback. I am following your solution as below:<br>
><br>
> vtkImageSliceMapper* myMapper = myActor->GetMapper();<br>
> myMapper->SetSliceNumber(sliceNum);<br>
><br>
> However I am getting the following error:<br>
><br>
> error: invalid conversion from 'vtkImageMapper3D*' to 'vtkImageSliceMapper*'<br>
> [-fpermissive]<br>
><br>
> I was not sure how to address this. Am I missing something here?<br>
<br>
</div>Oops, I guess it needs a cast.<br>
<br>
vtkImageSliceMapper* myMapper =<br>
  vtkImageSliceMapper::SafeDownCast(myActor->GetMapper());<br>
<br>
Perhaps vtkImageActor should have a SetSliceNumber() and<br>
SetOrientation() method itself, instead of these methods being just in<br>
the mapper.<br>
<span><font color="#888888"><br>
  David<br>
</font></span></blockquote></div><br></div>
</div></div></blockquote></div><br></div>