next up previous
Next: Opacity function generation Up: Histogram volume calculation Previous: Implementation

Subsections


Histogram volume inspection

In Section 4.2 we stated that if there are boundaries in the original dataset that conform to our boundary model, there should be curves like that of Figure 3.8 in the histogram volume. We now verify this fact by looking at histogram volumes from datasets known to contain boundaries. Although one may be tempted to volume render the histogram volume from various viewpoints in order to visualize its content, this turns out to be difficult and unrevealing due to the speckled nature of the histogram volume. A better way to visualize histogram volumes is to project them along either the first or second derivative axis. This produces two dimensional scatterplots of data value versus first derivative, or data value versus second derivative, as were seen in 4.2(c).

Figure 4.4: Dataset cross-section and histogram scatterplots for cylinder. A cross-section of the dataset is shown in (a), illustrating that there is only one boundary in the volume, with the two material values tagged $ v_1$ and $ v_2$. (b) is a projection of the histogram volume showing the relationship between $ f$ and $ f'$; (c) likewise shows the relationship between $ f$ and $ f''$. In both (b) and (c) the data values $ v_1$ and $ v_2$ are indicated on the $ f(x)$ axis.
\begin{figure}
\setcounter {subfigure}{0}
\centering {
\psfrag{v1}[tc]{\h...
...g {figure=eps/cyl-th3.proj-vc.high.eps,
width=0.3\textwidth}}
}
\end{figure}

We start by looking at synthetically generated datasets, beginning with a simple dataset-- a cylinder like that of Figure 3.4. Figure 4.4(a) shows the cylinder in cross-section. The histogram volume is then projected along the $ f''$ axis to produce a $ f'$ versus $ f$ scatterplot (Figure 4.4(b)) and along the $ f'$ axis to produce a $ f''$ versus $ f$ scatterplot (Figure 4.4(c)). In these scatterplot images, the data value and its derivatives are oriented on the axes as they were in Figure 4.2 to facilitate comparison. The darkness in the scatterplots encodes the number of hits for a given (value, gradient) pair-- the darker, the more hits. These scatterplots conform closely to the curves that were seen in Figure 4.2(a).

As a second verification of our discussion, and as a demonstration of the utility of the histogram volume to capture information about objects' boundaries, we analyze a second synthetic dataset which contains two materials distinct from the background.

Figure 4.5: Dataset cross-section and histogram scatterplots for two material cylinder. (a) is a cross-section of the data, (b) and (c) are projections of the histogram volume showing $ f'$ versus $ f$ and $ f''$ versus $ f$, respectively. As there are three distinct values $ v_1$, $ v_2$, $ v_3$ in the dataset, with a boundary between each pair of values, there are three curves in the scatterplots. The curves start and end at the three data values $ v_1$, $ v_2$, and $ v_3$, indicated on the $ f(x)$ axis.
\begin{figure}
\setcounter {subfigure}{0}
\centering {
\psfrag{v1}[tc]{\h...
...{figure=eps/shell-th3.proj-vc.high.eps,
width=0.3\textwidth}}
}
\end{figure}

Figure 4.5(a) shows the dataset in cross-section. An outer shell with an intermediate data value ($ v_2$) surrounds an inner shell with a high data value ($ v_3$), and the core is the same as the background value ($ v_1$). Hence there are three boundaries. This fact is also revealed in Figure 4.5(b) and Figure 4.5(c) by the presence of three curves, one for each boundary.

Now we look at histogram volumes for real datasets, starting with a CT scan of a turbine blade6. As the blade is made of a single kind of metal, we would expect to find a single boundary indicated by the histogram volume or its projections.

Figure 4.6: Dataset cross-section and histogram scatterplots for turbine blade. The cross-section (a) shows that there is only one boundary. This is supported by the scatterplots of $ f'$ versus $ f$ (b) and $ f''$ versus $ f$ (c).
\begin{figure}
\setcounter {subfigure}{0}
\centering {
\psfrag{v1}[tc]{\h...
...g {figure=eps/blade-crop-b1.vc.high.eps,
width=0.3\textwidth}}
}
\end{figure}

Figure 4.6 illustrates this. The two large dark spots in the histogram projections arise from the large regions of nearly constant value within the air or the metal. The curves are the result of the boundary between the two, and their shape matches those of Figure 4.4, indicating a good match between the properties of an ideal boundary, and the actual properties of this dataset. Another exemplary dataset is the engine block CT scan first seen in Figure 1.1.

Figure 4.7: Dataset cross-section and histogram scatterplots for engine block. The cross-section in (a) shows that there are three kind of material, tagged with $ v_1$, and $ v_2$, and $ v_3$. We can also see that like the nested cylinders in Fig. 4.5, there is a boundary between every pair of values. Though not especially clear, the scatterplots of $ f'$ versus $ f$ (b) and $ f''$ versus $ f$ (c) support this.
\begin{figure}
\setcounter {subfigure}{0}
\centering {
\psfrag{v1}[tc]{\h...
...ps/engine-crop-b1-rsmp.proj-vc.high.eps,
width=0.3\textwidth}}
}
\end{figure}

