]> Creatis software - clitk.git/commitdiff
Merge branch 'master' of /home/dsarrut/clitk3.server
authormaxime Pech <maxime.pech@insa-lyon.fr>
Thu, 26 May 2011 13:17:55 +0000 (15:17 +0200)
committermaxime Pech <maxime.pech@insa-lyon.fr>
Thu, 26 May 2011 13:17:55 +0000 (15:17 +0200)
1  2 
vv/vvMainWindow.cxx
vv/vvSlicer.cxx

diff --combined vv/vvMainWindow.cxx
index 5353b6d9d2558b0c7f6bb51a822285acb5d8d8e3,00e7e1afb387e01560cc594ee8a347acbc663fca..164f7d778ffbf6b2c48549290f131f349a7c1440
@@@ -1064,70 -1064,35 +1064,35 @@@ void vvMainWindow::ImageInfoChanged(
      vvImage::Pointer imageSelected;
      if (DataTree->topLevelItem(index) == DataTree->selectedItems()[0]) {
        imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetImage();
-       dimension = imageSelected->GetNumberOfDimensions();
-       origin.resize(dimension);
-       inputSpacing.resize(dimension);
-       inputSize.resize(dimension);
-       sizeMM.resize(dimension);
-       pixelType = mSlicerManagers[index]->GetImage()->GetScalarTypeAsITKString().c_str();
-       for (int i = 0; i < dimension; i++) {
-         origin[i] = imageSelected->GetOrigin()[i];
-         inputSpacing[i] = imageSelected->GetSpacing()[i];
-         inputSize[i] = imageSelected->GetSize()[i];
-         sizeMM[i] = inputSize[i]*inputSpacing[i];
-         NPixel *= inputSize[i];
-       }
-       inputSizeInBytes = GetSizeInBytes(imageSelected->GetActualMemorySize()*1000);
      } else if (DataTree->selectedItems()[0]->data(1,Qt::UserRole).toString() == "vector") {
        imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetVF();
-       dimension = imageSelected->GetNumberOfDimensions();
-       origin.resize(dimension);
-       inputSpacing.resize(dimension);
-       inputSize.resize(dimension);
-       sizeMM.resize(dimension);
-       pixelType = mSlicerManagers[index]->GetVF()->GetScalarTypeAsITKString().c_str();
-       for (int i = 0; i < dimension; i++) {
-         origin[i] = imageSelected->GetOrigin()[i];
-         inputSpacing[i] = imageSelected->GetSpacing()[i];
-         inputSize[i] = imageSelected->GetSize()[i];
-         sizeMM[i] = inputSize[i]*inputSpacing[i];
-         NPixel *= inputSize[i];
-       }
-       inputSizeInBytes = GetSizeInBytes(imageSelected->GetActualMemorySize()*1000);
      } else if (DataTree->selectedItems()[0]->data(1,Qt::UserRole).toString() == "overlay") {
        imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetOverlay();
-       dimension = imageSelected->GetNumberOfDimensions();
-       origin.resize(dimension);
-       inputSpacing.resize(dimension);
-       inputSize.resize(dimension);
-       sizeMM.resize(dimension);
-       pixelType = mSlicerManagers[index]->GetImage()->GetScalarTypeAsITKString().c_str();
-       for (int i = 0; i < dimension; i++) {
-         origin[i] = imageSelected->GetOrigin()[i];
-         inputSpacing[i] = imageSelected->GetSpacing()[i];
-         inputSize[i] = imageSelected->GetSize()[i];
-         sizeMM[i] = inputSize[i]*inputSpacing[i];
-         NPixel *= inputSize[i];
-       }
-       inputSizeInBytes = GetSizeInBytes(imageSelected->GetActualMemorySize()*1000);
      } else if (DataTree->selectedItems()[0]->data(1,Qt::UserRole).toString() == "fusion") {
        imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetFusion();
-       dimension = imageSelected->GetNumberOfDimensions();
-       origin.resize(dimension);
-       inputSpacing.resize(dimension);
-       inputSize.resize(dimension);
-       sizeMM.resize(dimension);
-       pixelType = mSlicerManagers[index]->GetImage()->GetScalarTypeAsITKString().c_str();
-       for (int i = 0; i < dimension; i++) {
-         origin[i] = imageSelected->GetOrigin()[i];
-         inputSpacing[i] = imageSelected->GetSpacing()[i];
-         inputSize[i] = imageSelected->GetSize()[i];
-         sizeMM[i] = inputSize[i]*inputSpacing[i];
-         NPixel *= inputSize[i];
-       }
-       inputSizeInBytes = GetSizeInBytes(imageSelected->GetActualMemorySize()*1000);
+     }
+     else if (DataTree->selectedItems()[0]->data(1,Qt::UserRole).toString() == "contour") {
+       imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetImage();
+     }
+     else {
+       imageSelected = mSlicerManagers[index]->GetSlicer(0)->GetImage();
      }
  
+     dimension = imageSelected->GetNumberOfDimensions();
+     origin.resize(dimension);
+     inputSpacing.resize(dimension);
+     inputSize.resize(dimension);
+     sizeMM.resize(dimension);
+     pixelType = mSlicerManagers[index]->GetImage()->GetScalarTypeAsITKString().c_str();
+     for (int i = 0; i < dimension; i++) {
+       origin[i] = imageSelected->GetOrigin()[i];
+       inputSpacing[i] = imageSelected->GetSpacing()[i];
+       inputSize[i] = imageSelected->GetSize()[i];
+       sizeMM[i] = inputSize[i]*inputSpacing[i];
+       NPixel *= inputSize[i];
+     }
+     inputSizeInBytes = GetSizeInBytes(imageSelected->GetActualMemorySize()*1000);
+     
      QString dim = QString::number(dimension) + " (";
      dim += pixelType + ")";
  
      infoPanel->setOrigin(GetVectorDoubleAsString(origin));
      infoPanel->setSpacing(GetVectorDoubleAsString(inputSpacing));
      infoPanel->setNPixel(QString::number(NPixel)+" ("+inputSizeInBytes+")");
+     std::cout << "Will get transform " << std::endl;
      transformation = imageSelected->GetTransform()->GetMatrix();
+     std::cout << "Got transform " << std::endl;
      infoPanel->setTransformation(Get4x4MatrixDoubleAsString(transformation));
  
      landmarksPanel->SetCurrentLandmarks(mSlicerManagers[index]->GetLandmarks(),
@@@ -1614,18 -1581,15 +1581,18 @@@ void vvMainWindow::ReloadImage(QTreeWid
    int index = GetSlicerIndexFromItem(item);
    QApplication::setOverrideCursor(QCursor(Qt::WaitCursor));
    QString role=item->data(1,Qt::UserRole).toString();
 -  if ( role == "vector")
 +  if ( role == "vector"){
      mSlicerManagers[index]->ReloadVF();
 -  else if (role == "overlay")
 +  }
 +  else if (role == "overlay"){
      mSlicerManagers[index]->ReloadOverlay();
 -  else if (role == "fusion")
 +  }
 +  else if (role == "fusion"){
      mSlicerManagers[index]->ReloadFusion();
 -  else
 +  }
 +  else{
      mSlicerManagers[index]->Reload();
 -
 +  }
    // Update view and info
    ImageInfoChanged();
    mSlicerManagers[index]->Render();
diff --combined vv/vvSlicer.cxx
index 6fd75df1a389ca8be8925bd103fb5866cbfda936,d73eca1e7851dcd7551b914fe65c67ddbb44bf1d..30e8ccbf2f7a31478d41672e6fd08d013c0ef28d
  #include <vtkImageAccumulate.h>
  #include <vtkImageReslice.h>
  
 -// template <class T, unsigned int dim>
 -// void print_vector(const char* pmsg, T* pvec)
 -// {
 -//   std::cout << pmsg << ": ";
 -//   for (unsigned int i = 0; i < dim; i++)
 -//     std::cout << pvec[i] << " ";
 -//   std::cout << std::endl;
 -// }
 -
 -
  vtkCxxRevisionMacro(vvSlicer, "DummyRevision");
  vtkStandardNewMacro(vvSlicer);
 -
 +static void copyExtent(int* in, int* to){
 + for(int i=0; i<6; ++i) to[i]=in[i]; 
 +}
  //------------------------------------------------------------------------------
  vvSlicer::vvSlicer()
  {
    this->UnInstallPipeline();
    mImage = NULL;
 +  mReducedExtent = new int[6];
    mCurrentTSlice = 0;
    mUseReducedExtent = false;
  
@@@ -214,7 -221,7 +214,7 @@@ void vvSlicer::EnableReducedExtent(boo
  //------------------------------------------------------------------------------
  void vvSlicer::SetReducedExtent(int * ext)
  {
 -  mReducedExtent = ext;
 +  copyExtent(ext, mReducedExtent);
  }
  //------------------------------------------------------------------------------
  
@@@ -292,7 -299,6 +292,7 @@@ vvSlicer::~vvSlicer(
    for (std::vector<vvMeshActor*>::iterator i=mSurfaceCutActors.begin();
         i!=mSurfaceCutActors.end(); i++)
      delete (*i);
 +  delete [] mReducedExtent;
  }
  //------------------------------------------------------------------------------
  
@@@ -765,7 -771,8 +765,7 @@@ void vvSlicer::AdjustResliceToSliceOrie
  //------------------------------------------------------------------------------
  
  //----------------------------------------------------------------------------
 -int * vvSlicer::GetExtent()
 -{
 +int * vvSlicer::GetExtent(){
    int *w_ext;
    if (mUseReducedExtent) {
      w_ext = mReducedExtent;
@@@ -794,7 -801,13 +794,7 @@@ void vvSlicer::UpdateDisplayExtent(
  
    // Local copy of extent
    int w_ext[6];
 -  for(unsigned int i=0; i<6; i++){
 -    if (mUseReducedExtent)
 -      w_ext[i] = mReducedExtent[i];
 -    else  
 -      w_ext[i] = input->GetWholeExtent()[i];
 -  }
 -
 +  copyExtent(GetExtent(), w_ext);
    // Set slice value
    w_ext[ this->SliceOrientation*2   ] = this->Slice;
    w_ext[ this->SliceOrientation*2+1 ] = this->Slice;
@@@ -1332,9 -1345,12 +1332,12 @@@ void vvSlicer::SetContourSlice(
  {
    if (mSurfaceCutActors.size() > 0)
      for (std::vector<vvMeshActor*>::iterator i=mSurfaceCutActors.begin();
-          i!=mSurfaceCutActors.end(); i++)
+          i!=mSurfaceCutActors.end(); i++) {
+          
+       (*i)->SetSlicingOrientation(this->SliceOrientation);
        (*i)->SetCutSlice((this->Slice)*this->GetImage()->GetSpacing()[this->SliceOrientation]+
                          this->GetImage()->GetOrigin()[this->SliceOrientation]);
+     }
  }
  //----------------------------------------------------------------------------