X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=vv%2FvvSlicerManager.cxx;h=9e408e24f56438671f4badf2400a7ad0c21a33fe;hb=e896ba3b14844f2769652b8b3230b73914acd5ee;hp=4aa48cf562d8d92e36ec2aacbce888062bb0a6dd;hpb=708c3b7aed9185a46428310d113fe59562a8d642;p=clitk.git diff --git a/vv/vvSlicerManager.cxx b/vv/vvSlicerManager.cxx index 4aa48cf..9e408e2 100644 --- a/vv/vvSlicerManager.cxx +++ b/vv/vvSlicerManager.cxx @@ -338,8 +338,10 @@ void vvSlicerManager::SetSlicerWindow(int i, vtkRenderWindow* RW) void vvSlicerManager::SetInteractorStyleNavigator(int i, vtkInteractorStyle* style) { - vvSlicerManagerCallback *smc = vvSlicerManagerCallback::New(); + vvSlicerManagerCommand *smc = vvSlicerManagerCommand::New(); + std::cerr << smc << ":" << i << " " << this << endl; smc->SM = this; + smc->SetSlicerNumber(i); mSlicers[i]->GetRenderWindow()->GetInteractor()->SetInteractorStyle(style); mSlicers[i]->GetRenderWindow()->GetInteractor()-> @@ -806,8 +808,6 @@ void vvSlicerManager::UpdateSliceRange(int slicer) void vvSlicerManager::SetPreset(int preset) { - double range[2]; - mImage->GetScalarRange(range); //vtkLookupTable* LUT = static_cast(mSlicers[0]->GetWindowLevel()->GetLookupTable()); double window = mSlicers[0]->GetColorWindow(); double level = mSlicers[0]->GetColorLevel(); @@ -828,6 +828,8 @@ void vvSlicerManager::SetPreset(int preset) } else { + double range[2]; + mImage->GetScalarRange(range); window = range[1] - range[0]; level = (range[1] + range[0])* 0.5; } @@ -868,6 +870,15 @@ void vvSlicerManager::SetPreset(int preset) // SetColorMap(-1); //} } + +void vvSlicerManager::SetLocalColorWindowing(const int slicer) +{ + double min, max; + this->mSlicers[slicer]->GetExtremasAroundMousePointer(min, max); + this->SetColorWindow(max-min); + this->SetColorLevel(0.5*(min+max)); +} + void vvSlicerManager::SetColorMap() { SetColorMap(mColorMap);