]> Creatis software - clitk.git/blobdiff - vv/vvSlicerManager.cxx
Toggle interpolation for fusion and overlay actors to (when applicable)
[clitk.git] / vv / vvSlicerManager.cxx
index 2ed8c2e25c20c7b9332d36d661a902d54ca008a8..ac2afc43b80d3cc648707a4e0c06469dbc269f2f 100644 (file)
@@ -107,11 +107,20 @@ vvSlicerManager::~vvSlicerManager()
 
 
 //------------------------------------------------------------------------------
-void vvSlicerManager::SetFilename(std::string f)
+void vvSlicerManager::SetFilename(std::string filename, int number)
 {
-  mFileName = f;
+  mFileName = filename;
+  mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
+  mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
+  //  DD(mBaseFileName);
+  mBaseFileNameNumber = number;
+
   for(unsigned int i=0; i<mSlicers.size(); i++) {
-    mSlicers[i]->SetFileName(f);
+    mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
+  }
+  
+  if (number != 0) {
+    mFileName.append("_"+clitk::toString(number));
   }
 }
 //------------------------------------------------------------------------------
@@ -137,21 +146,22 @@ void vvSlicerManager::ToggleContourSuperposition()
 
 
 //----------------------------------------------------------------------------
-bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n)
+bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n, unsigned int slice)
 {
-  mFileName = filename;
   mType = type;
   if (mReader == NULL)
     mReader = new vvImageReader;
   std::vector<std::string> filenames;
   filenames.push_back(filename);
   mReader->SetInputFilenames(filenames);
+  mReader->SetSlice(slice); // Only used for SLICED type
   mReader->Update(type);
 
-  mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
-  mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
+  SetFilename(filename, n);
+  //  mFileName = vtksys::SystemTools::GetFilenameName(mFileName);
+  //mBaseFileName = vtksys::SystemTools::GetFilenameName(vtksys::SystemTools::GetFilenameWithoutLastExtension(mFileName));
   //  DD(mBaseFileName);
-  mBaseFileNameNumber = n;
+  //mBaseFileNameNumber = n;
 
   if (mReader->GetLastError().size() == 0) {
     mImage=mReader->GetOutput();
@@ -164,10 +174,10 @@ bool vvSlicerManager::SetImage(std::string filename, LoadedImageType type, int n
     mLastError = mReader->GetLastError();
     return false;
   }
-  if (n!=0) {
-    //    DD(mFileName);
-    mFileName.append("_"+clitk::toString(n));
-  }
+  // if (n!=0) {
+  //   //    DD(mFileName);
+  //   mFileName.append("_"+clitk::toString(n));
+  // }
   return true;
 }
 //----------------------------------------------------------------------------
@@ -333,35 +343,6 @@ bool vvSlicerManager::SetVF(vvImage::Pointer vf,std::string filename)
 //----------------------------------------------------------------------------
 
 
-//----------------------------------------------------------------------------
-void vvSlicerManager::SetExtractedImage(std::string filename,vvImage::Pointer image, int slice)
-{
-  mFileName = filename;
-  mImage = vvImage::New();
-  if (image->GetNumberOfDimensions() == 4) {
-    mImage->AddImage(image->GetVTKImages()[slice]);
-    for ( unsigned int i = 0; i < mSlicers.size(); i++) {
-      mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
-      mSlicers[i]->SetImage(mImage);
-    }
-  } else {
-    vtkImageClip* clipper = vtkImageClip::New();
-    int extent[6];
-    image->GetVTKImages()[0]->GetWholeExtent(extent);
-    clipper->SetInput(image->GetVTKImages()[0]);
-    clipper->SetOutputWholeExtent(extent[0],extent[1],extent[2],extent[3],slice,slice);
-    clipper->Update();
-    mImage->AddImage(clipper->GetOutput());
-    for ( unsigned int i = 0; i < mSlicers.size(); i++) {
-      mSlicers[i]->SetFileName(vtksys::SystemTools::GetFilenameWithoutLastExtension(filename));
-      mSlicers[i]->SetImage(mImage);
-    }
-    clipper->Delete();
-  }
-}
-//----------------------------------------------------------------------------
-
-
 //----------------------------------------------------------------------------
 vvSlicer* vvSlicerManager::GetSlicer(int i)
 {
@@ -487,6 +468,10 @@ void vvSlicerManager::ToggleInterpolation()
   bool interpolate=!(mSlicers[0]->GetImageActor()->GetInterpolate());
   for ( unsigned int i = 0; i < mSlicers.size(); i++) {
     mSlicers[i]->GetImageActor()->SetInterpolate(interpolate);
+    if (mSlicers[i]->GetOverlayActor())
+      mSlicers[i]->GetOverlayActor()->SetInterpolate(interpolate);
+    if (mSlicers[i]->GetFusionActor())
+      mSlicers[i]->GetFusionActor()->SetInterpolate(interpolate);
   }
 }
 //----------------------------------------------------------------------------
@@ -1208,6 +1193,8 @@ void vvSlicerManager::SetColorMap(int colormap)
     if (mSlicers[i]->GetFusion() && mSlicers[i]->GetFusionActor()->GetVisibility()) {
       mSlicers[i]->GetFusionActor()->SetOpacity(double(mFusionOpacity)/100);
       mSlicers[i]->GetFusionMapper()->SetLookupTable(fusLUT);
+      mSlicers[i]->GetFusionMapper()->SetWindow(mFusionWindow);
+      mSlicers[i]->GetFusionMapper()->SetLevel(mFusionLevel);
     }
   }
   if (fusLUT)