next up previous
Next: Engine Block: Effectiveness of Up: Results Previous: Results


Turbine Blade: Effect of dataset blurring

We start with the ``turbine blade'' dataset, a CT scan of a propeller blade from the engine of a fighter jet. The turbine blade itself is only about three inches tall. The dataset is available from GE Corporate Research and Development10. The raw data consists of unsigned 16-bit values; for this analysis it was quantized to eight bits by linearly scaling the range 0 - 8612 to 0 - 255 and then clamping values above 255. The voxels in the original data are not isotropic; in the Z direction, along the length of the blade, the sample spacing was half that in the X-Y plane. The data was down-sampled in the X-Y plane by blurring slightly with the following cubic polynomial kernel $ h(x)$, shown in Figure 6.1, and then sampled at every other data point.

$\displaystyle h(x) = \left\{ \begin{array}{ll} \frac{1}{2}\vert x\vert^3 - \ver...
...{for $1 < \vert x\vert \le 2$} \\  0 & \mbox{otherwise} \\  \end{array} \right.$ (21)

Figure 6.1: Cubic spline used prior to down-sampling
\begin{figure}
\psfrag{bingo}[bl]{$h(x)$}
\psfrag{x}[l]{\hspace{5pt}$x$}
\cen...
... {
\epsfig {figure=eps6/blade/spline.eps,
width=0.5\textwidth} }
\end{figure}

Figure 6.2: Analysis of turbine blade dataset
bladeinfo.gif

A close-up of a slice of the downsampled dataset, as well as the usual scatterplots are shown in Figures 6.2(a-c). The histogram volume was computed using the Hessian second derivative measure, at a resolution of $ 256^3$. The scatterplots show the curves which indicate the presence of a boundary between the two major material data values, but the curves do not quite have the shape of those for an ideal boundary. In the scatterplot of first derivative versus data value, for example, (Figure 6.2(b)), we can see that the boundary curve is slightly wider and more rounded than the more pointed parabolic shape of the ideal curve, like that seen in Figure 4.2(a).

Figure 6.3: Gaussian kernel used for blurring. The standard deviation $ \sigma $ is 0.75
\begin{figure}
\psfrag{bingo}[bl]{$b(x)$}
\psfrag{hapos}[l]{\hspace{5pt}$x$}
...
...ing {
\epsfig {figure=eps6/blade/blur.eps, width=0.5\textwidth} }
\end{figure}

To demonstrate that judicious blurring of the dataset causes the boundaries to better match the boundary model, we convolve along each axis with the normalized Gaussian kernel $ b(x)$ seen in Figure 6.3, and then calculate a new histogram volume. As a result of the blurring, the curves in both scatterplots are closer to the ideal shape. However, as is visible in Figure 6.2(d), creating a better match to the boundary ideal reduced some clarity in the fine detail of the dataset.

Figures 6.2(g) and 6.2(h) show plots of $ g(v)$ and $ h(v)$ as calculated from the histogram volume of the blurred dataset. Their form is consistent with the fact that there is a single boundary: at the data value half-way between the values for air (approximately 10) and metal (approximately 175), $ g(v)$ has a single peak and $ h(v)$ has a zero-crossing. The plot of $ g(v)$ illustrates the $ g_{thresh}$ quantity which originated in Section 5.2. Within the range of values for air and metal, the gradient magnitude is not zero because of slight measurement noise. $ g_{thresh}$ is set (by hand) to the value of gradient magnitude within the materials, as indicated in Figure 6.2(g) with a dotted line. Next, two calculations of $ p(v)$ (with Equation 5.10) are plotted. Figure 6.2(i) shows $ p_0(v)$ calculated without the $ g_{thresh}$ modification described in Section 5.2 and defined in Equation 5.10. Figure 6.2(j), showing $ p_{gt}(v)$ calculated with the indicated $ g_{thresh}$, is a much better match to the curve we would expect for a distinct boundary. It is clear that an appropriate setting for $ g_{thresh}$ is important for making $ p(v)$ accurately reflect position within the boundary.

Having obtained an appropriate $ p(v)$ function, it is now easy to obtain a rendering of the dataset which shows only the surface of the turbine blade. Figure 6.5(a) shows the boundary emphasis function $ b(x)$ used, which strives to makes the opaque boundary region about five units thick (where one unit is the length of a voxel edge). The opacity linearly ramps up to 0.8 at the middle of the boundary, and is 0.0 at 2.5 units on either side of the middle. Figure 6.5(b) shows the opacity function $ \alpha (v)$ calculated (with Equation 5.11) from the $ p_{gt}(v)$ and $ b(x)$ just described. As we would expect for a nearly ideal boundary, the opacity function mirrors the triangular shape of the boundary emphasis function. Since the specified $ b(x)$ is highest at $ x=0$, $ \alpha (v)$ is highest for the data value $ v$ such that $ p(v) =
0$, which is approximately 89.

A minor problem with the analysis performed so far is that the $ \sigma $ calculation was not optimal. According to Equation 5.8, with the $ g(v)$ and $ h(v)$ calculated, $ \sigma = 1.284$ for this dataset, implying a boundary thickness of $ 2\sigma = 2.568$. Judging from the cross-section seen in Figure 6.2(d), this may be plausible. However if we inspect the result of applying the opacity function $ \alpha (v)$ to the same piece of the cross-section in Figure 6.5(c), it does not look like the thickness of the opaque boundary region is five voxels, as prescribed by the $ b(x)$ used. It was found that a boundary emphasis function which makes the opaque boundary region any thinner led to a rendering with gaps in the surface. Rendered surface quality is also a problem when trying to visualize the unblurred version of the dataset, since its boundary region is so thin. Using the $ b(x)$ shown with the blurred dataset, however, the rendered surface seen in Figure 6.5(d) appears smooth and solid. By making the maximum opacity in $ b(x)$ only 0.8, instead of 1.0, we can see the support struts inside through the outer surface of the blade. For comparison, Figure 6.4 shows a slice through the blade which reveals the position of the struts inside.

Figure 6.4: Cross-section of blade showing struts
\begin{figure}
\centering {
\epsfig{figure=eps6/blade/slice.high.eps,
width=0.3\textwidth} }
\end{figure}

Figure 6.5: Rendering the turbine blade dataset
bladerend.gif



Footnotes

... Development10
For information contact Bill Lorensen, lorensen@crd.ge.com

next up previous
Next: Engine Block: Effectiveness of Up: Results Previous: Results