Public Slots | Public Member Functions | Protected Attributes

QmitkTransferFunctionWidget Class Reference

#include <QmitkTransferFunctionWidget.h>

Inheritance diagram for QmitkTransferFunctionWidget:
Inheritance graph
[legend]
Collaboration diagram for QmitkTransferFunctionWidget:
Collaboration graph
[legend]

List of all members.

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

Detailed Description

Definition at line 37 of file QmitkTransferFunctionWidget.h.


Constructor & Destructor Documentation

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.

{
}

Member Function Documentation

void QmitkTransferFunctionWidget::OnResetSlider (  ) [slot]
void QmitkTransferFunctionWidget::OnSpanChanged ( int  lower,
int  upper 
) [slot]
void QmitkTransferFunctionWidget::OnUpdateCanvas (  ) [slot]
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]
void QmitkTransferFunctionWidget::SetXValueGradient (  ) [slot]
void QmitkTransferFunctionWidget::SetXValueScalar (  ) [slot]
void QmitkTransferFunctionWidget::SetYValueGradient (  ) [slot]
void QmitkTransferFunctionWidget::SetYValueScalar (  ) [slot]
void QmitkTransferFunctionWidget::UpdateRanges (  ) [slot]

Member Data Documentation

Definition at line 71 of file QmitkTransferFunctionWidget.h.

Referenced by SetDataNode().

Definition at line 69 of file QmitkTransferFunctionWidget.h.

Referenced by OnResetSlider(), and SetDataNode().

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


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines