X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.cxx;h=d9ed42e2deb448f541eaf97993db3f0eb6b1c483;hb=5a7da4aedae5c204bc55c187717193e5950f9a44;hp=9a163093ea40b9db9397581f9f56c57a6befeb4c;hpb=13b9b1bbed880af93318198be2a8c227f4e987f1;p=clitk.git diff --git a/vv/vvSlicerManager.cxx b/vv/vvSlicerManager.cxx index 9a16309..d9ed42e 100644 --- a/vv/vvSlicerManager.cxx +++ b/vv/vvSlicerManager.cxx @@ -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,14 +1184,15 @@ 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(); @@ -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++) {