]> Creatis software - creaMaracasVisu.git/commitdiff
#3012 creaMaracasVisu Bug New Normal - Update Image in ViewerNV
authorEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Wed, 7 Sep 2016 14:03:28 +0000 (16:03 +0200)
committerEduardo DAVILA <eduardo.davila@creatis.insa-lyon.fr>
Wed, 7 Sep 2016 14:03:28 +0000 (16:03 +0200)
25 files changed:
lib/maracasVisuLib/src/interface/wxWindows/widgets/InteractorStyleMaracas.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkClipping3DDataViewer.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleBaseView2D.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStylePlane2D.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkInteractorStyleSphere.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkMPR3DDataViewer.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkMPR3DDataViewer.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/vtkPlane2DView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRBaseData.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRWidget.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxSphereView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxSphereView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk3DBaseView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkBaseView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkClipping3DView.h
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR2DView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h

index c26493e1bdd2600ee160861ef6457f71422a922c..d4c495c85083681b833b4fe56aabebf43223a077 100644 (file)
@@ -40,7 +40,7 @@ InteractorStyleMaracas::~InteractorStyleMaracas()
 }
 
 // ----------------------------------------------------------------------------
-InteractorStyleMaracas * InteractorStyleMaracas :: Clone()  // virtual 
+InteractorStyleMaracas * InteractorStyleMaracas::Clone()  // virtual 
 {
        InteractorStyleMaracas * clone = new InteractorStyleMaracas();
        CopyAttributesTo(clone);
@@ -114,28 +114,21 @@ bool InteractorStyleMaracas::OnRightDClick() //virtual
        return true;
 }
 
-
-
 //---------------------------------------------------------------------------
 bool InteractorStyleMaracas::OnMouseWheelForward() //virtual
 {
        return true;
 }
-
 //---------------------------------------------------------------------------
 bool InteractorStyleMaracas::OnMouseWheelBackward()  //virtual
 {
        return true;
 }
-
 //---------------------------------------------------------------------------
-
- void InteractorStyleMaracas::SetVtkInteractorStyleBaseView(vtkInteractorStyleBaseView* vtkInteractorStyleBaseView)
+void InteractorStyleMaracas::SetVtkInteractorStyleBaseView(vtkInteractorStyleBaseView* vtkInteractorStyleBaseView)
 {
        _vtkInteractorStyleBaseView = vtkInteractorStyleBaseView;
 }
-
-
 //---------------------------------------------------------------------------
 void InteractorStyleMaracas::RemoveVtkInteractorStyleBaseView()
 {
index 19b4cd00ecbc204214912f23403a49fc681af759..f058df7f60adf1a9693f76a39a496d44c7c3609f 100644 (file)
@@ -115,6 +115,8 @@ bool manualInteractorWindowLevel::OnMouseMove()                     // virtual
                
 //             vtkimageviewer2->Render();
        }
+
+
        return true;
 }
 
index 335af08b1429898e41ed6ae1a151dc76840cee95..a888215dc78262188dcaa7fade05be4dc4b72176 100644 (file)
@@ -201,46 +201,49 @@ void vtkClipping3DDataViewer::SetVisibleVolumeBox(bool visibleBox)
        _visibleVolumeBox = visibleBox;
 }
 
+
 //-------------------------------------------------------------------
-void vtkClipping3DDataViewer::Configure_Tissue()
+void vtkClipping3DDataViewer::SetImage()
 {
+       int i;
+       vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
+       for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
+       {
+               _mCubes[i]->SetInput( imagedata );
+       } // for
+       _volumeMapper->SetInput( imagedata );
+       _volumerendererdata->SetImageData( imagedata );
+}
 
-       double range[2];
+//-------------------------------------------------------------------
+void vtkClipping3DDataViewer::Configure_Tissue()
+{
        int i;
-       for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++){
+       double range[2];
+       vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
+       imagedata->GetScalarRange( range );
+       for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++)
+       {
                // Visualisation - original volume
-               vtkImageData *imagedata=_vtkmprbasedata->GetImageData();
-               imagedata->GetScalarRange( range );
                _mCubes[i] = vtkMarchingCubes::New( );
                _mCubes[i]->SetInput( imagedata );
-
                _mCubes[i]->SetValue( 0, range[1]*(4+i) / 8 );
 //             _mCubes[i]->SetValue( 0, 1500 );
-
            _tissueStripper[i] = vtkStripper::New();
            _tissueStripper[i]->SetInput( _mCubes[i]->GetOutput( ) );
-
-
-
                _tissuePlanes[i]  = vtkPlanes::New();
-
                int x1,x2,y1,y2,z1,z2;
                imagedata->GetExtent(x1,x2,y1,y2,z1,z2);
                _tissuePlanes[i]->SetBounds  (x1,x2,y1,y2,z1,z2);
-
                _tissueClipper[i] = vtkClipPolyData::New();
                _tissueClipper[i]->SetInput( _tissueStripper[i]->GetOutput() );
                _tissueClipper[i]->SetClipFunction( _tissuePlanes[i] );
                _tissueClipper[i]->InsideOutOn( );
-
                _tissueMapper[i] = vtkPolyDataMapper::New( );
                _tissueMapper[i]->SetInput( _tissueClipper[i]->GetOutput() );
                _tissueMapper[i]->ScalarVisibilityOff( );
 //             _tissueMapper[i]->Update();
-
-       }
-
-
+       } // for i  
 
        // vtkActor tissue
        for (i=0; i< VTKMPRDATA_MAXTISSUE ; i++){
@@ -384,6 +387,7 @@ void vtkClipping3DDataViewer::Configure_Volume()
        _observerV->SetvtkVolumeRayCastMapper( _volumeMapper );
 }
 
+//-----------------------------------------------------------------------------
 
 void vtkClipping3DDataViewer::Configure_VolumeBox()
 {
@@ -401,12 +405,15 @@ void vtkClipping3DDataViewer::Configure_VolumeBox()
        //_volumerendererdata->BoundingBoxChanged(event.IsChecked() );
 }
 
+//-----------------------------------------------------------------------------
+
 void vtkClipping3DDataViewer::SetRenderer(vtkRenderer* renderer)
 {
     _volumerendererdata->SetRenderer(renderer);
 
 }
 
+//-----------------------------------------------------------------------------
 void vtkClipping3DDataViewer::SetInteractor(vtkRenderWindowInteractor* interactor)
 {
 
@@ -414,6 +421,7 @@ void vtkClipping3DDataViewer::SetInteractor(vtkRenderWindowInteractor* interacto
 }
 
 
+//-----------------------------------------------------------------------------
 void vtkClipping3DDataViewer::BoxActorChanged(bool changed)
 {
     vector<double> *gv = this->GetGreyValuesTransferenceFVector();
@@ -425,6 +433,7 @@ void vtkClipping3DDataViewer::BoxActorChanged(bool changed)
 
 }
 
+//-----------------------------------------------------------------------------
 void vtkClipping3DDataViewer::UpdateVolumeBox(vector<double> gf, vector<double> vf, vtkColorTransferFunction* ctfun)
 {
         _volumerendererdata->SetLookUpTable((vtkLookupTable*)(ctfun));
@@ -432,6 +441,7 @@ void vtkClipping3DDataViewer::UpdateVolumeBox(vector<double> gf, vector<double>
 }
 
 
+//-----------------------------------------------------------------------------
 void vtkClipping3DDataViewer::updateVolume()
 {
 
@@ -481,7 +491,7 @@ void vtkClipping3DDataViewer::Configure()
 //EED 4 nov 2015 Estelle 
 //    _mapOutline->SetInput(_outlineData->GetOutput());
 
-       _outline                = vtkActor::New();
+       _outline        = vtkActor::New();
     _outline->SetMapper(_mapOutline);
     _outline->GetProperty()->SetColor(0,0,0);
 }
index 1461bebd4649e1e21839d6ab84bbb32224070f2a..2822ca362155a76d04fee6b5ff64cd1dc34258b4 100644 (file)
@@ -73,7 +73,8 @@ public:
        virtual void                    Configure();
        void                                    Configure_Tissue();
        void                                    Configure_Volume();
-       
+       void                                    SetImage();
+
        void                                    SetIsovalue(int idTissue, int isoValue);
        double                                  GetIsovalue(int idTissue);
 
index e077370577783109afb801e0aa48251100750dfc..940b06f5e753af946537df7d990cc280886c075c 100644 (file)
@@ -71,7 +71,8 @@ void  vtkInteractorStyleBaseView2D::OnRightButtonDown()  // virtual
 {    
        vtkInteractorStyleBaseView::OnRightButtonDown();
 
-       if ((GetInteractor()->GetControlKey()==1) && (GetInteractor()->GetShiftKey()==0) ){
+       if ((GetInteractor()->GetControlKey()==1) && (GetInteractor()->GetShiftKey()==0) )
+       {
                this->vtkInteractorStyleImage::OnRightButtonDown();
        }
 }
@@ -82,12 +83,14 @@ void  vtkInteractorStyleBaseView2D::OnRightButtonUp()  // virtual
        vtkInteractorStyleBaseView::OnRightButtonUp();
        this->vtkInteractorStyleImage::OnRightButtonUp();
 }
+
 //---------------------------------------------------------------------------
 void  vtkInteractorStyleBaseView2D::OnMouseMove () // virtual
 {
        vtkInteractorStyleBaseView::OnMouseMove();
        this->vtkInteractorStyleImage::OnMouseMove();
 }
+
 //---------------------------------------------------------------------------
 void  vtkInteractorStyleBaseView2D::OnLeftButtonDown() // virtual
 {
@@ -98,6 +101,7 @@ void  vtkInteractorStyleBaseView2D::OnLeftButtonDown() // virtual
                this->vtkInteractorStyleImage::OnLeftButtonDown();
        }
 }
+
 //---------------------------------------------------------------------------
 void  vtkInteractorStyleBaseView2D::OnLeftButtonUp () // virtual
 {
@@ -105,6 +109,7 @@ void  vtkInteractorStyleBaseView2D::OnLeftButtonUp () // virtual
 
        this->vtkInteractorStyleImage::OnLeftButtonUp();
 }
+
 //---------------------------------------------------------------------------
 void  vtkInteractorStyleBaseView2D::OnMiddleButtonDown () // virtual
 {
@@ -115,6 +120,7 @@ void  vtkInteractorStyleBaseView2D::OnMiddleButtonDown () // virtual
                this->vtkInteractorStyleImage::OnLeftButtonDown();
        }
 }
