X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.cxx;h=46e7764228b8a2b659171fef71c158535e2bb96c;hb=1520bb5daceae6c3a6ec221c60a462a02d5c08ab;hp=2ed8c2e25c20c7b9332d36d661a902d54ca008a8;hpb=2dab98a87246da49fb09c2529415eefaa4f987e6;p=clitk.git diff --git a/vv/vvSlicerManager.cxx b/vv/vvSlicerManager.cxx index 2ed8c2e..46e7764 100644 --- a/vv/vvSlicerManager.cxx +++ b/vv/vvSlicerManager.cxx @@ -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; iSetFileName(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 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) { @@ -1208,6 +1189,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)