void vvSlicerManager::SetInteractorStyleNavigator(int i, vtkInteractorStyle* style)
{
- vvSlicerManagerCallback *smc = vvSlicerManagerCallback::New();
+ vvSlicerManagerCommand *smc = vvSlicerManagerCommand::New();
smc->SM = this;
+ smc->SetSlicerNumber(i);
mSlicers[i]->GetRenderWindow()->GetInteractor()->SetInteractorStyle(style);
mSlicers[i]->GetRenderWindow()->GetInteractor()->
void vvSlicerManager::SetPreset(int preset)
{
- double range[2];
- mImage->GetScalarRange(range);
//vtkLookupTable* LUT = static_cast<vtkLookupTable*>(mSlicers[0]->GetWindowLevel()->GetLookupTable());
double window = mSlicers[0]->GetColorWindow();
double level = mSlicers[0]->GetColorLevel();
}
else
{
+ double range[2];
+ mImage->GetScalarRange(range);
window = range[1] - range[0];
level = (range[1] + range[0])* 0.5;
}
break;
case 7:
window=1.;
- level=1;
+ level=0.;
break;
}
mPreset = 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));
+ this->Render();
+}
+
void vvSlicerManager::SetColorMap()
{
SetColorMap(mColorMap);
switch (colormap)
{
case -1:
- if (LUT)
- LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4);
break;
case 0:
LUT = NULL;
case 1:
if (LUT == NULL)
LUT = vtkLookupTable::New();
- LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4);
LUT->SetValueRange(0,1);
LUT->SetSaturationRange(1,1);
LUT->SetHueRange(0,0.18);
case 2:
if (LUT == NULL)
LUT = vtkLookupTable::New();
- LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4);
LUT->SetValueRange(0,1);
LUT->SetSaturationRange(1,1);
LUT->SetHueRange(0.4,0.80);
case 3:
if (LUT == NULL)
LUT = vtkLookupTable::New();
- LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4);
LUT->SetValueRange(0,1);
LUT->SetSaturationRange(1,1);
LUT->SetHueRange(0,1);
break;
}
if (LUT)
+ {
+ LUT->SetTableRange(level-fabs(window)/4,level+fabs(window)/4);
LUT->Build();
+ }
vtkLookupTable* fusLUT = NULL;
if (mSlicers[0]->GetFusion())
{