+
 //---------------------------------------------------------------------------
 void vtkInteractorStyleBaseView2D::OnMiddleButtonUp () // virtual
 {
index 40729bc4b63155f13f6f6750185fc1a8f8ee400b..959bcf6019bc643dbde0151d1f612d0364fd0315 100644 (file)
@@ -51,7 +51,6 @@ bool  vtkInteractorStylePlane2D::OnLeftButtonDown()  // vitual
        _fordwareY = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
        vtkPlane2DView *vtkplane2Dview = (vtkPlane2DView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
        vtkplane2Dview->RotationStart();
-
        return true;
 }
 
@@ -65,7 +64,6 @@ bool vtkInteractorStylePlane2D::OnLeftButtonUp() // virtual
                vtkplane2Dview->ResetBack();
 //             this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting();
        }
-
        return true;
 }
 
index e57cb6537789f955948137da8bb5835e127c04ca..54a7f734443491413e64d40eb3f7aab0e7f2aa67 100644 (file)
@@ -35,14 +35,11 @@ vtkInteractorStyleSphere::vtkInteractorStyleSphere()
 }
 
 //---------------------------------------------------------------------------
-
 vtkInteractorStyleSphere::~vtkInteractorStyleSphere()
 {
 }
 
-
-//---------------------------------------------------------------------------
-
+//--------------------------------------------------------------------------
 bool  vtkInteractorStyleSphere::OnRightButtonDown()
 {
        if ((_vtkInteractorStyleBaseView->GetInteractor()->GetControlKey()==0) && (_vtkInteractorStyleBaseView->GetInteractor()->GetShiftKey()==0) )
@@ -50,17 +47,13 @@ bool  vtkInteractorStyleSphere::OnRightButtonDown()
                _stateRadio     = true;
                //_fordwareX    = this->Interactor->GetEventPosition()[0];
                _fordwareY      = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
-
                wxSphereView *wxsphereview = (wxSphereView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
-
                _radio = wxsphereview->GetRadio();
        }
-
        return true;
 }
 
 //---------------------------------------------------------------------------
-
 bool  vtkInteractorStyleSphere::OnRightButtonUp() 
 {
        if (_stateRadio==true)
@@ -72,15 +65,13 @@ bool  vtkInteractorStyleSphere::OnRightButtonUp()
                wxsphereview->GetIdOfImage(radio+0.2);
                wxsphereview->GetIdOfImage(radio-0.1);
                wxsphereview->GetIdOfImage(radio-0.2);
-
                wxsphereview->RefreshView();
                _stateRadio = false;
        }
-
        return true;
 }
-//---------------------------------------------------------------------------
 
+//---------------------------------------------------------------------------
 bool vtkInteractorStyleSphere::OnLeftButtonDown()
 {
        _stateRotate    = true;
@@ -89,9 +80,7 @@ bool vtkInteractorStyleSphere::OnLeftButtonDown()
        return true;
 }
 
-
 //---------------------------------------------------------------------------
-
 bool  vtkInteractorStyleSphere::OnLeftButtonUp() 
 {
        wxSphereView *wxsphereview = (wxSphereView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
@@ -111,16 +100,15 @@ bool  vtkInteractorStyleSphere::OnLeftButtonUp()
                wxsphereview->RefreshView();
                _stateRotate = false;
        }
-
        return true;
 }
 
 
 //---------------------------------------------------------------------------
-
 bool  vtkInteractorStyleSphere::OnMouseMove () 
 {
        wxSphereView *wxsphereview = (wxSphereView*)(_vtkInteractorStyleBaseView->GetWxVtk2DBaseView());
+
        if (_stateRotate==true)
        {
                bool ok_v, ok_ang;
@@ -141,13 +129,23 @@ bool  vtkInteractorStyleSphere::OnMouseMove ()
        } 
        if (_stateRadio==true)
        {           
+
                //int fx = this->Interactor->GetEventPosition()[0];
         int fy = _vtkInteractorStyleBaseView->GetInteractor()->GetEventPosition()[1];
                double dif=(fy-_fordwareY) / 10.0;
                wxsphereview->SetRadio( _radio + dif );
                wxsphereview->SetDeltaVoxel(3);
+
                wxsphereview->RefreshView();
        }
-
        return true;
 }
+
+
+
+
+
+
+
+
+
index ff72cc520cea6d0aba29689ae9fc82244269c954..cdfc9918532601438b1690cc80ac92c0ccc0e42b 100644 (file)
@@ -139,6 +139,14 @@ std::vector<double>*     vtkMPR3DDataViewer::GetctFunVectorBlue()
        return &_ctFunVectorBlue;
 }
 
