An optical 3D sensor provides an additional tool for verification of correct patient settlement on a Tomotherapy treatment machine. The patient’s position in the actual treatment is compared with the intended position defined in treatment planning. A commercially available optical 3D sensor measures parts of the body surface and estimates the deviation from the desired position without markers. The registration precision of the in-built algorithm and of selected ICP (iterative closest point) algorithms is investigated on surface data of specially designed phantoms captured by the optical 3D sensor for predefined shifts of the treatment table. A rigid body transform is compared with the actual displacement to check registration reliability for predefined limits. The curvature type of investigated phantom bodies has a strong influence on registration result which is more critical for surfaces of low curvature. We investigated the registration accuracy of the optical 3D sensor for the chosen phantoms and compared the results with selected unconstrained ICP algorithms. Safe registration within the clinical limits is only possible for uniquely shaped surface regions, but error metrics based on surface normals improve translational registration. Large registration errors clearly hint at setup deviations, whereas small values do not guarantee correct positioning.
Tomotherapy combines a CT scanner with a computer-controlled radiation beam collimation system at the treatment machine [
Nowadays, image guided methods are increasingly used in radiotherapy [
Optical surface sensors hence provide an additional tool for contact-less verification of patient position and are now getting into clinical practice after a long-time development and use for scientific purposes.
Our Tomotherapy HD accelerator unit (Accuray, USA) is combined with an AlignRT (VisionRT Ltd., London, UK) system and consists of two pods laterally positioned corresponding to the virtual isocenter in front of the Tomotherapy bore. The virtual isocenter lies 700 mm outside in front of to the real radiation isocenter of the machine. The distances of the two pods in respect to the virtual isocenter are about 2.0 m. The two pods are tightly mounted at upper ceiling of the treatment room. They are right and left of the Tomotherapy couch. Each of the two units each consists of two cameras (stereo) and a speckle projector producing structured light (Figure
Optical sensor in radiotherapy.
One of two camera-projector units of AlignRT (optical sensor) at the ceiling in treatment room. It consists of a stereo camera and a projector producing structured light by laser speckle in a fixed arrangement
Left and right optical sensors at the ceiling above of the treatment table “look” diagonally downwards at the region of irradiation (isocenter). Standing in front of the treatment machine, the
The units are installed at the ceiling in the treatment room above of the treatment table and in front of the irradiation gantry in such a way that they capture the body surface at the target region (isocenter) diagonally downwards from two directions in order to reduce occluded regions (Figure
An optical sensor of the considered type estimates a distance map related to a measured surface by finding correspondences in images taken from two or more directions by photogrammetric methods [
Optical sensors provide an additional modality to estimate the patient position on the basis of the outer body shape without increasing radiation load. Here we consider the application of the optical sensor without use of additional markers. The surface data captured is therefore a point cloud or a mesh grid corresponding to pixels of the image sensor. In such an unconstrained setting without markers, we just know that a surface point estimated by the optical sensor belongs to some corresponding point of the surface in the voxel image captured for definition of the 3D planning volume. But the exact position of this corresponding point on the surface in this image, which is usually a CT scan, is not directly given. This correspondence can only be estimated out of the form of the reference surface if it is successfully matched with the surface to be tested. In this way corresponding regions are registered and transformation matrices are calculated representing a measure for the deviation between a reference and a test surface.
Two operation modes of the surface sensor are distinguished in clinical practice: the static setup verification of patient (single-frame surface acquisition) and the tracking of patient motion (continuous dynamic surface acquisition mode), for example, caused by respiration [
For real patients, the shape may also have been changed in the static setup phase introducing additional uncertainties in ICP registration. Respiratory motion of a patient surface blurs the registration result which is an additional effect and should not be mixed with the uncertainty of ICP registration. Motion blur in the 3D measurement results may cause additional problems. Our paper therefore considers the static case and shows that even with solid phantoms uncertainties remain depending on the individual shape.
Surface registration assumes that two or more surfaces can be matched by a geometrical transformation. Resulting transformation parameters then describe the deviation between the surfaces for a correct registration. In case of radiotherapy, the optical sensor should ensure that the patient is placed according to the irradiation plan. The desired position is usually defined on basis of the CT data set. If we want to compare a test surface measured by optical sensors with the target position we would have to extract the corresponding surface data out of the CT as a reference. Tomotherapy gives us another option: because a CT is directly available at the treatment machine together with the optical sensor, we are able to bring the patient exactly to the desired position by the CT modality. The surface scan of the optical sensor at this position can be considered as a reference (target position). In later treatment sessions, the memorized reference position can then be used to bring the patient back to the desired position by the measured test surface. Also during the irradiation itself the correct position can be verified by the optical surface scan because, in contrast to CT, optical data are available during the whole treatment.
The alignment of surfaces is much more simple and unique in case of known correspondences between reference and test surface. This assumes that registered
A linear transformation matrix
In general, without fiducial markers, no direct correspondence between points of the surfaces is given and also the number of points to be registered may be different. In this situation, the transformation matrix cannot be determined immediately. In ICP algorithms, the closest point in the reference is considered as the corresponding point of the test surface iteratively adapting the transformation matrix in each iterative step. Sophisticated search strategies exist in order to avoid a complete search between the two surfaces. The transformation in each iterative step does not align the two surfaces perfectly but brings them closer to each other in the converging case.
Registration fails in the case of growing deviation between the two surfaces in the iterative steps. When converging, the registration is terminated by a certain criterion such as size or gradient of the deviation error; that is, a certain registration error generally remains for real measurement data. ICP algorithms perform a local search on the error surface describing the deviation of the actual measurement from the target and estimate translation and rotation matrices as registration parameter. They converge well when a unique error minimum exists, but problems may arise when trapping in side minima occurs. In the latter case, registration is inaccurate or fails completely.
Reference [
ICP algorithms can be divided into different phases. According to [
In general, point-to-plane error metric converges better than the point-to-point error metric [
The ICP algorithm can vary by changing the methods in each step to improve the performance with regard to speed and stability depending on the amount of noise and outliers the algorithm can deal with.
Four different, under BSD license available, ICP implementations in Matlab have been compared with the proprietary software of AlignRT for surface registration of phantoms. We have chosen the same software platform because one criterion was the option to compare the speeds. We assumed that the implementations belong to the most popular ones. They all meet the same general ideas of ICP registration and present the variety of unconstrained methods (without markers or using colors). We found that the four chosen ICP algorithms are well suited to be compared with the method applied by AlignRT. An interesting extension of work would be to include new approaches to point registration such as described in [
Most of the implementations allow choosing among modes and modifying parameters. The best configuration for this experimental setup has been investigated and shown in Table
Reference [
Extensive research has been done on the development of surface sensors. The general ideas are shown in works as [
Reference [
Reference [
Reference [
Reference [
Generally, the AlignRT system is usable on nearly all possible patient regions. Some papers deal with clinical applications of optical sensors to different patient regions. Besides classical patient body region dependent applications, the frame- and mask-less cranial stereotactic radiosurgery is a new application field. The comparison of breath induced surface movements with different registration modalities is subjected to different time constants of the acquisition devices. The verification of DIBH (depth inspiration breath-hold) techniques with optical systems, as the AlignRT system, is a new emerging procedure in the clinical practice.
A feasibility study for the usability of the AlignRT system to frame- and mask-less cranial stereotactic was presented by [
Work [
The possible synchronization of a classical CBCT system with the AlignRT has been shown by [
In order to generate surface data we focused our work on rigid phantoms because we are mostly interested in pure accuracy of the sensor together with the ICP algorithms in the ideal case. The investigated ICP algorithms do not treat shape variations which is a motivation for using solid phantoms instead of real cases. The influence of motion of real human bodies, caused by respiration for instance, is considered by other papers (e.g., [
Because the contour characteristics of a surface is important for a safe registration, specially designed phantoms of different surface types have been investigated. To this end, dedicated phantoms have been designed or selected with a size approximately covering the measurement volume of the optical sensor of about 0.1 m3. In this study, four different phantoms have been measured by the optical sensor in order to generate point clouds for the evaluation of the ICP algorithms.
The phantoms have been coated by white painting or textile to produce a surface that can be well captured by the cameras of the optical sensor when illuminated by the speckle projector. Measured point clouds of these phantoms are shown in Figure
Surfaces of selected phantoms captured by the optical sensor AlginRT showing typical problems of real measurement data: (a) measurement noise and systematic errors; (c) extra points not belonging to the object of interest; (b) and (e) seam from fusing the two surfaces of left and right optical sensors.
Plane
3plane
Bowl (before removing extra points)
Bowl (after removing the extra points)
Torso
The above described ICP algorithms have been tested with surface data of the selected phantoms (Figure
Figure
An example of the AlignRT monitoring screen seen during measurement of the torso phantom and vertical shift of the treatment table
After an initial phase, real-time surface tracking is possible with the AlignRT system. AlignRT system delivers sufficiently fast displacement estimation for most medical indications of about 10 frames per second. Acceptable speed relates mainly to the time needed for an initial alignment which should not exceed about a second in order to be acceptable in clinical routine.
Therefore two requirements result with regard to the speed: the alignment time should not be much longer than a second because more cannot be accepted in clinical routine.
In case of dynamic tracking, the speed demands arise by the typical patient motion to avoid subsampling on the one hand and to ensure that shape variations between two time steps can be neglected for rigid registration. In the ideal case, the registration should be faster than the surface sensor in order to avoid reduction of frame rate.
Rigid transform matrices (translation and rotation) for registration of the reference with the tested position have been estimated by the proposed ICP algorithms and with AlignRT. The investigated implementations specify the resulting coordinate transform for registration by different versions of matrices for homogenous coordinates. For direct comparison, these matrices have been transformed into a single representation for translation and rotation (see [
Translational shift values of registration
Registered translations
Phantom | Shift | Registration | ||||||
---|---|---|---|---|---|---|---|---|
Translation/mm | Rotation/° | |||||||
| | | | | | | | |
| ||||||||
| ||||||||
Plane | 0.5 | | 0.4282 | 0.0087 | 0.5482 | −0.0001 | −0.0012 | 0.0000 |
1.0 | | | 0.4656 | 1.0627 | 0.0000 | −0.0123 | 0.0000 | |
10.0 | | 0.4760 | 0.8346 | 10.0927 | 0.0002 | −0.0022 | −0.0005 | |
20.0 | | 0.0827 | | 20.0975 | −0.0001 | 0.0213 | −0.0007 | |
| ||||||||
3plane | 0.5 | | −0.0100 | 0.1440 | 0.5325 | −0.0000 | 0.0001 | −0.0003 |
1.0 | | −0.0395 | 0.1362 | 1.0882 | 0.0001 | 0.0004 | 0.0001 | |
10.0 | | −0.1475 | 0.1217 | 10.0550 | 0.0003 | 0.0001 | −0.0003 | |
20.0 | | −0.0665 | −0.0903 | 20.9796 | 0.0005 | 0.0012 | −0.0006 | |
10.0 | | −0.1237 | 9.9743 | 0.0157 | 0.0001 | 0.0004 | 0.0001 | |
−10.0 | | −0.1991 | −9.6955 | 0.1602 | 0.0002 | −0.0001 | 0.0004 | |
10.0 | | 9.8886 | 0.3100 | 0.1109 | 0.0013 | −0.0004 | 0.0001 | |
| ||||||||
Bowl | 0.5 | | 0.0749 | 0.0702 | 0.4491 | −0.0006 | 0.0013 | −0.0000 |
1.0 | | 0.0596 | 0.1477 | 0.9348 | −0.0010 | −0.0018 | −0.0011 | |
10.0 | | −0.0084 | 0.0054 | 10.1927 | 0.0061 | 0.0121 | 0.0004 | |
20.0 | | 0.3618 | 0.0843 | 20.0056 | 0.0005 | 0.0382 | −0.0001 | |
10.0 | | −0.1668 | 9.9264 | 0.1325 | 0.0035 | −0.0678 | −0.0033 | |
−10.0 | | 0.0885 | −9.7892 | −0.3034 | 0.0004 | 0.0246 | −0.0006 | |
10.0 | | 9.9217 | −0.0522 | 0.0799 | −0.0014 | −0.0400 | −0.0024 | |
−10.0 | | −9.8553 | 0.1800 | −0.0533 | −0.0005 | 0.0854 | −0.0005 | |
| ||||||||
Torso | 0.5 | | −0.0239 | −0.0895 | 0.5171 | 0.0033 | | |
1.0 | | −0.0986 | −0.1490 | 1.0508 | 0.0022 | | | |
10.0 | | 0.0303 | 0.1723 | 9.9136 | 0.0090 | | | |
20.0 | | 0.0995 | 0.1012 | 19.8599 | 0.0017 | | | |
10.0 | | 0.1819 | 9.9194 | −0.1830 | 0.0009 | | | |
−10.0 | | −0.1553 | −9.5344 | 0.0316 | 0.0020 | | | |
10.0 | | 10.1230 | −0.0174 | −0.0374 | 0.0047 | | | |
−10.0 | | −9.8724 | −0.0488 | −0.0401 | 0.0034 | | | |
| ||||||||
| ||||||||
| ||||||||
Plane | 0.5 | | −0.4031 | −0.1523 | 0.5499 | −0.0001 | −0.0001 | −0.000 |
1.0 | | −0.9254 | −0.2737 | 1.0675 | 0.0002 | 0.0005 | −0.0001 | |
10.0 | | 1.3403 | | 10.0872 | 0.0002 | −0.0015 | −0.0004 | |
20.0 | | | 0.7362 | 20.0891 | −0.0001 | 0.0007 | −0.0008 | |
| ||||||||
3plane | 0.5 | | 0.0023 | −0.1280 | 0.3746 | −0.0005 | 0.0000 | 0.0000 |
1.0 | | −0.0470 | −0.2840 | 0.8252 | −0.0001 | 0.0003 | 0.0001 | |
10.0 | | −1.5692 | −5.8559 | | −0.0125 | −0.0045 | −0.0043 | |
20.0 | | | | | 1.0803 | 0.0014 | −0.0021 | |
10.0 | | 0.0793 | | | −0.0066 | −0.0004 | −0.0003 | |
−10.0 | | −0.1597 | | | 0.0062 | 0.0004 | 0.0006 | |
10.0 | | | −0.0439 | 0.0272 | 0.0002 | 0.0008 | −0.0018 | |
| ||||||||
Bowl | 0.5 | | 0.0818 | −0.0440 | 0.2600 | 0.0009 | 0.0004 | −0.0004 |
1.0 | | 0.0572 | −0.0864 | 0.5162 | 0.0015 | 0.0002 | −0.0004 | |
10.0 | | | −0.2302 | | 0.0087 | 0.0022 | −0.0420 | |
20.0 | | | −0.1217 | 19.0383 | 0.00206 | 0.0035 | −0.0554 | |
10.0 | | −0.2905 | | 0.0682 | 0.0369 | −0.0581 | −0.0027 | |
−10.0 | | 0.2614 | | 0.3671 | −0.0368 | 0.0533 | 0.0006 | |
10.0 | | 9.4381 | −0.4111 | 0.0864 | 0.0023 | 0.0202 | −0.0048 | |
−10.0 | | −9.1155 | 0.5139 | 0.1217 | 0.0004 | −0.0187 | 0.0473 | |
| ||||||||
Torso | 0.5 | | 0.3474 | | 0.1776 | −0.0003 | 0.0003 | −0.0128 |
1.0 | | 0.3474 | | 0.0214 | −0.0012 | 0.0013 | −0.0214 | |
10.0 | | 0.0014 | 0.2854 | 10.4856 | 0.0004 | 0.0018 | −0.0006 | |
20.0 | | 0.2456 | 0.8967 | 20.8858 | 0.0016 | 0.0010 | −0.0012 | |
10.0 | | 0.1391 | | 0.5305 | 0.0032 | −0.0002 | −0.0007 | |
−10.0 | | 0.0276 | −0.7041 | −0.3240 | −0.0025 | 0.0002 | −0.0003 | |
10.0 | | 10.7852 | 0.6038 | 0.0172 | 0.0002 | 0.0026 | −0.0353 | |
−10.0 | | −10.6538 | | 0.2848 | 0.0005 | −0.0080 | 0.0327 | |
| ||||||||
| ||||||||
| ||||||||
Plane | 0.5 | | −0.3951 | −0.1486 | 0.5499 | −0.0001 | −0.0001 | −0.0000 |
1.0 | | −0.8802 | −0.2661 | 1.0675 | 0.0000 | 0.0006 | −0.0001 | |
10.0 | | | | 10.0882 | 0.0002 | −0.0010 | −0.0005 | |
20.0 | | | −0.4494 | 20.0903 | −0.0001 | −0.0040 | −0.0006 | |
| ||||||||
3plane | 0.5 | | 0.0041 | −0.1311 | 0.3722 | −0.0005 | 0.0000 | 0.0000 |
1.0 | | −0.0469 | −0.2864 | 0.8242 | −0.0006 | 0.0003 | 0.0001 | |
10.0 | | −0.0744 | | | −0.0099 | −0.0003 | −0.0039 | |
20.0 | | 0.9315 | | | −0.0134 | 0.0058 | 0.0033 | |
10.0 | | 0.1794 | | | −0.0124 | −0.0004 | −0.0002 | |
−10.0 | | −0.2608 | | | 0.0088 | 0.0009 | 0.0005 | |
10.0 | | | −0.0448 | 0.0321 | 0.0002 | 0.0009 | −0.0018 | |
| ||||||||
Bowl | 0.5 | | 0.0818 | −0.0440 | 0.2600 | 0.0009 | 0.0004 | −0.0004 |
1.0 | | 0.0571 | −0.0831 | 0.5143 | 0.0015 | 0.0003 | −0.0004 | |
10.0 | | | −0.1348 | | 0.0069 | 0.0014 | −0.0393 | |
20.0 | | | −0.1130 | | 0.0056 | 0.0045 | −0.0556 | |
10.0 | | −0.4060 | | −0.0636 | 0.0356 | −0.0402 | −0.0014 | |
−10.0 | | 0.3518 | | 0.2583 | −0.0358 | 0.0521 | 0.0009 | |
10.0 | | | −0.2963 | −0.1059 | −0.0000 | 0.0147 | −0.0470 | |
−10.0 | | | 0.4230 | 0.1382 | 0.0007 | −0.0171 | 0.0477 | |
| ||||||||
Torso | 0.5 | | 0.2920 | 0.4220 | 0.7578 | 0.0005 | 0.0012 | −0.0321 |
1.0 | | 0.2378 | 0.4817 | 1.0779 | 0.0003 | 0.0009 | −0.0315 | |
10.0 | | −0.0037 | 0.2426 | 10.4506 | 0.0001 | 0.0018 | −0.0006 | |
20.0 | | 0.3008 | −0.1655 | | −0.0011 | 0.0022 | −0.0001 | |
10.0 | | 0.1177 | | 0.4367 | 0.0028 | −0.0002 | −0.0004 | |
−10.0 | | 0.0045 | −0.6522 | −0.2843 | −0.0022 | 0.0001 | −0.0001 | |
10.0 | | 10.4139 | 0.4050 | 0.0860 | 0.0004 | 0.0015 | −0.0327 | |
−10.0 | | −10.4768 | −0.6117 | 0.1427 | −0.0003 | −0.0019 | 0.0334 | |
| ||||||||
| ||||||||
| ||||||||
Plane | 0.5 | | 0.0818 | −0.0440 | 0.2600 | 0.0009 | 0.0004 | −0.0003 |
1.0 | | −0.9302 | −0.2768 | 1.0675 | 0.0000 | 0.0005 | −0.0001 | |
10.0 | | | −0.3023 | 10.0866 | 0.0002 | 0.0013 | −0.0008 | |
20.0 | | | 0.7381 | 20.0894 | −0.0000 | 0.0001 | −0.0008 | |
| ||||||||
3plane | 0.5 | | 0.0023 | −0.12880 | 0.3746 | −0.0005 | 0.0003 | 0.0000 |
1.0 | | −0.0470 | −0.2840 | −0.8252 | −0.0060 | 0.0003 | 0.0001 | |
10.0 | | | | | 0.0083 | −0.0080 | −0.0024 | |
20.0 | | | | | −0.0095 | 0.0014 | −0.0021 | |
10.0 | | | | | 0.0079 | 0.0060 | 0.0009 | |
−10.0 | | −0.1596 | | | 0.0062 | 0.0004 | 0.0006 | |
10.0 | | | | | 0.0064 | −0.0053 | −0.0034 | |
| ||||||||
Bowl | 0.5 | | 0.0818 | −0.0440 | 0.2600 | 0.0009 | 0.0004 | −0.0004 |
1.0 | | 0.0527 | −0.0803 | 0.5211 | 0.0016 | 0.0003 | −0.0004 | |
10.0 | | −0.1868 | −0.0644 | 10.2913 | −0.0002 | −0.1752 | 0.0064 | |
20.0 | | 0.6199 | −0.0374 | 20.2321 | 0.0092 | −0.1716 | 0.0172 | |
10.0 | | 0.0319 | 10.0246 | −0.4303 | 0.0058 | −0.1689 | 0.0073 | |
−10.0 | | 0.4347 | −9.4345 | 0.9152 | −0.0312 | −0.1553 | 0.0238 | |
10.0 | | 9.9406 | | 0.6590 | 0.0190 | 0.0004 | 0.0001 | |
−10.0 | | −10.3737 | | 0.3040 | 0.0133 | 0.0020 | −0.0003 | |
| ||||||||
Torso | 0.5 | | 0.3383 | | 0.8076 | 0.0004 | 0.0001 | −0.0128 |
1.0 | | 0.1906 | | 0.9682 | −0.0000 | 0.0000 | −0.0121 | |
10.0 | | 0.0014 | 0.2854 | 10.4856 | 0.0040 | 0.0018 | −0.0006 | |
20.0 | | −0.4539 | −0.3521 | 19.4238 | 0.0008 | 0.0023 | 0.0150 | |
10.0 | | 0.5342 | | 0.3959 | 0.0007 | −0.0020 | −0.0169 | |
−10.0 | | −0.1569 | −8.6553 | 1.2477 | −0.0070 | 0.0020 | 0.0012 | |
10.0 | | 10.4504 | | 0.4949 | 0.0003 | 0.0003 | −0.0131 | |
−10.0 | | −10.2027 | | 0.3930 | −0.0003 | −0.0002 | 0.0120 | |
| ||||||||
| ||||||||
| ||||||||
Plane | 0.5 | | 0.1 | 0.3 | 0.0 | 0.0 | 0.0 | 0.0 |
1.0 | | 0.2 | 0.1 | 0.5 | 0.0 | 0.0 | 0.1 | |
10.0 | | 0.3 | 0.0 | 10.1 | 0.0 | 0.0 | 0.1 | |
20.0 | | 0.2 | | 20.1 | 0.0 | 0.0 | 0.2 | |
| ||||||||
3plane | 0.5 | | 0.0 | 0.1 | 0.5 | 0.0 | 0.0 | 0.0 |
1.0 | | 0.1 | 0.1 | 1.1 | 0.0 | 0.0 | 0.0 | |
10.0 | | 0.0 | 0.2 | 10.2 | 0.0 | 0.0 | 0.0 | |
20.0 | | 0.0 | 0.1 | 20.1 | 0.0 | 0.0 | 0.1 | |
10.0 | | 0.2 | 10.2 | 0.2 | 0.0 | 0.0 | 0.0 | |
−10.0 | | 0.1 | −9.8 | 0.1 | 0.0 | 0.0 | 0.0 | |
10.0 | | 9.8 | 0.2 | 0.1 | 0.0 | 0.0 | 0.0 | |
| ||||||||
Bowl | 0.5 | | 0.1 | 0.1 | 0.5 | 0.0 | 0.0 | 0.0 |
1.0 | | 0.1 | 0.2 | 1.1 | 0.0 | 0.0 | 0.0 | |
10.0 | | 0.1 | 0.2 | 10.0 | 0.1 | 0.0 | | |
20.0 | | 0.3 | 0.3 | 19.9 | 0.1 | 0.0 | | |
10.0 | | 0.2 | 10.3 | 0.2 | 0.0 | 0.1 | | |
−10.0 | | 0.7 | −9.8 | 0.2 | 0.1 | 0.1 | | |
10.0 | | 10.1 | 0.2 | 0.2 | 0.0 | 0.1 | 0.1 | |
−10.0 | | −10.0 | 0.5 | 0.2 | 0.0 | 0.0 | | |
| ||||||||
Torso | 0.5 | | 0.1 | 0.0 | 0.6 | 0.0 | 0.0 | 0.0 |
1.0 | | 0.1 | 0.0 | 1.1 | 0.0 | 0.0 | 0.0 | |
10.0 | | 0.1 | 0.0 | 9.9 | 0.1 | 0.0 | 0.1 | |
20.0 | | 0.2 | 0.1 | 19.8 | 0.0 | 0.1 | 0.1 | |
10.0 | | 0.2 | 10.1 | 0.2 | 0.0 | 0.0 | 0.0 | |
−10.0 | | 0.2 | −9.8 | 0.1 | 0.1 | 0.0 | 0.0 | |
10.0 | | 10.0 | 0.2 | 0.1 | 0.0 | 0.0 | 0.0 | |
−10.0 | | −9.9 | 0.1 | 0.0 | 0.0 | 0.0 | 0.0 |
The total registered rotation is composed by a series of three rotations
We assumed a maximally allowed absolute registration error of
Figure
Residuals of surface pairs shifted by
Plane: all residuals are below
3plane: problems at edges and tilted planes
Bowl: problems at sloping surface parts
Torso: holes at stitching area of the two sensors
Table
Summary of registration success and fail for translations
Algorithm | |||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Wilm | Kroon | Renoald | Bergström | AlignRT | |||||||||||||||||
Motion | | | | rot | | | | rot | | | | rot | | | | rot | | | | rot | |
Phantom | Plane | − | − | + | + | − | − | + | + | − | − | + | + | − | − | + | + | + | − | + | + |
3plane | + | + | + | + | − | − | − | + | − | − | − | + | − | − | − | + | + | + | + | + | |
Bowl | + | + | + | + | − | − | − | + | − | − | − | + | + | − | + | + | + | + | + | − | |
Torso | + | + | + | − | + | − | + | + | + | − | + | + | + | − | + | + | + | + | + | + |
+:
Overall assessment of the tested ICP algorithms.
Property | Algorithm | ||||
---|---|---|---|---|---|
Wilm | Kroon | Renoald | Bergström | AlignRT | |
Closest point search | kd-tree | Full | Full | Full | |
| |||||
Weighting | None | None | None | Distance-based | |
| |||||
Rejection | None | None | None | None | |
| |||||
Error metric | Point-to-plane | Point-to-point | Point-to-point | Point-to-point | Point-to-plane |
| |||||
Minimization | Linearization of rotation matrix | Global search | SVD | Levenberg-Marquardt | |
| |||||
Speedb | + | − | ++ | − − | + |
| |||||
Max. | <1.0 mm | >1.0 mm | >1.0 mm | >1.0 mm | <1.0 mm |
Max. | >0.5° | <0.5° | <0.5° | <0.5° | >0.5° |
aUnknown.
b++: very fast; +: fast; −: slow; − −: very slow.
Table
Main operational principles of the algorithms are summarized; their processing speed and accuracy give information on their suitability for registration of our selected phantoms. Main differences consist in the method for the closest point search, the weighting, the error metric, and the method for minimization. Only Wilm uses kd-tree search which is much more efficient than full search. Only Bergström applies distance-based weighting. None of the open source algorithms includes rejection. Among the open source algorithms, only Wilm uses point-to-plane metric whereas all other apply a point-to-point criterion. The AlignRT registration results look similar to the Wilm implementation. This supports the assumption that similar principles are used by this proprietary program.
The average processing time for each algorithm is also qualitatively given. It varies between fastest processing (which was about a few seconds) and slowest processing (which was about 3 minutes) for the registration by the ICP algorithm on a standard computer (Intel Core i7, 64-bit Windows) in Matlab. A more detailed evaluation of processing speed is not given because we do not expect that the chosen algorithms are implemented in an optimal way. This may be different for the commercial implementation of AlignRT. Renoald performed best with regard to processing speed. Wilm and AlignRT show acceptable speed in the same range. Kroon is slow and Bergström is very slow in the investigated implementation and would not be acceptable in clinical routine.
For offline verification, speed plays a less important role as long as the registration takes only seconds of time. Therefore those implementations indicated by + or
In Table
One observation from the experiments is that the distance of shift does not affect the registration accuracy much. Also the required time for convergence is not really affected, obviously because the algorithms adapt their step size according to the gradient.
Much more important are the structure and curvature of the surfaces to be aligned. With an ambiguous surface the error surface has flat areas where ICP algorithms are likely to stick in a local minimum. Registration fails in this case to align the surfaces [
Wilm’s implementation shows the best results among the studied ICP algorithms for translational registration. The reason for that is obviously the use of the point-to-plane error metric which is the main difference to the other algorithms all failing with the above specified accuracy demands. Interestingly, Wilm fails with rotatory registration for the torso phantom. Possibly the normal parameter of the point-to-plane error metric has disadvantages in this case. Similar happens for the AlignRT implementation, but for the bowl phantom.
In the paper, different unconstrained ICP algorithms have been compared for real (noisy) data produced by an optical sensor as part of a Tomotherapy HD system. Registration has to deal with mainly two difficulties: the deficiencies of the sensor (noise) and the ambiguities resulting from the shape of the measured object. Reference [
The results show that obviously standard ICP algorithms only considering point cloud or surface data are too unreliable to serve as single verification tool of correct patient settlement. Of course, large correction values calculated by ICP registration give a clear hint that positioning is incorrect whereas the opposite case does not hold: as small value is no guarantee for correct alignment. Depending on the curvature of the actually captured surface parts, small ICP registration correction values are estimated even with wrong positioning because the ICP algorithm sticks in local minima. The registration information in parallel to the main orientation of the surface is only helpful in the case of unique surface structure. A safe registration useful for setup correction mostly yields perpendicular to the main orientation of the surface. Therefore, the result of ICP registration can only support the expertise of the clinical personnel as an additional tool for the positioning of the patient with regard to the treatment machine.
To improve the probability of reaching a correct deviation minimum without fiducial markers other variants of ICP algorithm including additional criteria such as colors, normals, and curvatures [
Ongoing work is done on the estimation of confidence values of registration. Depending on curvatures characteristics of the treated regions an estimation of the reliability of a registration could be given. Also alternative registration approaches to surface registration, such as probabilistic methods [
The authors declare no conflict of interests.
Gerald Krell, Nazila Nezhad, and Mathias Walke carried out the experiments, measured and collected the data and analyzed the results, and wrote the manuscript. Ayoub Al-Hamadi and Günther Gademann contributed to the experiments design and to the interpretation of results.