#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().
1.7.2