2015-08-14 1 views
0

Есть ли способ заставить скалярную панель автоматически не устанавливать мои метки в линейное значение?vtkScalarBar с нелинейными метками

Я хотел бы получить доступ к таблице меток и изменить себе значение, чтобы оно соответствовало моей собственной формуле.

// scalar bar 
_hueLut = vtkLookupTable::New(); 
_hueLut->SetNumberOfTableValues(100); 
_hueLut->SetTableRange(0, 100); 
_hueLut->SetTableValue(0, 0, 0, 1); 
_hueLut->SetTableValue(1, 0, 1, 0); 
//etc... 
_hueLut->Build(); 


_scalarBar = vtkScalarBarActor::New(); 
_scalarBar->SetLookupTable(_hueLut); 
_scalarBar->SetTitle("logarithm scalar bar"); 
_scalarBar->SetNumberOfLabels(5); 
_scalarBar->SetLabelFormat("%5.4g"); 

Проблема заключается в том, что моя скалярном баре этикетка, кажется, показывает значение 0, 25, 50, 75 и 100. Я хочу, чтобы иметь возможность изменить значение метки. Например: 0, 10, 25, 50, 100.

Спасибо.

ответ

0

Задание собственной функции напрямую не поддерживается, только линейная и логарифмическая шкала реализованы в vtkLookupTable, что является классом для отображения цвета цвета скалярного бара. Однако вы можете легко получить из vtkLookupTable и переопределить метод Build() для реализации произвольного сопоставления. См. vtkWindowLevelLookupTable для хорошего примера.

Если все, что вам нужно, это преобразование журнала, то установите SetScaleToLog10() на lut. И убедитесь, что диапазон положительный.

Существует 3 варианта функции рампы, которая позволяет вам отрегулировать цвет, цвет «чувствительность», который вы могли бы сказать. S-кривая (по умолчанию), которая дает вам более постепенный на концах диапазона, линейный и sqrt. Подробнее см. В документах.

НТН,

Miro

 Смежные вопросы

  • Нет связанных вопросов^_^