Dear sir/madam<br><br>Hi,<br><br>I am a new user of VTK ActiViz.Net. I got a serious problem. I have successfully build an examples (ReadDICOMSeries) by using the Activiz.net in c# with visual studio and also build the cxx source. But when I run the program they don&#39;t work in the same way. In the cxx program, the slicer looks working nice, while on the other hand, the c# program seems broken. When I slice the images in the c# program, it seems being zoomed while I scroll the mouse wheel. But it is not happened when I use the keyboard keyUp and keyDown to change the slice.<br>
<br><br><br><br><br>Here&#39;s my c# source code :<br><br>===============================================<br><br>using System;<br>using System.Collections.Generic;<br>using System.ComponentModel;<br>using System.Data;<br>
using System.Drawing;<br>using System.Linq;<br>using System.Text;<br>using System.Windows.Forms;<br>using Kitware.VTK;<br>using Kitware.mummy;<br><br>using System.Diagnostics;<br>using System.IO;<br><br>namespace Pyramid<br>
{<br>    public partial class Form1 : Form<br>    {<br>        vtkImageViewer2 _ImageViewer;<br><br>        int _Slice;<br>        int _MinSlice;<br>        int _MaxSlice;<br><br>        public Form1()<br>        {<br><br>
            InitializeComponent();<br>        }<br>        private void ReadDICOMSeries() {<br>         vtkDICOMImageReader reader = vtkDICOMImageReader.New();<br>         reader.SetDirectoryName(&quot;DICOM&quot;);<br>         reader.Update();<br>
        <br><br>        vtkImageShiftScale shift = vtkImageShiftScale.New();<br>        shift.SetInputConnection( reader.GetOutputPort() );<br>        shift.SetShift( 1024);<br><br><br>         _ImageViewer = vtkImageViewer2.New();<br>
         _ImageViewer.SetInputConnection(reader.GetOutputPort());<br>         _ImageViewer.GetSliceRange(ref _MinSlice, ref _MaxSlice);<br>         Debug.WriteLine(&quot;slices range from : &quot; + _MinSlice.ToString() + &quot; to &quot; + _MaxSlice.ToString());<br>
 <br>         vtkRenderWindow renderWindow = renderWindowControl1.RenderWindow;<br><br><br>         vtkRenderWindowInteractor iren = vtkRenderWindowInteractor.New();<br> <br>         vtkInteractorStyleImage interactorStyle = vtkInteractorStyleImage.New();<br>
<br>         <br>         <br>         iren.MouseWheelForwardEvt += new vtkObject.vtkObjectEventHandler(interactor_MouseWheelForwardEvt);<br>         iren.MouseWheelBackwardEvt += new vtkObject.vtkObjectEventHandler(interactor_MouseWheelBackwardEvt);<br>
<br>         iren.SetInteractorStyle(interactorStyle);<br><br>         _ImageViewer.SetupInteractor(iren);<br>         _ImageViewer.SetRenderWindow(renderWindow);<br>         _ImageViewer.SetSlice(_MinSlice);<br>         _ImageViewer.Render();<br>
      }<br> <br> <br><br>      private void MoveForwardSlice() {<br>         Debug.WriteLine(_Slice.ToString());<br>         if(_Slice &lt; _MaxSlice) {<br>            _Slice += 1;<br>            _ImageViewer.SetSlice(_Slice);<br>
            _ImageViewer.Render();<br>         }<br>         <br>      }<br> <br><br>      private void MoveBackwardSlice() {<br>         Debug.WriteLine(_Slice.ToString());<br>         if(_Slice &gt; _MinSlice) {<br>            _Slice -= 1;<br>
            _ImageViewer.SetSlice(_Slice);<br>            _ImageViewer.Render();<br>         }<br>      }<br> <br> <br><br>      protected override bool ProcessCmdKey(ref System.Windows.Forms.Message msg, System.Windows.Forms.Keys keyData) {<br>
<br>         if(keyData == System.Windows.Forms.Keys.Up) {<br>            MoveForwardSlice();<br>            return true;<br>         }<br>         else if(keyData == System.Windows.Forms.Keys.Down) {<br>            MoveBackwardSlice();<br>
            return true;<br>         }<br><br>         else if(<br>               keyData == System.Windows.Forms.Keys.F<br>            || keyData == System.Windows.Forms.Keys.L<br>         ) {<br>            return true;<br>
         }<br>         return false;<br>      }<br><br><br><br>      void interactor_MouseWheelForwardEvt(vtkObject sender, vtkObjectEventArgs e) {<br>         MoveForwardSlice();<br>      }<br> <br>      void interactor_MouseWheelBackwardEvt(vtkObject sender, vtkObjectEventArgs e) {<br>
          if (_Slice &gt; _MinSlice)<br>          {<br>              MoveBackwardSlice();<br>          }<br>     }<br><br>        private void Form1_Load(object sender, EventArgs e)<br>        {<br><br>        }<br><br><br>
        private void renderWindowControl1_Load_1(object sender, EventArgs e)<br>        {<br>            try<br>            {<br>                ReadDICOMSeries();<br>            }<br>            catch (Exception ex)<br>            {<br>
                MessageBox.Show(ex.Message, &quot;Exception&quot;, MessageBoxButtons.OK);<br>            }<br>        }<br>    }<br>}<br><br><br>===========================================<br><br>I&#39;ve tried to resolve it in many ways like changing the interactor or override the interactor. But it&#39;s not working. Any suggestion to resolve this problem please. I hope someone can help me to resolve this problem, please help me. Thank you very much<br>
<br><br><br>Regards,<br>-- <br>Yakub Aqib Bayhaqi<br><br><br>