Вы находитесь на странице: 1из 8

NDT&E International 37 (2004) 271278

www.elsevier.com/locate/ndteint

Adaptive CT scanningmesh based optimisation methods for industrial


X-ray computed tomography applications
J. Hofmann*, A. Flisch, A. Obrist
Swiss Federal Laboratories for Material Testing and Research, EMPA, Department of Electronics/Metrology,
Ueberlandstrasse 129, 8600 Duebendorf, Switzerland
Received 21 July 2003; revised 3 October 2003; accepted 15 October 2003

Abstract
We present new methods to optimise industrial computed tomography (CT) scanning process. The methods were applied on CT systems
with high-energy X-ray tube sources (.400 keV)using cross-sectional images for volume digitalisation. Commonly the distances between
all cross-sectional slices for volume data acquiring are constant. We developed a new adaptive CT scanning method, which optimises the
location of the cross-sectional images with respect to object geometry. The optimisation strategy depends on the statistical evaluation of
object mesh models (e.g. STL from CAD). We developed a software prototype that implements the new methods. First tests, applied on
commercial objects, lead to a reduction in number of necessary slices of up to 50%. The accuracy of the digital volume model formed by the
adaptive scanning method is comparable to the one retrieved by the equidistant scanning method.
q 2003 Elsevier Ltd. All rights reserved.
Keywords: Adaptive computed tomography; Mesh-based optimisation; First article inspection; Volume digitalisation

1. Introduction
X-ray computed tomography (CT) is a well-known and
established technology in medicine. Main application areas
of industrial X-ray CT scanners are detection of flaws and
cavities, analyses of pores and morphology of objects.
Today, CT is the only non-destructive technology that
provides a 100% three-dimensional inspection of complex
parts. Common industrial CT systems are rotate (Fig. 1),
translate-rotate (Fig. 2) and volume (cone-beam) scanners.
Data acquisition with cross-sectional CT scanners is rather
slow compared to volume CT systems. On rotate conebeam CT systems reconstruction of the images from CT raw
data is more complex and time consuming than on rotate
and translate-rotate CT systems [1,2], but today, with high
performance computing, no limiting factor. However,
volume CT systems, despite of fast data acquisition, are
less suitable on objects requiring a high-energy X-ray
source (about 400 450 keV) for penetration, because image
quality produced by cross-sectional CT systems is higher
* Corresponding author. Tel.: 41-1-823-45-73; fax: 41-1-823-45-79.
E-mail address: juergen.hofmann@empa.ch (J. Hofmann).
0963-8695/$ - see front matter q 2003 Elsevier Ltd. All rights reserved.
doi:10.1016/j.ndteint.2003.10.002

compared to images obtained by volume CT scanners.


Therefore, we will not consider volume CT systems here.
In order to minimize the disadvantage of slow data
acquisition of cross-sectional CT scanners, we developed a
new adaptive scanning method. This method depends on the
analysis of geometric elements of meshes, which can be
extracted for instance from a CAD model. Applying the
method, we are able to build up an accurate digital volume
model, while the total number of necessary cross-sectional
slices is reduced. This method may be applied to rotate CT
(Fig. 1) and translate-rotate CT systems (Fig. 2).
A rather new application area of CT scanners is the
checking of dimensional accuracy of complex mechanical
objects. For such applications, a point cloud is generated
from the digitalised volume of the object based on the crosssectional slices. The resulting point cloud will be compared
with the CAD model of the object. First article inspection
[3] and rapid prototyping [4] are main fields of application
of the newly introduced method. Especially for translaterotate CT scanners, we developed a method to optimise the
length of path of the translation motion of a CT scanner. The
method is based on the shape of the object model, its shape
geometry will be determined with the help of the object
mesh model.

272

J. Hofmann et al. / NDT&E International 37 (2004) 271278

Fig. 1. Rotate CT scanner. The object is rotated one time per slice and is
then moved vertically. The beam must span the entire width of the object.

Fig. 3. Contour line model of a surface. The distances between the slices are
constant. Regions around the extreme value and saddle points are less
approximated.