Figure 4.7 shows a dataset slice and the two scatterplots for the engine dataset. The most prominent boundary curve is for the transition from the background value ($ v_1$) to the intermediate value ($ v_2$), which comprises the majority of the engine block's interior. A fainter curve is discernible between the intermediate value ($ v_2$) and a high value ($ v_3$). Finally, a very faint and diffuse curve is evident arching over the other two boundaries, spanning from the background value ($ v_1$) to the highest value ($ v_3$). It makes sense that these last two curves should be so much fainter than the first, because, as we can tell from looking at the image of the dataset cross-section, the surface area of the boundary between the background value and the intermediate value is much greater than the area of either of the other two boundaries. Thus, there are fewer voxels contributing to corresponding curves on the scatterplot.

Figure 4.8: Dataset cross-section and histogram scatterplots for neuron. The cross-section of the data (a) shows that there is no one constant value either inside or outside the neuron, though two data values $ v_1$ and $ v_2$ have been tagged and indicated on the $ f(x)$ axes of the $ f'$ versus $ f$ (b) and $ f''$ versus $ f$ (c) scatterplots. The neuron boundary seen in the cross-section is irregular because a range of values occur on either side of the boundary. Correspondingly, the scatterplots are much more diffuse than for previous datasets. However, the scattering of hits still roughly conforms to the over-all shape of the curves we are looking for.
\begin{figure}
\setcounter {subfigure}{0}
\centering {
\psfrag{v1}[tc]{\h...
...ramidal-crop-b1.thesis.proj-vc.high.eps,
width=0.3\textwidth}}
}
\end{figure}

We finish with Figure 4.8 which shows the scatterplots for one of the CMDA neuron datasets, generated by electron microscope (EM) tomography. Unlike the previous datasets, there is no obvious evidence of clean boundaries in the scatterplots, only the vague shape of the curves we are looking for. The main for reason for this is that CT scans provide a better match to our assumed ideal boundary characteristics than does electron microscope tomography. It is these EM datasets, where the boundary is less than ideal, which will be the most severe test of the algorithms developed in this thesis.

It should be noted that a related technique has been used in computer vision for feature identification. Panda and Rosenfeld [PR78] use two dimensional scatterplots of data value and gradient magnitude to perform image thresholding for night vision applications. They, however, do not assume a particular boundary model, instead limiting their analysis of the scatterplot to identifying particular distributions within regions of low and/or high gradient magnitude.

Techniques for scatterplot visualization

The techniques which have made possible the display of the various scatterplots shown so far should be described in greater detail, since the process for scatterplot visualization has a large effect on how informative they are. We use the first derivative versus data value scatterplot for the turbine blade as our example.

Figure 4.9 illustrates how simple approaches to scatterplot display are not effective. In Figure 4.9(a), a linear mapping was used to determine gray level from the number of hits in the scatterplot. The problem is that the image is too faint because the number of voxels in the background material (air) overwhelms the number of voxels everywhere else. This can be alleviated somewhat with a gamma correction (Figure 4.9(b)), but important detail within the boundary region curve is not visible.

Figure 4.9: Methods for scatterplot visualization. In (a), the mapping from number of voxels accumulated to gray level is linear. The dark spot in the lower left represents the voxels within background material, air. In (b), a gamma correction of $ 0.22$ was applied to make the image darker, but detail is still lacking. (c) shows the result of applying histogram equalization to (a), and (d) shows the result of following histogram equalization with a gamma correction of $ 3.0$.
\begin{figure}
\setcounter {subfigure}{0}
\psfrag{v}[bl]{\hspace{1.5pt}\ra...
...psfig {figure=eps6/blade/take3.high.eps, width=0.35\textwidth}}
}
\end{figure}

To solve this problem we have use a standard contrast enhancement technique from image processing called histogram equalization7[GW93]. Histogram equalization flattens the histogram of the gray levels in an image, so that all gray levels are utilized approximately equally. Figure 4.9(c) shows the result of histogram equalization on Figure 4.9(a). This is an improvement, but since the image is now too dark, we apply a gamma correction of $ 3.0$ to make the image lighter. The fine structure with the boundary curve region of the scatterplot is now visible. The amount of gamma correction applied after histogram equalization was chosen by hand for each of the different datasets shown in this thesis.


Footnotes

... blade6
Dataset courtesy of GE Corporate Research and Development
... equalization7
The fact that the image we are processing in this situation is itself a histogram is not especially meaningful or important.

next up previous
Next: Opacity function generation Up: Histogram volume calculation Previous: Implementation