This example extends the DicomImageViewer example. In this example we want to be able to load a DICOM image or series and apply an image filter to the image that is currently displayed. The new code shows how to get the image (or volume) data into ImageViz, how to create a basic filter pipeline and how to bridge the output of the filters back into VolumeViz for display.
There are several ways to present the filtered image to the user. In this example we show one of the simplest ways. We create a main scene graph containing a camera and all our annotation objects, then we create two sub-graphs under an SoSwitch node. The first sub-graph renders the original slice data and the second sub-graph renders the filtered slice data. We handle key press events and toggle between original and filtered data when the user presses the 'F' key (for Filter).
SoVolumeData, SoDataRange, SoOrthoSlice