Using the CBCT module for generic monthly/annual scans

Several people have tried or wanted to try using the CBCT module for scans other than Varian CBCT scans, such as for a monthly scan on their CT scanners. While this is a great evolution of use, some of the original implementations made it hard to do this. The phantom setup was standardized and was limited to Varian as a manufacturer.

In v0.6 I introduced a z_offset attribute for adjusting the phantom location if it wasn’t centered in the scan. This helped, but the analysis still failed disgracefully if the location wasn’t correct. This is understandably frustrating and I decided to improve this design.

Starting in v0.7, the CBCT module will do an automatic search for the HU linearity slice based on HU values (as this slice alone contains both high and low values) upon the image loading, then base offsets from that slice. In this way, the scanner nor manufacturer matters. Furthermore, the physicist doesn’t have to do anything if the phantom is offset from center. This would then be a true plug-and-chug for the physicist with no added information. Of course this depends on how robust the algorithm is to find the HU slice, which is what I’m working on now but I’m reasonably confident it will work (all test cases pass thus far).

Thanks for bearing with me,


Hi James,

That’s a great effort on your part. Automatic detection would be a boon!

I’ll send over our data set so you can give it a shot.