+//-------------------------------------------------------------------
+void vtkMPR3DDataViewer::SetImage()
+{
+       _saggitalColors->SetInput( _vtkmprbasedata->GetImageData() );
+       _axialColors->SetInput( _vtkmprbasedata->GetImageData() );
+       _coronalColors->SetInput( _vtkmprbasedata->GetImageData() );
+}
+
 //-------------------------------------------------------------------
 void vtkMPR3DDataViewer::Configure()
 {
@@ -175,8 +183,7 @@ void vtkMPR3DDataViewer::Configure()
        {
                _vtkmprbasedata->GetImageData()->GetScalarRange(range);
                delta = range[1]-range[0];
-               
-               
+                               
                _ctFunVectorPoint.clear();
                _ctFunVectorPoint.push_back( range[0] + delta*0/4 );
                _ctFunVectorPoint.push_back( range[0] + delta*1/4 );
@@ -205,7 +212,6 @@ void vtkMPR3DDataViewer::Configure()
                _ctFunVectorBlue.push_back(0.0);
                _ctFunVectorBlue.push_back(0.0);
 
-
                if(_ctfun==NULL)
                {
                        _ctfun = vtkColorTransferFunction::New();
index d968ff3b2f11f0d09a601f198a044c3dd80d1a3a..38c2a0fbb635d34b6e896401c8403a268d28084e 100644 (file)
@@ -50,6 +50,7 @@ public:
        vtkActor*                                       GetOutlineActor();
        virtual void                            Refresh();
        virtual void                            Configure();
+                       void                            SetImage();
        void                                            SetVisiblePosition(int idPosition, bool visible);
        bool                                            GetVisiblePosition(int idPosition);
        vtkImageActor*                          GetvtkActor_saggital();
index f0cbc97744c4d841c05e21f5150e7aaf0ce4d67c..b957195c09bd139df35813d271ee183da09a0ebe 100644 (file)
@@ -62,10 +62,10 @@ vtkPlane2DView::vtkPlane2DView( wxWindow *parent)
        _imageResult                    =       NULL;
 
        // line horizontal
-    _pts                       = NULL;
-    _lineActor         = NULL;
-       _lineMapper             = NULL;
-       _pd                             = NULL;
+    _pts                                       =       NULL;
+    _lineActor                         =       NULL;
+       _lineMapper                             =       NULL;
+       _pd                                             =       NULL;
 
        _interactorstyleplane2D =       false;
 }
@@ -73,13 +73,11 @@ vtkPlane2DView::vtkPlane2DView( wxWindow *parent)
 vtkPlane2DView::~vtkPlane2DView()
 {
        ResetPlane();
-
        // Horizontal Line
     if (_pts           != NULL)        {       _pts                    -> Delete(); }
     if (_lineActor     != NULL)        {       _lineActor              -> Delete(); }
     if (_lineMapper    != NULL)        {       _lineMapper             -> Delete(); }
     if (_pd                    != NULL)        {       _pd                             -> Delete(); }
-
        _transform1             -> Delete();
        _transform2             -> Delete();
 }
@@ -97,12 +95,14 @@ void vtkPlane2DView::ResetBack()
 }
 
 //-------------------------------------------------------------------
-void vtkPlane2DView::ResetPlane(){
+void vtkPlane2DView::ResetPlane()
+{
        if (_pSource    !=NULL) { _pSource      -> Delete();    }
        if (_3Dslices   !=NULL) { _3Dslices     -> Delete();    }
        if (_stPoints   !=NULL) { _stPoints     -> Delete();    }
        if (_change             !=NULL) { _change       -> Delete();    }
 }
+
 //-------------------------------------------------------------------
 vtkMPRBaseData *vtkPlane2DView::GetVtkmprbasedata()
 {
@@ -158,7 +158,6 @@ void vtkPlane2DView::SetPSource(int sizeIma){
 //-------------------------------------------------------------------
 void vtkPlane2DView::ExtractPlane() 
 {
-
        double x = GetVtkmprbasedata()->GetX();
        double y = GetVtkmprbasedata()->GetY();
        double z = GetVtkmprbasedata()->GetZ();
@@ -223,7 +222,6 @@ void vtkPlane2DView::ExtractPlane()
 }
 
 //-------------------------------------------------------------------
-
 void vtkPlane2DView::Extract_One_PlaneVTK()
 {
        vtkImageData *imagedata = GetVtkmprbasedata()->GetImageData();
@@ -244,27 +242,22 @@ void vtkPlane2DView::Extract_One_PlaneVTK()
 }
 
 //-------------------------------------------------------------------
-
 void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
 {
-
        int mipWidth;
        double sp;
        int sizeWidth = (_mip_width*2)+1 ;
        int deltaPixel;
        int iWidth,itmp,tmpSizeWith;
-
        double spc[3];
        vtkImageData *imagedata = GetVtkmprbasedata()->GetImageData();
        SetPSource(_sizeIma);
        imagedata->GetSpacing(spc);
-
        bool heightDefinition=false;
        if (_mip_width<3)
        {
                heightDefinition=true;
        }
-
        if (heightDefinition==true)
        {
                mipWidth        =       _mip_width;
@@ -277,14 +270,9 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
                sizeWidth       =       tmpSizeWith;
                deltaPixel      =       4;
        }
-
-
-
        std::vector< vtkProbeFilter* > slicesLST;
-
        _pSource->Push( -mipWidth * sp );
        _pSource->Update();
-
        for ( iWidth=0 ; iWidth<sizeWidth ; iWidth++ )
        {       
                vtkProbeFilter *slice = vtkProbeFilter::New();
@@ -294,7 +282,6 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
                slicesLST.push_back( slice );
                _pSource->Push( sp );
        }
-       
        if (_imageResult ==NULL)
        {
                _imageResult = vtkImageData::New();
@@ -306,20 +293,15 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
                _imageResult -> AllocateScalars();
                _imageResult -> Update();
        }
-
        unsigned short *pTemp;
        unsigned short *pResult;
        pResult = (unsigned short*)_imageResult->GetScalarPointer( 0 , 0 , 0 ); 
-
        int iPixels , sizePixels = _sizeIma*_sizeIma;
        for(iPixels=0 ; iPixels<sizePixels ; iPixels=iPixels+deltaPixel)
        {
-
                pTemp = (unsigned short*)slicesLST[0]->GetOutput()->GetPointData()->GetScalars()->GetVoidPointer(0);
-
                pResult = (unsigned short*)_imageResult->GetScalarPointer( 0 , 0 , 0 ); 
                pResult[iPixels] = pTemp[iPixels];
-
                for (iWidth=1;iWidth<sizeWidth;iWidth++)
                {
                        pTemp = (unsigned short*)slicesLST[iWidth]->GetOutput()->GetPointData()->GetScalars()->GetVoidPointer(0);
@@ -329,7 +311,6 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
                                pResult[iPixels] = pTemp[iPixels];
                        }
                }
-
                if (deltaPixel!=1)
                {
                        for (itmp=1;itmp<deltaPixel;itmp++)
@@ -337,17 +318,13 @@ void vtkPlane2DView::Extract_MIP_PlaneVTK( /*double heightDefinition*/ )
                                pResult[iPixels+itmp] = pResult[iPixels];
                        }
                }
-
        }
-
        for (iWidth=0;iWidth<sizeWidth;iWidth++)
        {       
                slicesLST[iWidth]->Delete();
        }
-
        _imageResult->Modified();
        _imageViewer2XYZ->GetVtkImageViewer2()->SetInput ( _imageResult );
-
 }
 
 //-------------------------------------------------------------------
@@ -377,13 +354,10 @@ void vtkPlane2DView::Configure( )
        //
        // Actual version
        vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
-
        manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel();
        style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel );
-
        vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
        style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
-
        SetInteractorStyleImage( style2D );
 
        // RaC
@@ -447,6 +421,7 @@ void vtkPlane2DView::RotationStart()
        vtkTransform    *transform       = mprbasedata->GetTransformOrientation();
        _transform1->SetMatrix( transform->GetMatrix() );
 }
+
 //-------------------------------------------------------------------
 void vtkPlane2DView::RotationDrag(double vx, double vy, bool ok_v, bool ok_ang)
 { 
@@ -480,6 +455,7 @@ void vtkPlane2DView::RotationDrag(double vx, double vy, bool ok_v, bool ok_ang)
 void vtkPlane2DView::Refresh(  )
 {
        ExtractPlane();
+       UpdateColorWindowLevel();
        wxVtkBaseView::Refresh();
 }
 //-------------------------------------------------------------------
@@ -559,19 +535,16 @@ void vtkPlane2DView::SetVisibleLine(bool ok)
        }
        _lineActor->GetProperty()->SetOpacity(opacity);
 }
