| Literature DB >> 28163773 |
Gerald Krell1, Nazila Saeid Nezhad1, Mathias Walke2, Ayoub Al-Hamadi1, Günther Gademann2.
Abstract
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.Entities:
Mesh:
Year: 2017 PMID: 28163773 PMCID: PMC5253513 DOI: 10.1155/2017/2938504
Source DB: PubMed Journal: Comput Math Methods Med ISSN: 1748-670X Impact factor: 2.238
Figure 1Optical sensor in radiotherapy.
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.
Figure 2Surfaces 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.
Figure 3An example of the AlignRT monitoring screen seen during measurement of the torso phantom and vertical shift of the treatment table s (z) = 10 mm. The reference surface is shown in pink and the measured surface in green. The suggested linear translations (vertical, lateral, and longitudinal) and rotations (yaw, pitch, and roll) are shown by numbers and colored bars on the left together with the RMS value (called magnitude MAG). The white graph is used to display a time series of the RMS values (not used in our experiment).
Registered translations , , and and rotations , , and from the investigated sample implementations of the ICP algorithm for the tested phantoms plane, 3plane, bowl, and torso and treatment table shifts s in different directions d = {x, y, z}. Translations with an absolute translational registration error |e trans| > e trans max = 1 mm and rotations with an absolute registration error e rot > e rot max = 0.5° are marked boldface.
| 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 | |
Figure 4Residuals of surface pairs shifted by s = 10 mm in direction d = z of the studied phantoms captured by the optical sensor AlginRT and aligned by the Wilm approach.
Summary of registration success and fail for translations (x, y, z) and rotation (rot); + denotes success when the specified misalignment threshold is deceeded and, otherwise, labels the failing when the threshold is exceeded.
| Algorithm | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wilm | Kroon | Renoald | Bergström | AlignRT | |||||||||||||||||
| Motion |
|
|
| rot |
|
|
| rot |
|
|
| rot |
|
|
| rot |
|
|
| rot | |
| Phantom | Plane | − | − | + | + | − | − | + | + | − | − | + | + | − | − | + | + | + | − | + | + |
| 3plane | + | + | + | + | − | − | − | + | − | − | − | + | − | − | − | + | + | + | + | + | |
| Bowl | + | + | + | + | − | − | − | + | − | − | − | + | + | − | + | + | + | + | + | − | |
| Torso | + | + | + | − | + | − | + | + | + | − | + | + | + | − | + | + | + | + | + | + | |
+: |e trans| < e trans max and |e rot| < e rot max; −: |e trans| > e trans max and |e rot| > e rot max.