MCPcopy Create free account
hub / github.com/MITK/MITK / SetDataNode

Method SetDataNode

Modules/QtWidgetsExt/src/QmitkTransferFunctionWidget.cpp:95–164  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

93}
94
95void QmitkTransferFunctionWidget::SetDataNode(mitk::DataNode *node, mitk::TimeStepType timestep, const mitk::BaseRenderer *renderer)
96{
97 if (node)
98 {
99 tfpToChange = dynamic_cast<mitk::TransferFunctionProperty *>(node->GetProperty("TransferFunction", renderer));
100 if (!tfpToChange)
101 {
102 if (!dynamic_cast<mitk::Image *>(node->GetData()))
103 {
104 MITK_WARN << "QmitkTransferFunctionWidget::SetDataNode called with non-image node";
105 goto turnOff;
106 }
107
108 node->SetProperty("TransferFunction", tfpToChange = mitk::TransferFunctionProperty::New());
109 }
110
111 mitk::TransferFunction::Pointer tf = tfpToChange->GetValue();
112
113 if (mitk::Image *data = dynamic_cast<mitk::Image *>(node->GetData()))
114 {
115 mitk::SimpleHistogram *h = nullptr;
116 if (data->GetTimeSteps() > 1)
117 {
118 if (!data->GetTimeGeometry()->IsValidTimeStep(timestep))
119 {
120 return;
121 }
122 mitk::ImageTimeSelector::Pointer timeselector = mitk::ImageTimeSelector::New();
123 timeselector->SetInput(data);
124 timeselector->SetTimeNr(timestep);
125 timeselector->UpdateLargestPossibleRegion();
126 auto inputImage = timeselector->GetOutput();
127 h = histogramCache[inputImage];
128 }
129 else
130 {
131 h = histogramCache[data];
132 }
133
134 auto rangeSliderMin = h->GetMin();
135 auto rangeSliderMax = h->GetMax();
136 UpdateStepSize();
137
138 m_Controls->m_RangeSlider->blockSignals(true);
139 m_Controls->m_RangeSlider->setMinimum(rangeSliderMin);
140 m_Controls->m_RangeSlider->setMaximum(rangeSliderMax);
141 m_Controls->m_RangeSlider->setMinimumValue(rangeSliderMin);
142 m_Controls->m_RangeSlider->setMaximumValue(rangeSliderMax);
143 m_Controls->m_RangeSlider->blockSignals(false);
144
145 m_Controls->m_ScalarOpacityFunctionCanvas->SetHistogram(h);
146 m_Controls->m_GradientOpacityCanvas->SetHistogram(h);
147 m_Controls->m_ColorTransferFunctionCanvas->SetHistogram(h);
148 }
149
150 OnUpdateCanvas();
151
152 return;

Callers 4

SelectionChangedMethod · 0.45
SetPointSetNodeMethod · 0.45
OnBtnAddPointMethod · 0.45
ObserveNewNodeMethod · 0.45

Calls 13

GetTimeStepsMethod · 0.80
NewFunction · 0.50
GetPropertyMethod · 0.45
GetDataMethod · 0.45
SetPropertyMethod · 0.45
GetValueMethod · 0.45
IsValidTimeStepMethod · 0.45
SetInputMethod · 0.45
GetOutputMethod · 0.45
GetMinMethod · 0.45
GetMaxMethod · 0.45
SetHistogramMethod · 0.45

Tested by

no test coverage detected