+
 // ----------------------------------------------------------------------------
 void vtkPlane2DView::TransfromCoordViewWorld2(double &X, double &Y, double &Z)
 {
        double spc[3];
        GetVtkmprbasedata()->GetImageData()->GetSpacing(spc);
-
        double xx = X;
        double yy = Y;
        double zz = 0;
-
        TransFromCoordScreenToWorld(xx,yy,zz);
-
-
        vtkTransform *transf1 = vtkTransform::New();
        transf1->Identity();
        vtkTransform *transf2 = GetVtkmprbasedata()->GetTransformOrientation();
@@ -582,10 +555,8 @@ void vtkPlane2DView::TransfromCoordViewWorld2(double &X, double &Y, double &Z)
        in[1] = xx - center;
        in[2] = yy - center;
        in[3] = 0;
-
        transf1->MultiplyPoint(in,out);
        transf1->Delete();
-
        X = out[0] + GetVtkmprbasedata()->GetX() ;
        Y = out[1] + GetVtkmprbasedata()->GetY() ;
        Z = out[2] + GetVtkmprbasedata()->GetZ() ;
index 76ea0a1c798fdcf260276b90f5086636a2e2904e..a77e08ea570ef7e0712c68c4ba98319f2fae4318 100644 (file)
 class creaMaracasVisu_EXPORT vtkMPRBaseData: public vtkBaseData{
 public:
        vtkMPRBaseData();
-       virtual                         ~vtkMPRBaseData();
+       virtual                 ~vtkMPRBaseData();
        virtual void    Configure();
        int                             GetMaxPositionX( );
        int                             GetMaxPositionY( );
        int                             GetMaxPositionZ( );
        double                  GetX();
        double                  GetY();
-       void                            SetX(double x);
-       void                            SetY(double y);
-       void                            GetDimensionExtention(int *x1,int *x2,int *y1,int *y2,int *z1,int *z2);
+       void                    SetX(double x);
+       void                    SetY(double y);
+       void                    GetDimensionExtention(int *x1,int *x2,int *y1,int *y2,int *z1,int *z2);
        vtkTransform*   GetTransformOrientation();
-       void                            SetNormal(double nx, double ny, double nz);
-       void                            InitTransformOrientation(vtkTransform *trans);
+       void                    SetNormal(double nx, double ny, double nz);
+       void                    InitTransformOrientation(vtkTransform *trans);
 
 protected:
        int                             _x1,_x2,_y1,_y2,_z1,_z2;
index e1901a1c0dd4a619b2f33a78ce78646cb2b66275..218e4240f18ea96af58c714ae036269456e88e3a 100644 (file)
@@ -191,38 +191,38 @@ wxMPRWidget::wxMPRWidget( wxWindow* parent,
        _refreshBPage=0;
 
 }
-void wxMPRWidget::setImageData(vtkImageData * img, double voxelsize){
+
+//----------------------------------------------------------------------------
+void wxMPRWidget::setImageData(vtkImageData * img, double voxelsize)
+{
 
        if(_marImageData!=NULL){
                _marImageData->removeImageData(0);
                _marImageData->AddImageData(img);               
        }else{
-               _marImageData = new marImageData(img);
+               _marImageData                                   = new marImageData(img);
        }
        
-       _voxelSize                                              = voxelsize;
+       _voxelSize                                                      = voxelsize;
 
        if(_vtkmprbasedata==NULL){
                _vtkmprbasedata                                 = new vtkMPRBaseData(); 
                _vtkmprbasedata->SetMarImageData(_marImageData);        
 
-               wxSplitterWindow        *pnlSplitter            = new wxSplitterWindow( this , -1);
+               wxSplitterWindow        *pnlSplitter= new wxSplitterWindow( this , -1);
                pnlSplitter     -> SetMinimumPaneSize( 2 );
                //RaC Nov2012 Correctly resize internal panels with the window resize event
                                pnlSplitter->SetSashGravity(0.5);
 
-               wxPanel                         *MPRPanel       = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
+               wxPanel                         *MPRPanel               = CreateMPRPanel(pnlSplitter,_vtkmprbasedata);
                wxPanel                         *controlPanel   = CreateControlPanel(pnlSplitter);      
                pnlSplitter     -> SplitVertically( MPRPanel, controlPanel, 550 );
 
                this->GetSizer()                -> Add( pnlSplitter ,1,wxGROW  ,0);
        }       
-       
-
-       
 }
-//----------------------------------------------------------------------------
 
+//----------------------------------------------------------------------------
 wxMPRWidget::~wxMPRWidget( )
 {
 //EEDxx2.4 DELETE
@@ -388,7 +388,9 @@ wxPanel* wxMPRWidget::CreateView(int type,wxWindow *parent, vtkMPRBaseData *vtkm
        }
        if (type==4)
        {
-               _wxsphereview_B         = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() );
+//EED
+//             _wxsphereview_B         = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() );
+               _wxsphereview_B         = new wxSphereView( panel , vtkmprbasedata  );
                wxwindow=_wxsphereview_B->GetWxVTKRenderWindowInteractor();
        }
 
@@ -537,7 +539,9 @@ wxPanel* wxMPRWidget::CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkm
        notebook->AddPage( _widgetMesure, _T("Plane") );
 
         // view 3.1
-       _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData());
+// EED
+//     _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData());
+       _wxsphereview = new wxSphereView( notebook , vtkmprbasedata );
        wxVTKRenderWindowInteractor *iren3B = _wxsphereview->GetWxVTKRenderWindowInteractor();  
        notebook->AddPage( iren3B, _T("Sphere") );
 
index f5cce0037add3250864e9860351358df39c2f692..9fee22620db3f2a3efdbf636276225a123a8e24b 100644 (file)
@@ -72,9 +72,9 @@
 
                if (vtkmprbasedata==NULL)
                {
-                       minternalVtkmprbasedata         = true;
-                       mvtkmprbasedata                 = new vtkMPRBaseData();
-                       marImageData    *marimagedata   = new marImageData( imagedata );
+                       minternalVtkmprbasedata         = true;
+                       mvtkmprbasedata                 = new vtkMPRBaseData();
+                       marImageData *marimagedata      = new marImageData( imagedata );
                        mvtkmprbasedata->SetMarImageData(marimagedata);
                } else {
                        minternalVtkmprbasedata         = false;
                        wxwindow        = mwidgetMesure;
                }else if (type==4)
                {
-                       mwxsphereview   = new wxSphereView( panel , mvtkmprbasedata, mvtkmprbasedata->GetImageData() );
+//EED
+//                     mwxsphereview   = new wxSphereView( panel , mvtkmprbasedata , mvtkmprbasedata->GetImageData() );
+                       mwxsphereview   = new wxSphereView( panel , mvtkmprbasedata );
                        wxwindow=mwxsphereview->GetWxVTKRenderWindowInteractor();
                }else if (type==5)
                {
                        panelClipping3D = new wxSplitterWindow( panel , -1);
-                       mwxvtk3Dbaseview_Clipping3D             = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata);
-
-                       mwxvtkclipping3Dview                                    = new wxVtkClipping3DView(mwxvtk3Dbaseview_Clipping3D);
-                       vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer();
+                       mwxvtk3Dbaseview_Clipping3D                                             = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata);
+                       mwxvtkclipping3Dview                                                    = new wxVtkClipping3DView(mwxvtk3Dbaseview_Clipping3D);
+                       vtkClipping3DDataViewer *vtkclipping3Ddataviewer= new vtkClipping3DDataViewer();
                        vtkclipping3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);                    
                        vtkclipping3Ddataviewer->Configure();
                        mwxvtkclipping3Dview->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer);
 
-                       mwxvtkmpr3Dview                         = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D );
+                       mwxvtkmpr3Dview                                                 = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D );
                        vtkMPR3DDataViewer *vtkmpr3Ddataviewer  = new vtkMPR3DDataViewer();
                        vtkmpr3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata);
                        vtkmpr3Ddataviewer->Configure();
                        window3D = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
 
 //--
-                       wxNotebook *notebook = new wxNotebook(panelClipping3D, -1);
+                       wxNotebook *notebook            = new wxNotebook(panelClipping3D, -1);
 
                        // First tab
-                       controlPanelMPR3D               = mwxvtkmpr3Dview->CreateControlPanel(notebook, true);
+                       controlPanelMPR3D                       = mwxvtkmpr3Dview->CreateControlPanel(notebook, true);
                        notebook->AddPage(controlPanelMPR3D, _T("Planes") );
 
                        // Second Tab
 
                } else if (type==6)             {
                        panelClipping3D                                 = new wxSplitterWindow( panel , -1);
-                       mwxvtk3Dbaseview_Clipping3D     = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata);
+                       mwxvtk3Dbaseview_Clipping3D             = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata);
                        mwxvtkmpr3Dview                                 = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D );
                        vtkmpr3Ddataviewer                              = new vtkMPR3DDataViewer();
                        wxWindow *window3D                              = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor();
                        wxPanel *panelControl                   = new wxPanel(panelClipping3D,-1);
-                       wxPanel *controlPanelMPR3D      = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true);
-                       wxFlexGridSizer  *sizerCtrol  = new wxFlexGridSizer(1);
+                       wxPanel *controlPanelMPR3D              = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true);
+                       wxFlexGridSizer  *sizerCtrol    = new wxFlexGridSizer(1);
                        sizerCtrol->Add(controlPanelMPR3D, 1, wxALL|wxEXPAND, 2);
 
                        panelControl->SetAutoLayout(true);
@@ -365,7 +366,7 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect  )
                if (mvtkmpr2Dview_Y                             !=NULL ){ mvtkmpr2Dview_Y->Refresh();                           }
                if (mvtkmpr2Dview_Z                             !=NULL ){ mvtkmpr2Dview_Z->Refresh();                           }
                if (mvtkplane2Dview                             !=NULL ){ mvtkplane2Dview->Refresh();                           }
-               if (mwxsphereview                               !=NULL ){ mwxsphereview ->Refresh();                            }
+               if (mwxsphereview                               !=NULL ){ mwxsphereview ->RefreshView();                        }
                if (mwxvtkmpr3Dview                             !=NULL ){ mwxvtkmpr3Dview->RefreshView();                       }
                if (mwxvtkclipping3Dview                !=NULL ){ mwxvtkclipping3Dview->Refresh();                      }
                if (mwxvtk3Dbaseview_Clipping3D !=NULL ){ mwxvtk3Dbaseview_Clipping3D->Refresh();       }
@@ -400,6 +401,9 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect  )
                return wxvtkbaseview   ;
        }
 
+
+
+//-------------------------------------------------------------------------
        void wxMaracas_ViewerWidget::SetImage( vtkImageData *image )
        {
                if(mvtkmprbasedata !=NULL)
@@ -408,40 +412,51 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect  )
                        mar->removeImageData(0);
                        mar->AddImageData(image);
                }