The tangent vectors ~ru u0 ; v0 and ~rv u0 ; v0 span a tangent


plane at the point P0 :
Fig. 2. Translate-rotate CT scanner. Used for extended objects. The object
is rotated and then passed through the X-ray beam.

2. Resolution adaptive scanning method


2.1. Basic principles
Standard CT scanning process is done with equidistant
slice spaces (see Fig. 3). At a local extremum or a saddle
point, the volume is less accurately approximated by the
cross-sectional slices. If we want to increase the accuracy,
we have to refine the spatial resolution. Since slice spacing
is constant, the total number of slices is enlarged by a
constant factor.
Figs. 3 and 4 demonstrate the relationship between
spatial resolution and derivatives of the surface. The larger
the directional derivative in x- and y-direction, the higher is
the spatial resolution of the surface representation approximated by constant distance contour lines. The directional
derivative in x and y can be used to define a tangential plane
and a normal vector at a point P0 on the surface. Eqs. (1)
(3) describe surface and normal vector in generalised
surface coordinates u; v:
The radius vector representation of a surface is
~ru; v xu; v~i yu; v~j zu; vk~

~ ~ru ~rv
N
l~ru ~rv l

~ is normal vector of the tangent plane.


N
Now we will explain how the normal vector description
~ y of a surfaceas shown in Fig. 4can be applied in
Nx;
order to examine the sequence of cross-sectional slices.
We define the following prerequisites:
The surface is described in CT scanner coordinates with
x; y; z; the rotation-axis of the CTs object manipulator
and z-axis are parallel and the incidence direction of the
X-ray light is perpendicular to the z-axis.
Then the slice densityor contour line densityis
evaluated as a function of the angle u defined by the scalar
~ and a vector along the z-axis.
product of the normal vector N

Tangent vectors with v v0 ; u u0 at a point P0 u0 ; v0 :


~rv u0 ; v0

xu0 ; v0 ~ yu0 ; v0 ~ zu0 ; v0 ~


i
j
k
v
v
v

~ru u0 ; v0

xu0 ; v0 ~ yu0 ; v0 ~ zu0 ; v0 ~


i
j
k
u
u
u

Fig. 4. Tangential plane on a smooth surface.

J. Hofmann et al. / NDT&E International 37 (2004) 271278

273

Fig. 5. Flowchart of RAS algorithm.

The next step is the transition from an analytical and


smooth to a polygon-meshed surface assembled by
triangles. Triangle based meshes are the basis of the
stereo lithography (STL) format. This format describes a
set of facets; each of them consists of the vertices of the
triangles and their associated normal vectors. We can
directly use these normal vectors to evaluate the slice
density.
The STL format is supported by almost all CAD systems.
All further discussions and calculations in this paper will be
based on STL meshes.

2.2.2. Slicing of mesh (STL) data


In the next step, we cut the mesh model into N virtual
equidistant slices, because the database for all further
processing is the collected geometry information of the
facets belonging to a slice. We define a facet belonging to
the slice Sk with the spacing Dzmin at the height z if the
search criteria described in Fig. 6 and Eq. (4) are satisfied.
Some facets may be a member of more than one slice and
add a contribution to every affected slice. Dzmin is equivalent
to the lowest z resolution used for the CT scanner as well as
the low limit of the mapping-range used for resolution
adaptive scanning (RAS) (see Section 2.2.4).
zmax $ ztop ^ zmin # zbottom

2.2. Algorithm

_ztop $ zmax $ zbottom


The algorithm has the following sequence (Fig. 5).
A detailed description of these modules will be given
below.
2.2.1. Registration of the object
Alignment of STL model and physical objectfixed on
the CT scanner manipulatoris a prerequisite for the next
steps in the process applied on the mesh. That means the
STL data have to be transformed into CT scanner
coordinates so that the physical object and the model will
fit. The coordinate transformation is performed as a
sequence of matrix multiplications [5]. Rotation matrices
Rx u; Ry u; Rz u and translation matrix Tdx ; dy ; dz are
applied to all geometric elements of the mesh model (facets
and normal vectors of the STL).

