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

Method FromJSON

Modules/Core/src/DataManagement/mitkLookupTableProperty.cpp:114–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

112}
113
114bool mitk::LookupTableProperty::FromJSON(const nlohmann::json& j)
115{
116 auto lut = vtkSmartPointer<vtkLookupTable>::New();
117
118 lut->SetNumberOfTableValues(j["NumberOfColors"].get<int>());
119 lut->SetScale(j["Scale"].get<int>());
120 lut->SetScale(j["Ramp"].get<int>());
121
122 std::array<double, 2> range;
123
124 j["HueRange"][0].get_to(range[0]);
125 j["HueRange"][1].get_to(range[1]);
126 lut->SetHueRange(range.data());
127
128 j["ValueRange"][0].get_to(range[0]);
129 j["ValueRange"][1].get_to(range[1]);
130 lut->SetValueRange(range.data());
131
132 j["SaturationRange"][0].get_to(range[0]);
133 j["SaturationRange"][1].get_to(range[1]);
134 lut->SetSaturationRange(range.data());
135
136 j["AlphaRange"][0].get_to(range[0]);
137 j["AlphaRange"][1].get_to(range[1]);
138 lut->SetAlphaRange(range.data());
139
140 j["TableRange"][0].get_to(range[0]);
141 j["TableRange"][1].get_to(range[1]);
142 lut->SetTableRange(range.data());
143
144 std::array<double, 4> rgba;
145 vtkIdType i = 0;
146
147 for (const auto& value : j["Table"])
148 {
149 for (size_t j = 0; j < 4; ++j)
150 value[j].get_to(rgba[j]);
151
152 lut->SetTableValue(i++, rgba.data());
153 }
154
155 auto mitkLut = LookupTable::New();
156 mitkLut->SetVtkLookupTable(lut);
157 this->SetLookupTable(mitkLut);
158
159 return true;
160}
161

Callers

nothing calls this directly

Calls 5

SetLookupTableMethod · 0.95
SetVtkLookupTableMethod · 0.80
NewFunction · 0.50
dataMethod · 0.45
SetTableValueMethod · 0.45

Tested by

no test coverage detected