-
                
                if (mvtk2Dbaseview!=NULL)
                {
                        mvtk2Dbaseview->SetImageToVtkViewer(image);
                }
                
-               if (mvtkmpr2Dview_X!=NULL){
+               if (mvtkmpr2Dview_X!=NULL)
+               {
                        mvtkmpr2Dview_X->SetImageToVtkViewer(image);
                }
-               if (mvtkmpr2Dview_Y!=NULL){
+               if (mvtkmpr2Dview_Y!=NULL)
+               {
                        mvtkmpr2Dview_Y->SetImageToVtkViewer(image);
                }
-               if (mvtkmpr2Dview_Z!=NULL){
+               if (mvtkmpr2Dview_Z!=NULL)
+               {
                        mvtkmpr2Dview_Z->SetImageToVtkViewer(image);
                }
                
-               if (mvtkplane2Dview!=NULL){
+               if (mvtkplane2Dview!=NULL)
+               {
                        // ???  EED 10 oct 2012
                }
-               if (mwxsphereview!=NULL){
-                       // ???  EED 10 oct 2012
+               if (mwxsphereview!=NULL)
+               {
+                       mwxsphereview->SetImage();
                }
-               if (mwxvtk3Dbaseview_Clipping3D!=NULL){
-                       // ???  EED 10 oct 2012
+               if (mwxvtkclipping3Dview!=NULL)
+               {
+                       mwxvtkclipping3Dview->GetVtkClipping3DDataViewer()->SetImage();
                }
                
-               
+               if (mwxvtkmpr3Dview!=NULL)
+               {
+                       mwxvtkmpr3Dview->SetImage();
+               }
                
 //EED 26/11/2009
 //             ConfigureVTK();
 //             RefreshView();
+
        }
 
+       //-------------------------------------------------------------------------
+
        double wxMaracas_ViewerWidget :: GetX()
        {
                double value = -1;
@@ -452,6 +467,8 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect  )
                return value;
        }
 
+       //-------------------------------------------------------------------------
+
        double wxMaracas_ViewerWidget::GetY()
        {
                double value = -1;
@@ -462,6 +479,8 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect  )
                return value;
        }
 
+       //-------------------------------------------------------------------------
+
        double wxMaracas_ViewerWidget::GetZ()
        {
                double value = -1;
index bfe896e01a10c156588bda0fd047b4d2fa566d4b..961918187031c5118bb9d2c959e8aa8d29bc9b43 100644 (file)
 
 #include "wxSphereView.h"
 
-
-wxSphereView::wxSphereView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata, vtkImageData *imageData )
+wxSphereView::wxSphereView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata/*, vtkImageData *imageData */)
 : wxVtk2DBaseView(parent)
 {
        _delta                          =       1;
        _vtkmprbasedata         =       vtkmprbasedata;
-       _imageDataOriginal      =       imageData;
 
+//EED 2016-08-31
+//     _imageDataOriginal      =       imageData;
+
+       SetImage();
        _imageSphere            =       vtkImageData::New();
        _imageSphere->SetDimensions (150,150,500);
-       _imageSphere->SetScalarTypeToUnsignedShort();
+
+//EED
+//     _imageSphere->SetScalarTypeToUnsignedShort();
+       _imageSphere->SetScalarType( _imageDataOriginal->GetScalarType() );
+
        _imageSphere->AllocateScalars();   
        _imageSphere->Update();   
 
-
-       vtkBaseData *vtkbasedata = new vtkBaseData();
-       vtkbasedata->SetMarImageData( new marImageData(_imageSphere) );
-       this->SetVtkBaseData(vtkbasedata);
+//EED  ???? vtkBaseData  no esta compartido con los otros objetos .. PLOP
+//     vtkBaseData *vtkbasedata = new vtkBaseData();
+//     vtkbasedata->SetMarImageData( new marImageData(_imageSphere) );
+//     this->SetVtkBaseData(vtkbasedata);
+       this->SetVtkBaseData(_vtkmprbasedata);
 
     _transform                 =       vtkTransform::New();
     _transform1                        =       vtkTransform::New();
@@ -50,12 +57,10 @@ wxSphereView::wxSphereView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata, vt
        _transform ->Identity();
        _transform1->Identity();
        _transform2->Identity();
-
        _radio=25;
 }
 
 //-------------------------------------------------------------------
-
 wxSphereView::~wxSphereView()
 {
        _transform  -> Delete();
@@ -65,33 +70,46 @@ wxSphereView::~wxSphereView()
 }
 
 //----------------------------------------------------------------------------
+void wxSphereView::SetImage()
+{
+       ResetlstId();
+       _imageDataOriginal=_vtkmprbasedata->GetImageData();
+}
 
+//----------------------------------------------------------------------------
 double wxSphereView::GetRadio()
 {
        return _radio;
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::SetRadio(double radio)
 {
        if (radio<0)
        {
                radio=0;
-       }
+       } // if
        _radio=radio;
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::Configure()
 {
        wxVtk2DBaseView::Configure();
 
+
+       vtkInteractorStyleBaseView2D *style2D = vtkInteractorStyleBaseView2D::New();
+       manualInteractorWindowLevel *_manualinteractorwindowlevel= new manualInteractorWindowLevel();
+       style2D->SetInteractorWindowLevel( _manualinteractorwindowlevel );
+//     vtkInteractorScrollZ *_vtkInteractorScrollZ = new vtkInteractorScrollZ();
+//     style2D->SetInteractorScrollZ(_vtkInteractorScrollZ);
+       SetInteractorStyleImage( style2D );
+
+
+
        _vtkinteractorstylesphere = new vtkInteractorStyleSphere();
        ((vtkInteractorStyleBaseView*)GetInteractorStyleBaseView())->AddInteractorStyleMaracas( _vtkinteractorstylesphere );
        double points[4][3];
-
 // EED purify 12/sep/2006
        int i,j;
        for (i=0;i<4;i++)
@@ -99,15 +117,15 @@ void wxSphereView::Configure()
                for (j=0;j<3;j++)
                {
                        points[i][j]=0;
-               }
-       }
-
+               } // for
+       } // for
        InitSphere(points);
+
+
        DefineImageSphere();
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::RefreshPoint()
 {
        double x        = _vtkmprbasedata->GetX() - _centerX;
@@ -115,29 +133,39 @@ void wxSphereView::RefreshPoint()
        double z        = _vtkmprbasedata->GetZ() - _centerZ;
        double alpha= atan2(x,z);
        double beta = atan2( y , sqrt(z*z+x*x) );
-
        alpha           = alpha*180/3.1416;
        beta            = beta*180/3.1416;
-
        _transform1->Identity();
        _transform1->RotateY(alpha);
        _transform1->RotateX(-beta);
-
        _radio= sqrt(x*x + y*y +z*z);
-
        RefreshView();
 }
 
-//----------------------------------------------------------------------------
 
+
+//-------------------------------------------------------------------
+void wxSphereView::Refresh(  )
+{
+//     ExtractPlane();
+       UpdateColorWindowLevel();
+       wxVtkBaseView::Refresh();
+}
+
+
+
+//----------------------------------------------------------------------------
 void wxSphereView::RefreshView()
 {
+//EED
+       _imageViewer2XYZ->GetVtkImageViewer2()->SetInput ( _imageSphere );
        DefineImageSphere();
-       wxVtk2DBaseView::Refresh();
+//     UpdateColorWindowLevel();
+//     wxVtk2DBaseView::Refresh();
+       Refresh();
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::RotationEnd()
 {
        _transform1->RotateWXYZ(_ang,_vxb,_vyb,0);
@@ -147,19 +175,16 @@ void wxSphereView::RotationEnd()
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::RotationStart(double vx, double vy, bool ok_v, bool ok_ang)
 {
        if (ok_ang==false)
        {
                _ang = -sqrt( vx*vx + vy*vy ) / 1.0;
-       }
-
+       } // if ok_ang
        if (ok_v==false){
                _vxb=-vy;
                _vyb=vx;
-       }
-
+       } // if ok_v
        _transform2->Identity();
        _transform2->RotateWXYZ(_ang,_vxb,_vyb,0);
        SetDeltaVoxel(3);
@@ -167,7 +192,6 @@ void wxSphereView::RotationStart(double vx, double vy, bool ok_v, bool ok_ang)
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::GetPointSphere(double p[3],double r1,double angA,double angB)
 {
        double in[3],out[3];
@@ -186,61 +210,16 @@ void wxSphereView::GetPointSphere(double p[3],double r1,double angA,double angB)
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::RotatePointOverTheSphere( double pp[3], double p[3],double cc[3])
 {
-
        double out[3];
        _transform->TransformPoint(p,out);
        pp[0] = out[0] + cc[0];
        pp[1] = out[1] + cc[1];
        pp[2] = out[2] + cc[2];
-
 }
 
 //----------------------------------------------------------------------------
-
-void wxSphereView::TransferePoints(double pp1[3],double pp2[3],double AngX,double AngY,vtkImageData *image)
-{
-       double t;
-       double difX = pp2[0]-pp1[0];
-       double difY = pp2[1]-pp1[1];
-       double difZ = pp2[2]-pp1[2];
-
-       double  max             = 200;
-
-       int dimOrg[3];
-       int dimRes[3];
-       int z;
-       _imageDataOriginal->GetDimensions(dimOrg);              
-       image->GetDimensions(dimRes);           
-
-       int i;
-       double x1=pp1[0];
-       double y1=pp1[1];
-       double z1=pp1[2];
-       int xx=-1,yy=-1,zz=-1;
-
-       for (i=0;i<max;i++)
-       {
-               t  = i/max;
-               xx = (int) (x1+t*difX);
-               yy = (int) (y1+t*difY);
-               zz = (int) (z1+t*difZ);
-
-               z=i;
-               if ((xx>=0) && (xx<dimOrg[0]) && (yy>=0) && (yy<dimOrg[1]) && (zz>=0) && (zz<dimOrg[2]) &&
-                       (AngX>=0) && (AngX<dimRes[0]) && (AngY>=0) && (AngY<dimRes[1]) && (z>=0) && (z<dimRes[2]) )
-               {
-                       unsigned short *pOrg=(unsigned short*)_imageDataOriginal->GetScalarPointer (xx,yy,zz); 
-                       unsigned short *pRes=(unsigned short*)image->GetScalarPointer( (int)AngX , (int)AngY , z ); 
-                       *pRes=*pOrg;
-               }
-       }
-}
-
-//----------------------------------------------------------------------------
-
 void wxSphereView::ResetlstId()
 {
        int i,size=_lstId.size();
@@ -252,7 +231,6 @@ void wxSphereView::ResetlstId()
 }
 
 //----------------------------------------------------------------------------
-
 int wxSphereView::GetIdOfImage(double radio)
 {
        int id=0;
@@ -280,22 +258,21 @@ int wxSphereView::GetIdOfImage(double radio)
        } else {
                id = 0;
        }
-
        FiltreImage(id,radio);
        _lstId.insert(_lstId.begin(),1,new idAlBeRa(id,radio,_delta) ); 
-
        return id;
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::DefineImageSphere()
 {
        int id;
        id=GetIdOfImage( _radio );
-       GetVtkBaseData()->SetZ( id );
-}
+//EED
+//     GetVtkBaseData()->SetZ( id );
 
+       _imageViewer2XYZ->GetVtkImageViewer2()->SetSlice ( id );
+}
 
 //----------------------------------------------------------------------------
 void wxSphereView::SetDeltaVoxel(int delta)
@@ -304,7 +281,7 @@ void wxSphereView::SetDeltaVoxel(int delta)
 }
 
 //----------------------------------------------------------------------------
-void wxSphereView::SetVoxel(double i, double j, int delta,double id,  unsigned short gris)
+void wxSphereView::SetVoxel(double i, double j, int delta,double id,  double gris)
 {
        int ii,jj,delta2;
        unsigned short *pRes;
@@ -319,16 +296,16 @@ void wxSphereView::SetVoxel(double i, double j, int delta,double id,  unsigned s
                        if ( (ii>=0)&&(ii<dimRes[0]) &&  
                                 (jj>=0)&&(jj<dimRes[1]) )
                        {
-                               pRes = (unsigned short*)_imageSphere->GetScalarPointer( ii , jj , (int)id );
-                               *pRes=gris;
+//EED
+//                             pRes = (unsigned short*)_imageSphere->GetScalarPointer( ii , jj , (int)id );
+//                             *pRes=gris;
+                               _imageSphere->SetScalarComponentFromDouble( ii , jj , (int)id , 0, gris );
                        }
-               }
-       }
-
+               } // for jj
+       } // for ii
 }
 
 //----------------------------------------------------------------------------
