1 year ago
#76180
codeine_cola
Direct Volume Rendering in Java - how does an RGB transfer function work?
I am creating a direct volume rendering application with the goal of writing at least 2 2d transfer functions and a 3d transfer function for determining colour and opacity values for voxels.
I have a CT dataset - cthead[k][j][i]
that will give me a voxel intensity at a specific x, y , z position in the dataset.
The opacity transfer function I have now is:
double dfxi = gradientMagnitude(k, j, i);
if (dfxi == 0 && intensity == threshold) {
opacity = 1.0;
} else if (dfxi > 0 &&
intensity <= (threshold + width * dfxi) &&
intensity >= (threshold - width * dfxi)) {
opacity = 1 - (1 / width) * Math.abs((threshold - intensity) / dfxi);
} else {
opacity = 0.0;
}
Now my question is - How do you compute an RGB color through a transfer function? How does that work?
java-8
java-3d
medical-imaging
volume-rendering
0 Answers
Your Answer