From: maxime Pech Date: Thu, 26 May 2011 13:17:55 +0000 (+0200) Subject: Merge branch 'master' of /home/dsarrut/clitk3.server X-Git-Tag: v1.3.0~340^2 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;ds=inline;h=3dd468aa18eed3a46d33483f288bfda2938ddee3;hp=-c;p=clitk.git Merge branch 'master' of /home/dsarrut/clitk3.server --- 3dd468aa18eed3a46d33483f288bfda2938ddee3 diff --combined vv/vvMainWindow.cxx index 5353b6d,00e7e1a..164f7d7 --- a/vv/vvMainWindow.cxx +++ b/vv/vvMainWindow.cxx @@@ -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 + ")"; @@@ -1138,7 -1103,9 +1103,9 @@@ 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 6fd75df,d73eca1..30e8ccb --- a/vv/vvSlicer.cxx +++ b/vv/vvSlicer.cxx @@@ -67,17 -67,24 +67,17 @@@ #include #include -// template -// 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::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::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]); + } } //----------------------------------------------------------------------------