_ztop $ zmin $ zbottom


_ztop $ zmin $ zbottom ^ ztop $ zmax $ zbottom

2.2.3. Weighting
All slice-wise collected facets described in Section 2.2.2
are used as basic input of the investigation handled in this
section. First, we will show the principles of weighting
calculation on a single facet. The relevant parameters are
shown in Fig. 7.
Now we introduce a weighting factor to quantify the
contribution of a single facet to the statistical evaluation of
the slice density as we see later. We note that the smaller the
angle u between the normal vector and the direction in z-axis
the more slices are necessary. The projection angle u is used

Fig. 6. Slicing; description of criteria for facet selection in connection with Eq. (4).

274

J. Hofmann et al. / NDT&E International 37 (2004) 271278

more weight on their assigned facets. The weighting function


in Eq. (8) will be extended by a secondsmall feature
term to Eq. (9). This additional term wumin should depend
only on the smallest angle umin found within the slice k: Pavg
and Pa are used to parameterise the average and the smallest
angle term of the weighting function.
The weighting factor for a slice k is
Wk

N
Pavg X
wuk;i Pa wuk;min
N i1

where uk;i with i 1; 2; ; N are the normal vector angles


(projection to z-axis) in the slice k:
The parameters are determined empirically. We have
started to classify types of geometric object features to
estimate the parameters.

Fig. 7. Resolution adaptive scanning; description of the basic geometric


parameters.

to determine the weighting factor wu for a single slice as


cosu

n~~z
l~n~zl

Dzadaptive madaptive Wk 2 Wmin zmin

and

wu

8
>
>
>
<

1
sinu

>
>
>
:

1
; u # uthres ^ uthres . 0
sinuthres

with madaptive
6

with 0 # u # 908 (due to symmetry of the problem, we map


u to the first quadrant).
A threshold value uthres is introduced to avoid divergence
of the function for u ! 0: We estimate the lowest bound of
uthres to


voxelz
uthres $ arctan
7
dmax
where voxelz is the size of a voxel (voxel was introduced as
digital representation of volume images in analogy to pixel
applied on two-dimensional images) in z-direction and dmax
is the diagonal of the image frame defined by the CT system.
Smaller angles cannot be resolved by the CT scanner.
In real STL models, we have more than one facet within a
slice k; therefore an average weighting factor Wk is
introduced in Eq. (8).
Wk

2.2.4. Mapping
The result of Section 2.2.3 is an array of 1,,N
weighting values (along z-axis with step size Dzmin ; N is
the total count of slices). Based on the weighting values Wk
we define a linear function for the adaptive slice spacing
mapping. For every slice Sk we calculate the mapping value
Dzadaptive as

N
1 X
wuk;i
N i1

with N being the total number of facets within the slice k:


Wk of a sliced object model can be used to detect prominent
edges which are perpendicular to the x-axis. However, small
features may be less weighted and blurred out with applying
Eq. (8). If we want to accentuate small features, we have to put

10

zmax 2 zmin
Wmax 2 Wmin

All weighting values Wk of the slices will be mapped