-
 void wxSphereView::SetXYZtoParent(double i, double j)
 {
 
@@ -345,7 +322,6 @@ void wxSphereView::SetXYZtoParent(double i, double j)
        d2x=dimRes[0]/2;
        d2y=dimRes[1]/2;
        _imageDataOriginal->GetDimensions(dimOrig);
-
        p[0]  = (i - d2x)*factor;
        pxx=p[0]*p[0];
        p[1]  = (j - d2y)*factor;
@@ -364,15 +340,14 @@ void wxSphereView::SetXYZtoParent(double i, double j)
                                _vtkmprbasedata->SetY(pp[1]);
                                _vtkmprbasedata->SetZ(pp[2]);
                        }
-               }
-       }
+               } // if pp
+       } // if radio
 }
 
-
 //----------------------------------------------------------------------------
-
 void wxSphereView::FiltreImageB(int id, double radio, bool ok,int deltaTMP)
 {      
+       double value;
        double factor = 0.75;
        double radioB   = radio/3;
        double radio2   = radio*radio;
@@ -394,9 +369,7 @@ void wxSphereView::FiltreImageB(int id, double radio, bool ok,int deltaTMP)
        //JCP 24 - 04 -09
        d2x=dimRes[0]/2;
        d2y=dimRes[1]/2;
-//     double deltaTMP=_delta;
        _imageDataOriginal->GetDimensions(dimOrig);
-
        int start,end;
        int limitA,limitB;
        limitA  = (int) ( (-radioB/factor)+d2x );
@@ -431,8 +404,11 @@ void wxSphereView::FiltreImageB(int id, double radio, bool ok,int deltaTMP)
                                                 (pp[1]>=0) && (pp[1]<dimOrig[1]) && 
                                                 (pp[2]>=0) && (pp[2]<dimOrig[2]) )
                                        {
-                                               pOrig=(unsigned short*)_imageDataOriginal->GetScalarPointer( (int)(pp[0]) , (int)(pp[1]) , (int)(pp[2]) ); 
-                                               SetVoxel(i,j,deltaTMP,id,*pOrig);
+//EED
+//                                             pOrig=(unsigned short*)_imageDataOriginal->GetScalarPointer( (int)(pp[0]) , (int)(pp[1]) , (int)(pp[2]) ); 
+//                                             SetVoxel(i,j,deltaTMP,id,*pOrig);
+                                               value=_imageDataOriginal->GetScalarComponentAsDouble( (int)(pp[0]) , (int)(pp[1]) , (int)(pp[2]),  0);
+                                               SetVoxel(i,j,deltaTMP,id,value);
                                        } else {
                                                SetVoxel(i,j,deltaTMP,id,2000);
                                        }
@@ -442,28 +418,20 @@ void wxSphereView::FiltreImageB(int id, double radio, bool ok,int deltaTMP)
                        }
                }
        }
-
        _imageSphere->Modified();  
        _imageSphere->Update();
 }
 
-
-
-
 //----------------------------------------------------------------------------
-
 void wxSphereView::FiltreImage(int id, double radio)
 {
-
        _transform -> Identity();
        _transform -> Concatenate(_transform1);
        _transform -> Concatenate(_transform2);
-
        FiltreImageB(id,radio,false, _delta);
        FiltreImageB(id,radio,true, 1);
 }
 
-
 //----------------------------------------------------------------------------
 
 /*
@@ -600,6 +568,48 @@ void wxSphereView::FiltreImage(vtkImageData *imageSphere)
                }
        }
 }
+
+
+//----------------------------------------------------------------------------
+
+void wxSphereView::TransferePoints(double pp1[3],double pp2[3],double AngX,double AngY,vtkImageData *image)
+{
+       double t;
+       double difX = pp2[0]-pp1[0];
+       double difY = pp2[1]-pp1[1];
+       double difZ = pp2[2]-pp1[2];
+       double  max             = 200;
+       int dimOrg[3];
+       int dimRes[3];
+       int z;
+       _imageDataOriginal->GetDimensions(dimOrg);              
+       image->GetDimensions(dimRes);           
+       int i;
+       double x1=pp1[0];
+       double y1=pp1[1];
+       double z1=pp1[2];
+       int xx=-1,yy=-1,zz=-1;
+       for (i=0;i<max;i++)
+       {
+               t  = i/max;
+               xx = (int) (x1+t*difX);
+               yy = (int) (y1+t*difY);
+               zz = (int) (z1+t*difZ);
+
+               z=i;
+               if ((xx>=0) && (xx<dimOrg[0]) && (yy>=0) && (yy<dimOrg[1]) && (zz>=0) && (zz<dimOrg[2]) &&
+                       (AngX>=0) && (AngX<dimRes[0]) && (AngY>=0) && (AngY<dimRes[1]) && (z>=0) && (z<dimRes[2]) )
+               {
+                       unsigned short *pOrg=(unsigned short*)_imageDataOriginal->GetScalarPointer (xx,yy,zz); 
+                       unsigned short *pRes=(unsigned short*)image->GetScalarPointer( (int)AngX , (int)AngY , z ); 
+                       *pRes=*pOrg;
+               }
+       }
+}
+
+
+
+
 */
 
 
