15 static const char *
presetNames[] = {
"choose an internal transferfunction preset",
21 "CT Bone (with Gradient)",
31 if (transferFunction.IsNotNull())
33 m_transferFunction = transferFunction;
48 m_transferFunction = transferFunction;
53 if (m_transferFunction)
60 void TransferFunctionInitializer::RemoveAllPoints()
62 m_transferFunction->GetScalarOpacityFunction()->RemoveAllPoints();
63 m_transferFunction->GetColorTransferFunction()->RemoveAllPoints();
64 m_transferFunction->GetGradientOpacityFunction()->RemoveAllPoints();
67 void TransferFunctionInitializer::SetModified()
69 m_transferFunction->GetScalarOpacityFunction()->Modified();
70 m_transferFunction->GetColorTransferFunction()->Modified();
71 m_transferFunction->GetGradientOpacityFunction()->Modified();
76 if (m_transferFunction)
78 this->RemoveAllPoints();
82 this->SetCtDefaultMode();
85 case TF_CT_BLACK_WHITE:
86 this->SetCtBlackWhiteMode();
89 case TF_CT_THORAX_LARGE:
90 this->SetCtThoraxLargeMode();
93 case TF_CT_THORAX_SMALL:
94 this->SetCtThoraxSmallMode();
98 this->SetCtBoneMode();
101 case TF_CT_BONE_GRADIENT:
102 this->SetCtBoneGradientMode();
106 this->SetCtCardiacMode();
110 this->SetMrGenericMode();
114 itkExceptionMacro(<<
"No Mode set!");
122 itkExceptionMacro(<<
"No Transferfunction set!");
126 void TransferFunctionInitializer::SetCtDefaultMode()
129 m_transferFunction->GetScalarOpacityFunction()->AddPoint(132.108911, 0.000000);
130 m_transferFunction->GetScalarOpacityFunction()->AddPoint(197.063492, 0.041333);
131 m_transferFunction->GetScalarOpacityFunction()->AddPoint(1087.917989, 0.700000);
134 m_transferFunction->GetGradientOpacityFunction()->AddPoint(560.695000, 1.000000);
137 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(176.881890, 0.650980, 0.000000, 0.000000);
138 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(239.427822, 0.933333, 0.000000, 0.000000);
139 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(301.973753, 1.000000, 0.800000, 0.062745);
140 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(495.866142, 1.000000, 0.905882, 0.666667);
141 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(677.249344, 1.000000, 0.882353, 0.215686);
142 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(808.595801, 1.000000, 1.000000, 1.000000);
145 void TransferFunctionInitializer::SetCtBlackWhiteMode()
148 m_transferFunction->GetScalarOpacityFunction()->AddPoint(135.063521, 0.0);
149 m_transferFunction->GetScalarOpacityFunction()->AddPoint(948.137931, 1.0);
152 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(122.088929, 0.352941, 0.352941, 0.352941);
153 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(372.931034, 1.000000, 1.000000, 1.000000);
156 m_transferFunction->GetGradientOpacityFunction()->Initialize();
157 m_transferFunction->GetGradientOpacityFunction()->AddPoint(560.695000, 1);
160 void TransferFunctionInitializer::SetCtThoraxLargeMode()
164 m_transferFunction->GetScalarOpacityFunction()->AddPoint(76.721239, 0.000000);
165 m_transferFunction->GetScalarOpacityFunction()->AddPoint(139.524336, 0.000000);
166 m_transferFunction->GetScalarOpacityFunction()->AddPoint(274.458333, 0.228650);
167 m_transferFunction->GetScalarOpacityFunction()->AddPoint(638.420139, 0.721763);
170 m_transferFunction->GetGradientOpacityFunction()->AddPoint(560.695000, 1.000000);
173 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(85.382743, 0.478431, 0.000000, 0.000000);
174 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(198.201327, 0.933333, 0.000000, 0.000000);
175 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(254.610619, 1.000000, 0.800000, 0.062745);
176 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(336.0907085, 1.000000, 0.905882, 0.666667);
177 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(630.672566, 1.000000, 1.000000, 1.000000);
180 void TransferFunctionInitializer::SetCtThoraxSmallMode()
183 m_transferFunction->GetScalarOpacityFunction()->AddPoint(147.216912, 0.000000);
184 m_transferFunction->GetScalarOpacityFunction()->AddPoint(274.458333, 0.228650);
185 m_transferFunction->GetScalarOpacityFunction()->AddPoint(430.330882, 0.675532);
188 m_transferFunction->GetGradientOpacityFunction()->AddPoint(560.695000, 1.000000);
191 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(129.607774, 0.478431, 0.000000, 0.000000);
192 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(213.812721, 0.933333, 0.000000, 0.000000);
193 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(348.540636, 1.000000, 0.800000, 0.062745);
194 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(500.419118, 1.000000, 0.898039, 0.776471);
195 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(579.268382, 1.000000, 1.000000, 1.000000);
198 void TransferFunctionInitializer::SetCtBoneMode()
201 m_transferFunction->GetScalarOpacityFunction()->AddPoint(126.413793, 0.000000);
202 m_transferFunction->GetScalarOpacityFunction()->AddPoint(178.312160, 0.014663);
203 m_transferFunction->GetScalarOpacityFunction()->AddPoint(247.509982, 0.000000);
204 m_transferFunction->GetScalarOpacityFunction()->AddPoint(1013.010889, 1.000000);
207 m_transferFunction->GetGradientOpacityFunction()->AddPoint(485.377495, 1.000000);
210 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(312.382940, 1.000000, 0.564706, 0.274510);
211 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(455.103448, 1.000000, 0.945098, 0.768627);
212 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(623.773140, 1.000000, 0.800000, 0.333333);
213 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(796.767695, 1.000000, 0.901961, 0.815686);
214 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(930.838475, 1.000000, 1.000000, 1.000000);
215 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(1073.558984, 1.000000, 0.839216, 0.423529);
216 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(1220.604356, 1.000000, 0.772549, 0.490196);
219 void TransferFunctionInitializer::SetCtBoneGradientMode()
222 m_transferFunction->GetScalarOpacityFunction()->AddPoint(126.413793, 0.000000);
223 m_transferFunction->GetScalarOpacityFunction()->AddPoint(186.961887, 0.146628);
224 m_transferFunction->GetScalarOpacityFunction()->AddPoint(247.509982, 0.000000);
225 m_transferFunction->GetScalarOpacityFunction()->AddPoint(1013.010889, 1.000000);
228 m_transferFunction->GetGradientOpacityFunction()->AddPoint(22.617060, 0.000000);
229 m_transferFunction->GetGradientOpacityFunction()->AddPoint(65.865699, 1.000000);
232 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(312.382940, 1.000000, 0.564706, 0.274510);
233 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(455.103448, 1.000000, 0.945098, 0.768627);
234 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(623.773140, 1.000000, 0.800000, 0.333333);
235 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(796.767695, 1.000000, 0.901961, 0.815686);
236 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(930.838475, 1.000000, 1.000000, 1.000000);
237 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(1073.558984, 1.000000, 0.839216, 0.423529);
238 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(1220.604356, 1.000000, 0.772549, 0.490196);
241 void TransferFunctionInitializer::SetCtCardiacMode()
244 m_transferFunction->GetScalarOpacityFunction()->AddPoint(150.246824, 0.000000);
245 m_transferFunction->GetScalarOpacityFunction()->AddPoint(179.974592, 0.202346);
246 m_transferFunction->GetScalarOpacityFunction()->AddPoint(276.589837, 0.000000);
247 m_transferFunction->GetScalarOpacityFunction()->AddPoint(781.961887, 1.000000);
250 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(395.500907, 1.000000, 0.000000, 0.000000);
251 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(410.364791, 1.000000, 0.749020, 0.000000);
252 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(484.684211, 1.000000, 0.878431, 0.662745);
253 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(588.731397, 1.000000, 0.784314, 0.482353);
256 m_transferFunction->GetGradientOpacityFunction()->AddPoint(246.862069, 0.215827);
259 void TransferFunctionInitializer::SetMrGenericMode()
262 m_transferFunction->GetScalarOpacityFunction()->AddPoint(0, 0);
263 m_transferFunction->GetScalarOpacityFunction()->AddPoint(20, 0);
264 m_transferFunction->GetScalarOpacityFunction()->AddPoint(40, 0.15);
265 m_transferFunction->GetScalarOpacityFunction()->AddPoint(120, 0.3);
266 m_transferFunction->GetScalarOpacityFunction()->AddPoint(220, 0.375);
267 m_transferFunction->GetScalarOpacityFunction()->AddPoint(1024, 0.5);
270 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(0, 0, 0, 0);
271 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(20, 0.168627, 0, 0);
272 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(40, 0.403922, 0.145098, 0.0784314);
273 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(120, 0.780392, 0.607843, 0.380392);
274 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(220, 0.847059, 0.835294, 0.788235);
275 m_transferFunction->GetColorTransferFunction()->AddRGBPoint(1024, 1, 1, 1);
278 m_transferFunction->GetGradientOpacityFunction()->AddPoint(0, 1);
279 m_transferFunction->GetGradientOpacityFunction()->AddPoint(255, 1);
void SetTransferFunctionMode(int mode)
void InitTransferFunctionMode()
static void GetPresetNames(std::vector< std::string > &presetNames)
TransferFunctionInitializer(TransferFunction::Pointer transferFunction=nullptr)
static const char * presetNames[]
~TransferFunctionInitializer() override
DataCollection - Class to facilitate loading/accessing structured data.
void SetTransferFunction(TransferFunction::Pointer transferFunction)
mitk::TransferFunction::Pointer GetTransferFunction()
static int numPresetNames