Skip to content

Commit c13170c

Browse files
committed
Use the PET data scalar range for color mapping
1 parent 986d52b commit c13170c

1 file changed

Lines changed: 13 additions & 1 deletion

File tree

usage/src/Volume/PET_CT_Overlay.jsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,11 @@ const loadData = async () => {
140140
ptWebWorkers.terminateWorkers();
141141
ptImageData = vtkITKHelper.convertItkToVtkImage(ptitkImage);
142142
}
143-
console.log(ctImageData.getDimensions(), ptImageData.getDimensions());
144143
loadData.setMaxKSlice(ctImageData.getDimensions()[2] - 1);
145144
loadData.setMaxJSlice(ptImageData.getDimensions()[1] - 1);
145+
const range = ptImageData?.getPointData()?.getScalars()?.getRange();
146+
loadData.setPTColorWindow(range[1] - range[0]);
147+
loadData.setPTColorLevel((range[1] + range[0]) * 0.5);
146148
loadData.setStatusText('');
147149
loader.hidden = 'hidden';
148150
return [ctImageData, ptImageData];
@@ -155,13 +157,17 @@ function Example(props) {
155157
const [ctjSlice, setCTJSlice] = useState(0);
156158
const [colorWindow, setColorWindow] = useState(2048);
157159
const [colorLevel, setColorLevel] = useState(0);
160+
const [ptcolorWindow, setPTColorWindow] = useState(69222);
161+
const [ptcolorLevel, setPTColorLevel] = useState(34611);
158162
const [colorPreset, setColorPreset] = useState('jet');
159163
const [opacity, setOpacity] = useState(0.4);
160164
const [maxKSlice, setMaxKSlice] = useState(310);
161165
const [maxJSlice, setMaxJSlice] = useState(110);
162166
loadData.setMaxKSlice = setMaxKSlice;
163167
loadData.setMaxJSlice = setMaxJSlice;
164168
loadData.setStatusText = setStatusText;
169+
loadData.setPTColorWindow = setPTColorWindow;
170+
loadData.setPTColorLevel = setPTColorLevel;
165171

166172
useEffect(() => {
167173
loadData().then(([ctData, ptData]) => {
@@ -263,8 +269,11 @@ function Example(props) {
263269
kSlice={kSlice}
264270
property={{
265271
opacity,
272+
colorWindow: ptcolorWindow,
273+
colorLevel: ptcolorLevel,
266274
}}
267275
colorMapPreset={colorPreset}
276+
useLookupTableScalarRange={false}
268277
>
269278
<UseDataSet id='ptData' />
270279
</SliceRepresentation>
@@ -311,8 +320,11 @@ function Example(props) {
311320
jSlice={jSlice}
312321
property={{
313322
opacity,
323+
colorWindow: ptcolorWindow,
324+
colorLevel: ptcolorLevel,
314325
}}
315326
colorMapPreset={colorPreset}
327+
useLookupTableScalarRange={false}
316328
>
317329
<UseDataSet id='ptData' />
318330
</SliceRepresentation>

0 commit comments

Comments
 (0)