index 8a022bd06023df9ea04430b6676bc103cd03bb46..a99cb87bb99d79fac101b71fa37fb01c58ef7a02 100644 (file)
@@ -37,13 +37,17 @@ class wxMPRBaseData;
 class wxSphereView : public wxVtk2DBaseView
 {
 public:
-       wxSphereView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata, vtkImageData *imageData);
+       wxSphereView( wxWindow *parent, vtkMPRBaseData *vtkmprbasedata /*, vtkImageData *imageData*/);
        ~wxSphereView();
        virtual void Configure();
+                       void SetImage();
+
        void RotationEnd();
        void RotationStart(double vx, double vy, bool ok_v, bool ok_ang);
        virtual void    RefreshView();
-       virtual void    SetVoxel(double i, double j, int delta, double id, unsigned short gris);
+       virtual void    Refresh();
+
+       virtual void    SetVoxel(double i, double j, int delta, double id, double gris);
                        void    SetDeltaVoxel(int delta);
                        double  GetRadio();
                        void    SetRadio(double radio);
@@ -52,25 +56,19 @@ public:
                        void    RefreshPoint();
 
 private:       
-       std::vector<idAlBeRa*> _lstId;
-
+       std::vector<idAlBeRa*>          _lstId;
        int                                                     _centerX;
        int                                                     _centerY;
        int                                                     _centerZ;
        double                                          _radio;
-
        double                                          _ang;
        double                                          _vxb;
        double                                          _vyb;
-
        int                                                     _delta;
-
        vtkImageData                            *_imageDataOriginal;
        vtkImageData                            *_imageSphere;
-
        vtkMPRBaseData                          *_vtkmprbasedata;
        vtkInteractorStyleSphere        *_vtkinteractorstylesphere;
-
        vtkTransform                            *_transform; 
        vtkTransform                            *_transform1; 
        vtkTransform                            *_transform2; 
@@ -79,14 +77,12 @@ private:
        void    FiltreImageB(int id, double radio, bool ok,int deltaTMP);
        void    DefineImageSphere();
        void    ResetlstId();
-
        void    InitSphere(double points[4][3]);
        double  SphereFindCenter(double P[4][3], double cc[3]);
        double  determinant(double a[4][4], int n);
-
        void    GetPointSphere(double p[3],double r1,double angA,double angB);
        void    RotatePointOverTheSphere( double pp[3], double p[3],double cc[3]);
-       void    TransferePoints(double pp1[3],double pp2[3],double AngX,double AngY,vtkImageData *image);
+//     void    TransferePoints(double pp1[3],double pp2[3],double AngX,double AngY,vtkImageData *image);
 };
 
 #endif /*WXSPHEREVIEW_H_*/
index 6e9a593ecf92b19d245dcbdbc1d104e42d31391d..bd26d120d364e66401ac592ac30059cd5db585ce 100644 (file)
@@ -95,7 +95,6 @@ void wxVtk2DBaseView::TransformCoordinate_spacing_ModelToView(double &X,double &
        X=X*spc[0];
        Y=Y*spc[1];
        Z=Z*spc[2];
-
 }
 
 //-------------------------------------------------------------------
@@ -117,7 +116,6 @@ void wxVtk2DBaseView::ResetView()
                imageData->GetExtent (x1,x2,y1,y2,z1,z2);
        }
 
-
        _imageViewer2XYZ -> SetExtentDimension(x1,x2,y1,y2,z1,z2);
        _imageViewer2XYZ -> GetVtkImageViewer2()->SetupInteractor ( iren );
 
@@ -148,8 +146,6 @@ void wxVtk2DBaseView::ResetView()
 
 }
 
-
-
 //-------------------------------------------------------------------
 void wxVtk2DBaseView::SetImageToVtkViewer(vtkImageData *imageData)
 {
@@ -159,7 +155,6 @@ void wxVtk2DBaseView::SetImageToVtkViewer(vtkImageData *imageData)
        } // if _imageViewer2XYZ
 }
 
-
 //-------------------------------------------------------------------
 void wxVtk2DBaseView::Configure(bool okimage)
 {
@@ -195,7 +190,6 @@ void wxVtk2DBaseView::Configure(bool okimage)
                //////////////
        }
 
-
        vtkImageData *imageData = GetVtkBaseData()->GetMarImageData()->GetImageData();
        if (imageData!=NULL)
        {
@@ -232,11 +226,9 @@ void wxVtk2DBaseView::Configure(bool okimage)
 //_collookup->SetTableValue(255 , 0 , 1 , 0 , 1 );
 //_imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel ()->SetLookupTable(_collookup );
 
-
 // EED 17 Oct 2007
 //                     SetInteractorStyleImage( vtkInteractorStyleBaseView2D::New() );
 
-
                        vtkImageViewer2 *IV2            =       _imageViewer2XYZ->GetVtkImageViewer2();
                        vtkCamera               *camera         =       IV2->GetRenderer()->GetActiveCamera();
 
@@ -275,7 +267,7 @@ void wxVtk2DBaseView::Configure(bool okimage)
 
 //-------------------------------------------------------------------
 
-int    wxVtk2DBaseView::GetActualSlice()  // virtual
+int wxVtk2DBaseView::GetActualSlice()  // virtual
 {
    return (int)(GetVtkBaseData()->GetZ());
 }
@@ -286,7 +278,6 @@ void wxVtk2DBaseView::SetActualSlice(int slice)  // Virtual
    GetVtkBaseData()->SetZ(slice);
 }
 
