X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.cxx;h=d9ed42e2deb448f541eaf97993db3f0eb6b1c483;hb=3fd91eb2149b7cd6fd889b61d8ba5c94a2bf27bc;hp=c38496e5ab50b2389311eb4788f8f8ee428a0178;hpb=6194949c0beb1589904e22381b9aba1bbface172;p=clitk.git diff --git a/vv/vvSlicerManager.cxx b/vv/vvSlicerManager.cxx index c38496e..d9ed42e 100644 --- a/vv/vvSlicerManager.cxx +++ b/vv/vvSlicerManager.cxx @@ -57,7 +57,7 @@ vvSlicerManager::vvSlicerManager(int numberOfSlicers) mPreset = 0; mOverlayColor = 130; - mFusionOpacity = 70; + mFusionOpacity = 30; mFusionThresOpacity = 1; mFusionColorMap = 3; mFusionWindow = 1000; @@ -763,7 +763,7 @@ double vvSlicerManager::GetColorLevel() //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -double vvSlicerManager::GetOverlayColorWindow() +double vvSlicerManager::GetOverlayColorWindow() const { if (mSlicers.size()) return mSlicers[0]->GetOverlayColorWindow(); @@ -772,7 +772,7 @@ double vvSlicerManager::GetOverlayColorWindow() //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -double vvSlicerManager::GetOverlayColorLevel() +double vvSlicerManager::GetOverlayColorLevel() const { if (mSlicers.size()) return mSlicers[0]->GetOverlayColorLevel(); @@ -781,7 +781,7 @@ double vvSlicerManager::GetOverlayColorLevel() //---------------------------------------------------------------------------- //---------------------------------------------------------------------------- -bool vvSlicerManager::GetLinkOverlayWindowLevel() +bool vvSlicerManager::GetLinkOverlayWindowLevel() const { if (mSlicers.size()) return mSlicers[0]->GetLinkOverlayWindowLevel(); @@ -1184,21 +1184,22 @@ void vvSlicerManager::SetColorMap(int colormap) case 4: if (LUT == NULL) LUT = vtkLookupTable::New(); - LUT->SetValueRange(0,1); + LUT->SetValueRange(1,1); LUT->SetSaturationRange(1,1); LUT->SetHueRange(0,1); + LUT->SetAlphaRange(1, 1); break; case 5: if (LUT == NULL) LUT = vtkLookupTable::New(); - LUT->SetValueRange(0.,1); + LUT->SetValueRange(1,1); LUT->SetSaturationRange(1,1); LUT->SetHueRange(1,0.1); //LUT->SetRampToLinear(); break; } if (LUT) { - LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4); + LUT->SetTableRange(level-fabs(window)/2,level+fabs(window)/2); LUT->Build(); } vtkWindowLevelLookupTable* fusLUT = NULL; @@ -1232,15 +1233,18 @@ void vvSlicerManager::SetColorMap(int colormap) } fusLUT->ForceBuild(); + double v[4]; // set color table transparency - double alpha_range_end = frange[0] + (double)mFusionThresOpacity*(frange[1] - frange[0])/100; - for (double i = frange[0]; i < alpha_range_end; i++) { - double v[4]; - vtkIdType index = fusLUT->GetIndex(i); - fusLUT->GetTableValue(index, v); + double range_end = frange[0] + (double)mFusionThresOpacity*(frange[1] - frange[0])/100; + double curr_value = frange[0]; + int nvalues = fusLUT->GetNumberOfTableValues(); + //for (double i = frange[0]; i <= alpha_range_end; i++) { + for (double i = 0; curr_value < range_end; i++) { + fusLUT->GetTableValue(i, v); v[3] = 0; - fusLUT->SetTableValue(index, v); + fusLUT->SetTableValue(i, v); + curr_value += (frange[1] - frange[0])/nvalues; } } for ( unsigned int i = 0; i < mSlicers.size(); i++) {