]> Creatis software - clitk.git/commitdiff
WIP on overlay
authorschaerer <schaerer>
Tue, 26 Jan 2010 15:04:33 +0000 (15:04 +0000)
committerschaerer <schaerer>
Tue, 26 Jan 2010 15:04:33 +0000 (15:04 +0000)
vv/vvImageReader.cxx
vv/vvImageReader.h
vv/vvMainWindow.cxx
vv/vvSlicer.cxx
vv/vvSlicerManager.cxx
vv/vvSlicerManager.h

index 7e4a4e2e76c3db36c7bd8d72189ac70df1c9c043..faa22b85b73b3ba9868e749742f5cf4e7ebfd2ec 100644 (file)
@@ -3,8 +3,8 @@
  Program:   vv
  Module:    $RCSfile: vvImageReader.cxx,v $
  Language:  C++
- Date:      $Date: 2010/01/06 13:31:57 $
- Version:   $Revision: 1.1 $
+ Date:      $Date: 2010/01/26 15:04:33 $
+ Version:   $Revision: 1.2 $
  Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 2008
@@ -44,6 +44,11 @@ vvImageReader::vvImageReader()
 
 vvImageReader::~vvImageReader() { }
 
+void vvImageReader::Update()
+{
+    Update(mType);
+}
+
 void vvImageReader::Update(LoadedImageType type)
 {
     itk::ImageIOBase::Pointer reader = itk::ImageIOFactory::CreateImageIO(mInputFilenames[0].c_str(), itk::ImageIOFactory::ReadMode);
index c9005aa63f899000c346721b0bdc7c810cd1078b..9597566697c190a1bb1e5ea3560e606c5680f8ed 100644 (file)
@@ -3,8 +3,8 @@
  Program:   vv
  Module:    $RCSfile: vvImageReader.h,v $
  Language:  C++
- Date:      $Date: 2010/01/06 13:31:57 $
- Version:   $Revision: 1.1 $
+ Date:      $Date: 2010/01/26 15:04:33 $
+ Version:   $Revision: 1.2 $
  Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 2008
@@ -54,6 +54,7 @@ public:
 
     //====================================================================
     // Main function
+    void Update();
     void Update(LoadedImageType type);
     void Update(int dim, std::string InputPixelType, LoadedImageType type);
     //void Extract(int dim, std::string InputPixelType, int slice);
index 94dc1b5f887c58001f7d4287e6472743bbb759b4..2855f321f4b8d9ef65debbe6630b346d15d953d5 100644 (file)
@@ -3,8 +3,8 @@
 Program:   vv
 Module:    $RCSfile: vvMainWindow.cxx,v $
 Language:  C++
-Date:      $Date: 2010/01/06 13:31:57 $
-Version:   $Revision: 1.1 $
+Date:      $Date: 2010/01/26 15:04:33 $
+Version:   $Revision: 1.2 $
 Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 200COLUMN_IMAGE_NAME
@@ -1053,8 +1053,6 @@ void vvMainWindow::ImageInfoChanged() {
         }
         windowSpinBox->setValue(mSlicerManagers[index]->GetColorWindow());
         levelSpinBox->setValue(mSlicerManagers[index]->GetColorLevel());
-        DD(mSlicerManagers[index]->GetColorMap());
-        DD(mSlicerManagers[index]->GetPreset());
         presetComboBox->setCurrentIndex(mSlicerManagers[index]->GetPreset());
         colorMapComboBox->setCurrentIndex(mSlicerManagers[index]->GetColorMap());
 
@@ -1462,8 +1460,13 @@ void vvMainWindow::CloseImage(QTreeWidgetItem* item, int column) {
 void vvMainWindow::ReloadImage(QTreeWidgetItem* item, int column) {
     int index = GetSlicerIndexFromItem(item);
     QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
-    if (item->data(1,Qt::UserRole).toString() == "vector")
+    QString role=item->data(1,Qt::UserRole).toString();
+    if ( role == "vector")
         mSlicerManagers[index]->ReloadVF();
+    else if (role == "overlay")
+        mSlicerManagers[index]->ReloadOverlay();
+    else if (role == "fusion")
+        mSlicerManagers[index]->ReloadFusion();
     else
         mSlicerManagers[index]->Reload();
     QApplication::restoreOverrideCursor();
index 64df64cc477c49bce573e86299ea34c08e5ad458..db9af6555a2a32dd0685c138d2e0b9be9a661df0 100644 (file)
@@ -3,8 +3,8 @@
 Program:   vv
 Module:    $RCSfile: vvSlicer.cxx,v $
 Language:  C++
-Date:      $Date: 2010/01/06 13:31:58 $
-Version:   $Revision: 1.1 $
+Date:      $Date: 2010/01/26 15:04:33 $
+Version:   $Revision: 1.2 $
 Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 2008
@@ -75,7 +75,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #include <vtkPlane.h>
 #include <vtkAssignAttribute.h>
 
-vtkCxxRevisionMacro(vvSlicer, "$Revision: 1.1 $");
+vtkCxxRevisionMacro(vvSlicer, "$Revision: 1.2 $");
 vtkStandardNewMacro(vvSlicer);
 
 vvSlicer::vvSlicer()
@@ -480,60 +480,18 @@ void vvSlicer::SetTSlice(int t)
     this->SetInput(mImage->GetVTKImages()[t]);
     if (mVF && mVFActor->GetVisibility())
     {
-        if (mVF->GetVTKImages().size() == 1)
-        {
-            mVOIFilter->SetInput(mVF->GetVTKImages()[0]);
-        }
-        else if (mVF->GetVTKImages().size() <= (unsigned int)mCurrentTSlice)
-        {
-            Renderer->RemoveActor(mVFActor);
-        }
-        else
-        {
-            if (!Renderer->HasViewProp(mVFActor))
-            {
-                Renderer->AddActor(mVFActor);
-            }
+        if (mVF->GetVTKImages().size() > (unsigned int)mCurrentTSlice)
             mVOIFilter->SetInput(mVF->GetVTKImages()[mCurrentTSlice]);
-        }
     }
     if (mOverlay && mOverlayActor->GetVisibility())
     {
-        if (mOverlay->GetVTKImages().size() == 1)
-        {
-            mOverlayMapper->SetInput(mOverlay->GetVTKImages()[0]);
-        }
-        else if (mOverlay->GetVTKImages().size() <= (unsigned int)mCurrentTSlice)
-        {
-            Renderer->RemoveActor(mOverlayActor);
-        }
-        else
-        {
-            if (!Renderer->HasViewProp(mOverlayActor))
-            {
-                Renderer->AddActor(mOverlayActor);
-            }
+        if (mOverlay->GetVTKImages().size() > (unsigned int)mCurrentTSlice)
             mOverlayMapper->SetInput(mOverlay->GetVTKImages()[mCurrentTSlice]);
-        }
     }
     if (mFusion && mFusionActor->GetVisibility())
     {
-        if (mFusion->GetVTKImages().size() == 1)
-        {
-            mFusionMapper->SetInput(mFusion->GetVTKImages()[0]);
-        }
-        else if (mFusion->GetVTKImages().size() <= (unsigned int)mCurrentTSlice)
-        {
-            Renderer->RemoveActor(mFusionActor);
-        }
-        else
-        {
-            if (!Renderer->HasViewProp(mFusionActor))
-            {
-                Renderer->AddActor(mFusionActor);
-            }
+        if (mFusion->GetVTKImages().size() > (unsigned int)mCurrentTSlice)
             mFusionMapper->SetInput(mFusion->GetVTKImages()[mCurrentTSlice]);
-        }
     }
     if (mSurfaceCutActors.size() > 0)
         for (std::vector<vvMeshActor*>::iterator i=mSurfaceCutActors.begin();
index 9b3d61e4cca0a33b802235be8bd7798359969556..e07f3508b66197caa45a47fc4cf9f09c69aa5704 100644 (file)
@@ -3,8 +3,8 @@
 Program:   vv
 Module:    $RCSfile: vvSlicerManager.cxx,v $
 Language:  C++
-Date:      $Date: 2010/01/06 13:31:57 $
-Version:   $Revision: 1.1 $
+Date:      $Date: 2010/01/26 15:04:33 $
+Version:   $Revision: 1.2 $
 Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 2008
@@ -610,6 +610,26 @@ void vvSlicerManager::Reload()
     }
 }
 
+void vvSlicerManager::ReloadFusion()
+{
+    mFusionReader->Update();
+    for ( unsigned int i = 0; i < mSlicers.size(); i++)
+    {
+        mSlicers[i]->SetFusion(mFusionReader->GetOutput());
+        mSlicers[i]->Render();
+    }
+}
+
+void vvSlicerManager::ReloadOverlay()
+{
+    mOverlayReader->Update();
+    for ( unsigned int i = 0; i < mSlicers.size(); i++)
+    {
+        mSlicers[i]->SetOverlay(mOverlayReader->GetOutput());
+        mSlicers[i]->Render();
+    }
+}
+
 void vvSlicerManager::ReloadVF()
 {
     mVectorReader->Update(VECTORFIELD); //deletes the old images through the VF::Init() function
index 2007f781697b4115102271d29fa1d34360a2cb89..97efb555860f32c517e8528bfa78352db15f50ca 100644 (file)
@@ -3,8 +3,8 @@
  Program:   vv
  Module:    $RCSfile: vvSlicerManager.h,v $
  Language:  C++
- Date:      $Date: 2010/01/06 13:31:58 $
- Version:   $Revision: 1.1 $
+ Date:      $Date: 2010/01/26 15:04:33 $
+ Version:   $Revision: 1.2 $
  Author :   Pierre Seroul (pierre.seroul@gmail.com)
 
 Copyright (C) 2008
@@ -196,6 +196,8 @@ public:
     void RemoveActor(const std::string& actor_type, int overlay_index);
     void RemoveActors();
     void Reload();
+    void ReloadOverlay();
+    void ReloadFusion();
     void ReloadVF();
 
     void Activated();