-
 //-------------------------------------------------------------------
 void wxVtk2DBaseView::UpdateColorWindowLevel()
 {
@@ -295,7 +286,6 @@ void wxVtk2DBaseView::UpdateColorWindowLevel()
        
 //     vtkImageViewer2 *vtkimageviewer2        = _imageViewer2XYZ->GetVtkImageViewer2();               
        
-       
        vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
        imagemaptowindowlevel->SetWindow( GetVtkBaseData()->GetColorWindow() );
        imagemaptowindowlevel->SetLevel( GetVtkBaseData()->GetColorLevel() );
@@ -311,11 +301,9 @@ void wxVtk2DBaseView::Refresh()
 {
        int z = (int)(GetVtkBaseData()->GetZ());
        _imageViewer2XYZ->SetZSlice( z );
-
 //EED 2016/02/19
        vtkImageActor *imageactor = _imageViewer2XYZ->GetVtkImageViewer2()->GetImageActor();
        imageactor->SetInterpolate( GetVtkBaseData()->GetInterpolate() );
-
        //EED 01nov2012
        UpdateColorWindowLevel();       
        wxVtkBaseView::Refresh();
@@ -325,12 +313,10 @@ void wxVtk2DBaseView::Refresh()
 void wxVtk2DBaseView::SetInteractorStyleImage(vtkInteractorStyleBaseView *interactorstylebaseview)
 {
        SetInteractorStyleBaseView(interactorstylebaseview);
-
        wxVTKRenderWindowInteractor *iren = GetWxVTKRenderWindowInteractor();
        interactorstylebaseview->SetInteractor ( iren );
        iren->SetInteractorStyle(interactorstylebaseview);
        interactorstylebaseview->SetwxVtkBaseView(this);
-
        vtkMaracasImageViewer2Callback * cbk = vtkMaracasImageViewer2Callback::New();
        cbk->IV = _imageViewer2XYZ->GetVtkImageViewer2();
        interactorstylebaseview->AddObserver( vtkCommand::WindowLevelEvent, cbk );
index d1874f17a1fef0ef412ab6549a3cc4e24418c447..66d7518510ae35a13d763d6186920a16234fa476 100644 (file)
@@ -35,8 +35,6 @@
 class vtkInfoTextImage;
 class vtkInfoTextImageInteractor;
 
-
-
 //------------------------------------------------------------------
 
 class creaMaracasVisu_EXPORT wxVtk2DBaseView: public wxVtkBaseView{
@@ -46,7 +44,6 @@ public:
        virtual void                            Configure(bool okimage=true);
        vtkImageViewer2_XYZ*            _imageViewer2XYZ;
 
-
        virtual void                            Refresh();
        virtual void                            ResetView();
        virtual int                                     GetActualSlice();
@@ -69,7 +66,6 @@ public:
        //EED 01nov2012
        void UpdateColorWindowLevel();
 
-
 private:
        vtkInfoTextImage                                *_vtkIinfoTextImage;
        vtkInfoTextImageInteractor              *_vtkIinfoTextImageInteractor;
index 75d6c1e7a346018d19f30492560f01ee9c6ff113..7a158603a8551078b2d98d63d71fbe8936833711 100644 (file)
@@ -37,7 +37,7 @@ wxVtk3DBaseView::wxVtk3DBaseView(wxWindow *parent, vtkBaseData* vtkbasedata)
        _configure      = false;
        _aRenderer      = NULL;
        _renWin         = NULL;
-       _aCamera                = NULL;
+       _aCamera        = NULL;
 }
 //-------------------------------------------------------------------
 wxVtk3DBaseView::~wxVtk3DBaseView()
@@ -45,10 +45,12 @@ wxVtk3DBaseView::~wxVtk3DBaseView()
 
        if (_aCamera!=NULL)             { _aCamera              -> Delete(); _aCamera=NULL;}
        if (_aRenderer!=NULL)   { _aRenderer    -> Delete(); _aRenderer=NULL;}
-       if (_renWin!=NULL)              { 
+       if (_renWin!=NULL)              
+       { 
                if(_renWin->GetReferenceCount()==0)
                {
-                       _renWin         -> Delete(); _renWin=NULL;
+                       _renWin->Delete(); 
+                       _renWin=NULL;
                }
        }
 }
@@ -200,10 +202,9 @@ void wxVtk3DBaseView::Configure()
                GetCamera()->Roll(180);
                GetCamera()->Yaw(180+30);
                GetCamera()->Pitch(-22);
-
-
        }
 }
+
 //-------------------------------------------------------------------
 //EED 27 sep 2006
 void wxVtk3DBaseView::GetSpacing(double spc[3])
index db9804e7d8eca2f2fca15f77ae998f24f8d71545..f4fc33e3488274be14c4cb6ca1dbdacd75d44f49 100644 (file)
@@ -42,20 +42,20 @@ class creaMaracasVisu_EXPORT wxVtk3DBaseView: public wxVtkBaseView
 public:
        wxVtk3DBaseView( wxWindow *parent, vtkBaseData* vtkbasedata );
        virtual ~wxVtk3DBaseView();
-       vtkCamera*                                              GetCamera();
-       virtual vtkRenderer*                    GetRenderer();
+       vtkCamera*                                      GetCamera();
+       virtual vtkRenderer*            GetRenderer();
        virtual vtkRenderWindow*        GetRenWin();
-       void                                                            Refresh();
-       void                                                            Configure();
-       virtual void                                    GetSpacing(double spc[3]);
-       void                                                            SetStereo(int type);
-       void                                                            ResetCamera(int *ext=NULL,double* spc=NULL);
+       void                                            Refresh();
+       void                                            Configure();
+       virtual void                            GetSpacing(double spc[3]);
+       void                                            SetStereo(int type);
+       void                                            ResetCamera(int *ext=NULL,double* spc=NULL);
 
 private:
-       bool                                                            _configure;
-       vtkRenderer                                             *_aRenderer;
+       bool                                            _configure;
+       vtkRenderer                                     *_aRenderer;
        vtkRenderWindow                         *_renWin;
-       vtkCamera                                               *_aCamera;
+       vtkCamera                                       *_aCamera;
 protected:
 };
 
index 2cd9da1c9fc2f881e475adc909abe438668b5bfe..50354ae4997036662a965aee46712509cef4df30 100644 (file)
@@ -84,7 +84,6 @@ void wxVtkBaseView::Refresh()  // virtual
        vtkRenderWindowInteractor *vri = GetWxVTKRenderWindowInteractor();
        vri->vtkRenderWindowInteractor::Render();
        
-       
                //_iren->Refresh();
        #endif
 
@@ -100,7 +99,6 @@ void wxVtkBaseView::RefreshView()  // virtual
        #else
                //GetRenWin()->Render();
        #endif
-
 }
 //---------------------------------------------------------------------------
 vtkRenderer* wxVtkBaseView::GetRenderer()      // virtual 
index 79391aa6dc764f31119b84efdeb433f4d026f047..0ecedb5f0ddf7b02c2431711b9b6af5c829963c8 100644 (file)
@@ -91,12 +91,9 @@ public:
        vtkInteractorStyleImage*        GetInteractorStyleBaseView();
        virtual void                            GetSpacing(double spc[3]);
        virtual int                                     GetDirection();
-
-
        vtkBaseData*                            GetVtkBaseData();
        void                                            SetVtkBaseData(vtkBaseData *vtkbasedata);
 
-
 private:
        wxWindow                                        *_parent;
        wxVTKRenderWindowInteractor *_iren;
index c3c24512a4407048c053e66d43e064ea2f80c418..dcff3c9717765a75cc9f79c99d84bfe5f140fab9 100644 (file)
@@ -42,11 +42,11 @@ public:
        virtual void                    Refresh();
        virtual void                    Configure();
        void                                    SetVtkClipping3DDataViewer( vtkClipping3DDataViewer *vtkclipping3Ddataviewer );
+       vtkClipping3DDataViewer*        GetVtkClipping3DDataViewer();
 
        wxPanel*                                CreateSurfControlPanel(wxWindow *parent);
        wxPanel*                                CreateVolControlPanel(wxWindow *parent);
 
-       vtkClipping3DDataViewer*        GetVtkClipping3DDataViewer();
 
        void                                    VisibleActor(int idTissue, bool visTissue);
        void                                    VisibleVolumeActor( bool visVolume );
index 5fbab3eedb7363684bccf1e2054e18cc5a9efda5..bee80ab5f755e8b6148bc42a8e5e2066f5f2f3bf 100644 (file)
@@ -97,11 +97,9 @@ void wxVtkMPR2DView::Configure()
                x1 = (int)(x1*spc[0]);
                y1 = (int)(y1*spc[1]);
                z1 = (int)(z1*spc[2]);
-
                x2 = (int)(x2*spc[0]);
                y2 = (int)(y2*spc[1]);
                z2 = (int)(z2*spc[2]);
-
                _visibleAxis = true;
        }
 
index 378dadec80206f992eda9fbe9c3a01ebb9a64f70..108b5913765e923e3c7e8d1d0eea9b9868dbc690 100644 (file)
@@ -343,6 +343,20 @@ void wxVtkMPR3DView::ConfigureFreePlanes()
        _planeWidgetZ->AddObserver(vtkCommand::InteractionEvent, wlipwc );      
 }
 
+
+//-------------------------------------------------------------------
+void wxVtkMPR3DView::SetImage()
+{
+       vtkImageData *imageData                                 = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
+       // Orthogonal planes B&W
+       _planeWidgetX->SetInput( imageData );
+       _planeWidgetY->SetInput( imageData );
+       _planeWidgetZ->SetInput( imageData );
+       // -- Plane widget
+       _probe->SetSource( imageData );
+       _vtkmpr3Ddataviewer->SetImage();
+}
+
 //-------------------------------------------------------------------
 vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker)
 {
@@ -390,9 +404,6 @@ vtkImagePlaneWidget* wxVtkMPR3DView::GetPlaneWidget(unsigned char activationkey,
 //-------------------------------------------------------------------
 void wxVtkMPR3DView::SetFreePlanesOrtho()
 {
-
-       
-
        _planeWidgetX->SetPlaneOrientationToXAxes();
        _planeWidgetY->SetPlaneOrientationToYAxes();
        _planeWidgetZ->SetPlaneOrientationToZAxes();
@@ -480,7 +491,6 @@ void wxVtkMPR3DView::Refresh()   // virtual
        {
                _wxvtkmpr3DviewCntrlPanel->Refresh();
        }
-
 }
 
 //-------------------------------------------------------------------
@@ -489,7 +499,8 @@ void wxVtkMPR3DView::RefreshView()   // virtual
        double spc[3];
        vtkImageData *image = GetVtkMPR3DDataViewer()->GetVtkMPRBaseData()->GetImageData();
 
-       if(image){
+       if(image)
+       {
                image->GetSpacing(spc);
        }else{
                spc[0] = 0;
index f02d7d89c8dec2ae57ce64dedc16d2d9765d12a5..a46afe60ab19da8ac925ed683915fa7629dbd034 100644 (file)
@@ -53,6 +53,8 @@ public:
        virtual void            Refresh();
        virtual void            RefreshView();
        virtual void            Configure();
+       void                            SetImage();
+
        void                            SetBackGroundType(int type);
        void                            SetVtkMPR3DDataViewer( vtkMPR3DDataViewer *vtkmpr3Ddataviewer );
        wxPanel*                        CreateControlPanel(wxWindow *parent, bool align);