linearly to an interval Dzmin ; Dzmax : The minimal weighting value Wmin is mapped to the minimum slicing distance
(see Section 2.2.2) Dzmin and the maximum value Wmax
is mapped to Dzmax ; values within the interval will be
linearly interpolated. All values of Dzadaptive are binned with
Dzmin and rounded to the next closing nDzmin value n [
{1; 2; 3; }: Dzadaptive is a multiple of Dzmin Dzadaptive n
Dzmin with nDzmin # Dzmax : The resulting Dzadaptive will be
packed in a list of discrete z values ordered with z kDzmin
k 1; ; N: The mapped slice spacing values are
arranged in an associative array as presented in Table 1.
2.2.5. Merging and smoothing
At this stage of the process, every slice along the z-axis
of the object has an adaptive spacing value Dzadaptive
assigned, but the sampling rate along the z-axis is still
Dzmin : Therefore, equal and adjacent Dzadaptive values have
to be merged. Furthermore, all values will be smoothed,
because adjusting the CT X-ray position to an object is
Table 1
Mapping of adaptive slice spacing using an associative array
, z-locationlDzadaptive .
Slice k
z-location
Dzadaptive

1
z1
#
Dz1

2
z2
#
Dz2

k
zk
#
Dzk

N21
zN21
#
DzN21

N
zN
#
DzN

J. Hofmann et al. / NDT&E International 37 (2004) 271278

275

Fig. 8. Example of calculated adaptive slice spacing Dzadaptive 1; ; N along z-axis. Input for smoothing algorithm.

not 100% exact and if we want to fit an edge well, we


have to make sure to catch it by a scan slice. A solution to
this problem is to scan not only at the edge with a higher
resolution, but also in its surrounding. That means we
have to add cross-sectional slices at this z-location.
Now we want to present the smoothing algorithm in
detail. Two cases have to be considered. The first handles
slice distance at the boundary; the second the inner slices of
the object.
We define the bandwidth BW-used for smoothing-to n
forward and n backward slices around k with the interval
k 2 n; k n n [ {1; 2; 3; }:
At the boundary (slice number 1 and N; see Fig. 8) of the
object (top and bottom), we set the slice distance for n 1
slices to Dzmin :
Inside the object, we describe the algorithm starting at
the slice position k (see slice list layout in Fig. 8).
(1) We define the position i k and the control variable
m 0 and m [ {0; 1; 2; 3; }: Within k 2 n; k n
m; we search for the smallest value of Dzadaptive
Dzadap-min : Searching in the interval k 2 n; k n m
is repeated whereby m is incremented by 1 for every
iteration; the termination condition is Dzadap-min #
m 1Dzmin : After termination, we obtain the adaptive z-location at the position zadaptive zi ; with i
k m 1:
(2) Starting point of the next, outer, iteration is k; with k i:
Then again, the inner iteration (1) is applied. The outer
iteration is terminated if k $ N 2 n 2 1 (boundary).

the translation is determined by the maximum radius of


the object, with reference to the coordinate centre of the
object manipulator. We save length of path used for
the translation motion if the actual length of path given by
the shape of the object at the height z is used. We name the
stack of slices built by the actual radii along the z-axis of an
object (radial) shape. The shape information can be
extracted from the mesh (CAD-STL) of an object.
3.1. Algorithm
We cut the triangle mesh of the object into N slices.
The arrangement of these slices can either be the list of
z-locations retrieved from the resolution adaptive methodology or z-locations generated by equidistant subdivision of the object. Collecting of triangle objects within a
slice is described in Section 2.2.2. For every slice zk we
are searching the maximum radius rmax-enclose of the facets
vertices (Fig. 9). The origin of the coordinate system

The output of the algorithm above is a list with the


new, adaptive z-locations of the cross-sectional slices.
Smoothing can be controlled by the bandwidth BW.
However, broadening the bandwidth will also enlarge the
number of slices.

3. Shape adaptive scanning


An additional optimisation method can be applied to
translate-rotate CT systems. The length of path of

Fig. 9. Shape adaptive scanning method; evaluation of the object enclosing


radius at a slice k:

276

J. Hofmann et al. / NDT&E International 37 (2004) 271278

is the rotation centre of the part manipulator


of the CT system. The result is a stack of wrapping
cylinders arranged along z-axis with the radii rk and
heights lzk1 2 zk l:
The radius at zk can be used to control the actual
necessary translation path of the CT system of the slice Sk
(height zk of the object). The total length of path Lsaved of an
object saved with N slices is
Lsaved 2

N
X

rmax 2 rk

11

k1

rmax is the maximum enclosing radius calculated for all


slices; rk is the maximum enclosing radius at the current
slice Sk at the height zk :

4. Results
First, we will present computed data (applied on STLmeshes), resulting from a software prototype implementing
RAS and shape adaptive scanning (SAS) method. In a
second step, we use these output data to control the CT
scanning process (adaptive cross-sectional slice sequence).
At last, the results from conventional-equidistant slice
distance-CT scanning are compared to those applying
adaptive scanning method.
4.1. Computed results of virtual (meshed) objects
4.1.1. Shape adaptive method
Computed results based on mesh (STL) data will be
shown here. Fig. 10 visualises the computed output of the
shape adaptive method. We used as input a z-location list,

Fig. 11. Cube with drilled holes (STL model).

which was generated by RAS scanning method. We see


that the T-bar is enclosed by cylinders with two diameters
dmin and dmax : These two diameters can be used to control
and optimise the CT translation motion applied to this
object.
4.1.2. Resolution adaptive method
The application of the resolution adaptive method will be
demonstrated on a simple object as shown in Fig. 11.
Fig. 12 shows the position of the calculated scan slices in
the area around a drilled hole. The two edges at the top and
at the bottom of the drilled hole will be approximated by a
higher slice density. The expected behaviour of the RAS
algorithm is validated.
4.2. RAS method applied on an industrial part

Fig. 10. SAS method based on RAS results; two diameters dmin and dmax are
calculated, which can be used to control and optimise the CT translation
motion.

The object model above illustrates the mode of action of


the algorithm. Now, results on a more complex real
industrial part (Fig. 13) using RAS will be presented. The
STL-model was pre-processed using the RAS method; the
computed outputa geometry adaptive list of scan slice
positions along the z-axiswas used as input to control the
CT scanning process. The interface pre-processor of RAS
and CT is based on data exchange via ASCII files. Tests of
RAS and equidistant slice CT scanning method were being
performed on the object shown in Fig. 13. A test procedure
was applied, which avoids (minimises) the deviations
caused by external tools and applications. Hence, the object
was scanned by the CT with a constant slice distance of
0.2 mm. The stack of these cross-sectional slices was used
as a reference and basis data set, used for all further
calculations. RAS algorithm was applied to calculate the
location of the cross-sectional slices of the object; all

J. Hofmann et al. / NDT&E International 37 (2004) 271278

277

constant and adaptive data sets were subsets of the 0.2 mm


constant data set. The comparisons between the point clouds
were processed using the 0.2 mm based point cloud as
reference. Point cloud comparisons and the resulting
deviation reporting were carried out with the software
package CADcompare 6.0w.
Application parameters
CT
Type:

fan beam geometry; rotation scanning; line detector


Energy X-ray tube: 425 keV
Flux: 2.1 mA
Voxel Dx; Dy; Dz : 0.3, 0.3, 0.2 mm
Number projections: 900
Fig. 12. RAS method applied on a drilled hole; the mode of action of
adaptive slicing is demonstrated.

specified slices were extracted from the reference stack.


A second, 0.4 mm constant distance scanning data set was
generated by extracting every second slice from the
reference stack. Point clouds were generated from the
cross-sectional slices of all three (0.2 mm, RAS, 0.4) data
sets. Equidistant and adaptive cross-sectional slice data sets
were processed to point clouds applying methods of image
processing as thresholding and segmentation [6 8]. Due to
implementing the procedure above, no registration (alignment) of the point clouds was necessary, because the 0.4 mm

RAS
Slicing distance: 0.2 mm
Pavg : 1.0
Pa :
3.0
Mapping range: 0.2 1.2 mm
Threshold angle: 108
Bandwidth n : 2

A summary of point cloud comparisons is presented in


Table 2; reference point cloud is based on 0.2 mm constant
slice spacing data. The values are produced by METRIS
CADcompare 6.0w software.

Fig. 13. CAD model of the test object.

278

J. Hofmann et al. / NDT&E International 37 (2004) 271278

Table 2
Comparison of point clouds (reference 0.2 mm point cloud)
Methodology

Equidistant 0.4 mm

Resolution adaptive

Average deviation (mm)


Minimum deviation (mm)
Maximum deviation (mm)
Range (mm)
Total # of slices
Total # of slices (%)
(comparison to 0.4 mm)
Sub volume # of slices
Sub volume # of slices (%)
(comparison to 0.4 mm)

0.002156
20.416058
0.135148
0.551205
327
100.0

0.000204
20.123582
0.173115
0.296697
166
50.6

175
100.0

108
61.7

the accuracy is higher if applying RAS than using 0.4 mm


constant slice scanning. Additionally about 38% of slices in
the sub volume (region of interest) and 49% in the total
volume were saved.
We have to remark that the RAS method may fail if the
surface of object is rough; in the sense that the normal
vectors of adjacency facets vary strongly over the whole
object. Then Wk is almost equal for every slice k and
adaptive slicing is not applicable.
We tested the RAS method on different commercial
(industrial) parts. Therefore, we can state that the resolution
adaptive scanning method is applicable for a wide range of
industrial parts. Further, the reduction in number of
necessary cross-sectional slices for a mechanical part is
typically in the range of 10 50% compared to the commonly
used equidistant slice scanning method (distance between 0.4
and 0.8 mm). The accuracy using RAS is comparable to or
better than using constant slice spacing, but RAS is not
efficient for objects with randomly structured surfaces.

Acknowledgements
We would like to thank the Federal Office for Education
and Science of Switzerland and the European Commission
for funding the work within the fifth framework project
FATIMA ( First Article Tomography Inspection Methodology Advancement).We would also like to thank
Bombardier-Rotax GmbH in Austria to make a realistic
industrial object available for CT scanning and grant to
publish results based on that object.

References
Fig. 14. Deviation map of point clouds equidistant 0.2 mm versus resolution
adaptive scanning; comparison shows sparse regions with deviations
smaller than ^0.075 mm.

5. Conclusions
The deviations map in Fig. 14 displays results of the
comparison between a point cloud based on a 0.2 mm
constant slice spacing distance and a point cloud based on
the RAS method. The calculation is restricted to the region
of interest shown in Fig. 13. The 0.2 mm reference point
cloud is defined to be 100% accurate. The comparison
shows sparse regions with deviations smaller than
^ 0.075 mm. However, RAS needs only about one-third
of the slices compared to 0.2 mm slice distance in this sub
volume. CT scanning with 0.2 mm constant slice distance is
inapplicable for extended objects, because of the long
scanning time and the high costs involved. The common
range of values used for constant slice spacing CT scanning
is between 0.4 and 0.8 mm. As we gather from Table 2,

[1] Kak AC, Slaney M. Principles of computerized tomographic imaging.


New York: IEEE Press; 1988. p. 75107.
[2] Feldkamp LA, Davis LC, Kress JW. Practical cone-beam algorithm.
J Optical Soc Am A 1984;1:612 9.
[3] Obrist A, Hofmann J, Flisch A, Wirth J. First article inspection based
on industrial X-ray computed tomography. Proceedings, Material
Testing and Research (MAT), May, Nuremberg, Germany; 2001.
p. 177 80.
[4] Flisch A, Wirth J, Zanini R, Breitenstein M, Rudin A, Wendt F, Mnich F,
Golz R. Industrial computed tomography in reverse engineering
applications. DGZfPProceedings BB 67-CD Paper 8, Computerized
Tomography for Industrial Applications and Image Processing in
Radiology, March 15 17, 1999, Berlin, Germany.
[5] Foley JD, van Dam A, Feiner SK, Hughes JF. Computer graphics:
principles and practice, 2nd ed. Reading, MA: Addison-Wesley; 1990.
p. 213 26.
[6] Gonzales RC, Woods RE. Digital image processing, 2nd ed. Englewood Cliffs, NJ: Prentice-Hall; 2002. p. 595 610.
[7] Glasbey CA. An analysis of histogram-based thresholding
algorithms. CVGIP: Graph Models Image Process 1993;55(6):5327.
[8] Obrist A, Flisch A, Hofmann J. Point cloud reconstruction with subpixel accuracy by slice-adaptive thresholding of X-ray computed
tomography images. NDT&E international; 2003. In press.

Вам также может понравиться