#include <QmitkTransferFunctionWidget.h>
Public Slots | |
void | SetXValueScalar () |
void | SetYValueScalar () |
void | SetXValueGradient () |
void | SetYValueGradient () |
void | SetXValueColor () |
void | OnUpdateCanvas () |
void | UpdateRanges () |
void | OnResetSlider () |
void | OnSpanChanged (int lower, int upper) |
Public Member Functions | |
QmitkTransferFunctionWidget (QWidget *parent=0, Qt::WindowFlags f=0) | |
~QmitkTransferFunctionWidget () | |
void | SetDataNode (mitk::DataNode *node) |
Protected Attributes | |
mitk::TransferFunctionProperty::Pointer | tfpToChange |
int | m_RangeSliderMin |
int | m_RangeSliderMax |
mitk::SimpleHistogramCache | histogramCache |
Definition at line 37 of file QmitkTransferFunctionWidget.h.
QmitkTransferFunctionWidget::QmitkTransferFunctionWidget | ( | QWidget * | parent = 0 , |
Qt::WindowFlags | f = 0 |
||
) |
Definition at line 23 of file QmitkTransferFunctionWidget.cpp.
References Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_RangeSlider, Ui_QmitkTransferFunctionWidget::m_RangeSliderReset, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_XEditColor, Ui_QmitkTransferFunctionWidget::m_XEditGradientOpacity, Ui_QmitkTransferFunctionWidget::m_XEditScalarOpacity, Ui_QmitkTransferFunctionWidget::m_YEditGradientOpacity, Ui_QmitkTransferFunctionWidget::m_YEditScalarOpacity, QxtSpanSlider::NoOverlapping, OnResetSlider(), OnSpanChanged(), QxtSpanSlider::setHandleMovementMode(), QmitkTransferFunctionCanvas::SetQLineEdits(), QmitkColorTransferFunctionCanvas::SetTitle(), QmitkPiecewiseFunctionCanvas::SetTitle(), Ui_QmitkTransferFunctionWidget::setupUi(), SetXValueColor(), SetXValueGradient(), SetXValueScalar(), SetYValueGradient(), and SetYValueScalar().
: QWidget(parent, f) { this->setupUi(this); // signals and slots connections connect(m_XEditScalarOpacity, SIGNAL(returnPressed()), this, SLOT(SetXValueScalar())); connect(m_YEditScalarOpacity, SIGNAL(returnPressed()), this, SLOT(SetYValueScalar())); connect(m_XEditGradientOpacity, SIGNAL(returnPressed()), this, SLOT(SetXValueGradient())); connect(m_YEditGradientOpacity, SIGNAL(returnPressed()), this, SLOT(SetYValueGradient())); connect(m_XEditColor, SIGNAL(returnPressed()), this, SLOT(SetXValueColor())); QPlastiqueStyle *sliderStyle = new QPlastiqueStyle(); m_RangeSlider->setMaximum(2048); m_RangeSlider->setMinimum(-2048); m_RangeSlider->setHandleMovementMode(QxtSpanSlider::NoOverlapping); m_RangeSlider->setStyle(sliderStyle); connect(m_RangeSlider, SIGNAL(spanChanged(int, int) ),this, SLOT( OnSpanChanged(int , int ) )); //reset button connect(m_RangeSliderReset, SIGNAL(pressed()), this, SLOT(OnResetSlider())); m_ScalarOpacityFunctionCanvas->SetQLineEdits(m_XEditScalarOpacity, m_YEditScalarOpacity); m_GradientOpacityCanvas->SetQLineEdits(m_XEditGradientOpacity, m_YEditGradientOpacity); m_ColorTransferFunctionCanvas->SetQLineEdits(m_XEditColor, 0); m_ScalarOpacityFunctionCanvas->SetTitle("Grayvalue -> Opacity"); m_GradientOpacityCanvas->SetTitle("Grayvalue/Gradient -> Opacity"); m_ColorTransferFunctionCanvas->SetTitle("Grayvalue -> Color"); }
QmitkTransferFunctionWidget::~QmitkTransferFunctionWidget | ( | ) |
Definition at line 61 of file QmitkTransferFunctionWidget.cpp.
{ }
void QmitkTransferFunctionWidget::OnResetSlider | ( | ) | [slot] |
Definition at line 201 of file QmitkTransferFunctionWidget.cpp.
References Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_RangeSlider, m_RangeSliderMax, m_RangeSliderMin, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, QxtSpanSlider::setLowerValue(), QxtSpanSlider::setUpperValue(), and UpdateRanges().
Referenced by QmitkTransferFunctionWidget().
{ m_RangeSlider->setUpperValue(m_RangeSliderMax); m_RangeSlider->setLowerValue(m_RangeSliderMin); UpdateRanges(); m_GradientOpacityCanvas->update(); m_ColorTransferFunctionCanvas->update(); m_ScalarOpacityFunctionCanvas->update(); }
void QmitkTransferFunctionWidget::OnSpanChanged | ( | int | lower, |
int | upper | ||
) | [slot] |
Definition at line 188 of file QmitkTransferFunctionWidget.cpp.
References Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, and UpdateRanges().
Referenced by QmitkTransferFunctionWidget().
{ //MITK_INFO << "OnSpanChanged, m_RangeSlider: lowerValue: " << lower << "upperValue: " << upper; UpdateRanges(); m_GradientOpacityCanvas->update(); m_ColorTransferFunctionCanvas->update(); m_ScalarOpacityFunctionCanvas->update(); }
void QmitkTransferFunctionWidget::OnUpdateCanvas | ( | ) | [slot] |
Definition at line 117 of file QmitkTransferFunctionWidget.cpp.
References Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, QmitkColorTransferFunctionCanvas::SetColorTransferFunction(), QmitkPiecewiseFunctionCanvas::SetPiecewiseFunction(), tfpToChange, and UpdateRanges().
Referenced by SetDataNode().
{ if(tfpToChange.IsNull()) return; mitk::TransferFunction::Pointer tf = tfpToChange->GetValue(); if(tf.IsNull()) return; m_ScalarOpacityFunctionCanvas->SetPiecewiseFunction( tf->GetScalarOpacityFunction() ); m_GradientOpacityCanvas->SetPiecewiseFunction( tf->GetGradientOpacityFunction() ); m_ColorTransferFunctionCanvas->SetColorTransferFunction( tf->GetColorTransferFunction() ); UpdateRanges(); m_ScalarOpacityFunctionCanvas->update(); m_GradientOpacityCanvas->update(); m_ColorTransferFunctionCanvas->update(); }
void QmitkTransferFunctionWidget::SetDataNode | ( | mitk::DataNode * | node ) |
Definition at line 65 of file QmitkTransferFunctionWidget.cpp.
References mitk::DataNode::GetData(), mitk::SimpleHistogram::GetMax(), mitk::SimpleHistogram::GetMin(), mitk::DataNode::GetProperty(), histogramCache, Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_RangeSlider, m_RangeSliderMax, m_RangeSliderMin, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, MITK_WARN, mitk::TransferFunctionProperty::New(), OnUpdateCanvas(), QmitkTransferFunctionCanvas::SetHistogram(), mitk::DataNode::SetProperty(), QxtSpanSlider::setSpan(), tfpToChange, and UpdateRanges().
{ //MITK_INFO << "TransW called with" << (1&&node); if (node) { tfpToChange = dynamic_cast<mitk::TransferFunctionProperty*>(node->GetProperty("TransferFunction")); if(!tfpToChange) { if (! dynamic_cast<mitk::Image*>(node->GetData())) { MITK_WARN << "QmitkTransferFunctionWidget::SetDataNode called with non-image node"; goto turnOff; } node->SetProperty("TransferFunction", tfpToChange = mitk::TransferFunctionProperty::New() ); } mitk::TransferFunction::Pointer tf = tfpToChange->GetValue(); if( mitk::Image* image = dynamic_cast<mitk::Image*>( node->GetData() ) ) { mitk::SimpleHistogram *h = histogramCache[image]; m_RangeSliderMin= h->GetMin(); m_RangeSliderMax= h->GetMax(); m_ScalarOpacityFunctionCanvas->SetHistogram( h ); m_GradientOpacityCanvas->SetHistogram( h ); } OnUpdateCanvas(); m_RangeSlider->setSpan( m_RangeSliderMin, m_RangeSliderMax); UpdateRanges(); return; } turnOff: m_ScalarOpacityFunctionCanvas->setEnabled(false); m_GradientOpacityCanvas->setEnabled(false); m_ColorTransferFunctionCanvas->setEnabled(false); tfpToChange = 0; }
void QmitkTransferFunctionWidget::SetXValueColor | ( | ) | [slot] |
Definition at line 163 of file QmitkTransferFunctionWidget.cpp.
References mitk::RenderingManager::GetInstance(), Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_XEditColor, and QmitkTransferFunctionCanvas::SetX().
Referenced by QmitkTransferFunctionWidget().
{ m_ColorTransferFunctionCanvas->SetX(m_XEditColor->text().toFloat()); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkTransferFunctionWidget::SetXValueGradient | ( | ) | [slot] |
Definition at line 151 of file QmitkTransferFunctionWidget.cpp.
References mitk::RenderingManager::GetInstance(), Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_XEditGradientOpacity, and QmitkTransferFunctionCanvas::SetX().
Referenced by QmitkTransferFunctionWidget().
{ m_GradientOpacityCanvas->SetX(m_XEditGradientOpacity->text().toFloat()); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkTransferFunctionWidget::SetXValueScalar | ( | ) | [slot] |
Definition at line 139 of file QmitkTransferFunctionWidget.cpp.
References mitk::RenderingManager::GetInstance(), Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_XEditScalarOpacity, and QmitkTransferFunctionCanvas::SetX().
Referenced by QmitkTransferFunctionWidget().
{ m_ScalarOpacityFunctionCanvas->SetX(m_XEditScalarOpacity->text().toFloat()); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkTransferFunctionWidget::SetYValueGradient | ( | ) | [slot] |
Definition at line 157 of file QmitkTransferFunctionWidget.cpp.
References mitk::RenderingManager::GetInstance(), Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_YEditGradientOpacity, and QmitkTransferFunctionCanvas::SetY().
Referenced by QmitkTransferFunctionWidget().
{ m_GradientOpacityCanvas->SetY(m_YEditGradientOpacity->text().toFloat()); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkTransferFunctionWidget::SetYValueScalar | ( | ) | [slot] |
Definition at line 145 of file QmitkTransferFunctionWidget.cpp.
References mitk::RenderingManager::GetInstance(), Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_YEditScalarOpacity, and QmitkTransferFunctionCanvas::SetY().
Referenced by QmitkTransferFunctionWidget().
{ m_ScalarOpacityFunctionCanvas->SetY(m_YEditScalarOpacity->text().toFloat()); mitk::RenderingManager::GetInstance()->RequestUpdateAll(); }
void QmitkTransferFunctionWidget::UpdateRanges | ( | ) | [slot] |
Definition at line 170 of file QmitkTransferFunctionWidget.cpp.
References QxtSpanSlider::lowerValue, Ui_QmitkTransferFunctionWidget::m_ColorTransferFunctionCanvas, Ui_QmitkTransferFunctionWidget::m_GradientOpacityCanvas, Ui_QmitkTransferFunctionWidget::m_RangeSlider, Ui_QmitkTransferFunctionWidget::m_ScalarOpacityFunctionCanvas, QmitkTransferFunctionCanvas::SetMax(), QmitkTransferFunctionCanvas::SetMin(), and QxtSpanSlider::upperValue.
Referenced by OnResetSlider(), OnSpanChanged(), OnUpdateCanvas(), and SetDataNode().
{ int lower = m_RangeSlider->lowerValue(); int upper = m_RangeSlider->upperValue(); //MITK_INFO << "UpdateRanges: lower: " << lower << " upper: " << upper; m_ScalarOpacityFunctionCanvas->SetMin(lower); m_ScalarOpacityFunctionCanvas->SetMax(upper); m_GradientOpacityCanvas->SetMin(lower); m_GradientOpacityCanvas->SetMax(upper); m_ColorTransferFunctionCanvas->SetMin(lower); m_ColorTransferFunctionCanvas->SetMax(upper); }
Definition at line 71 of file QmitkTransferFunctionWidget.h.
Referenced by SetDataNode().
int QmitkTransferFunctionWidget::m_RangeSliderMax [protected] |
Definition at line 69 of file QmitkTransferFunctionWidget.h.
Referenced by OnResetSlider(), and SetDataNode().
int QmitkTransferFunctionWidget::m_RangeSliderMin [protected] |
Definition at line 68 of file QmitkTransferFunctionWidget.h.
Referenced by OnResetSlider(), and SetDataNode().
Definition at line 66 of file QmitkTransferFunctionWidget.h.
Referenced by OnUpdateCanvas(), and SetDataNode().