3D Startshot

Tasks in Code

Contributor: Robert Corns, M.D.

A 3D Starshot is a method to locate all three axes of rotation of a linear accelerator. Knowing this information is critical for Stereotatic Radiosurgy, which requires the axes be less than 1 mm from each other. The technique is an extension of the 2D Starshot but differs in that the film is wrapped on a cylinder and then exposed to rotating radiation slits. The patterns on the exposed film are used to relate to where the radiation slits are in 3 dimensions and subsequently where each axis of rotation is. The computer code performs these basic tasks: 1) Read the film image and binarize it. We are interested in the row/column (c,r) of each TRUE-valued pixel. 2) Decide which of these pixels belong to which slit exposure. 3) Treating the (c,r) for a particular slit as point coordinates, determine either the best fit line or sinewave to that data. 4) The best fit curve information is now purely geometrical and we are interested in where all the curves intersect. Technically these do not intersect at a single point and what we want is to find the smallest circle that touches each curve. 5) The exposure patterns come in pairs, typically where the radiation enters the cylinder and where it leaves. That gives two circles and the line connecting their centers is the axis of rotation. Do this for all three rotations and we get 3D presentations of the axes that can be compared. 6) The last step in the code finds the point in 3D that is as close as possible to each axis line. There are 3 point-to-line distances, the largest of which is our test statistic. Namely is this distance less than 1 mm. The screenshot below shows this algorithm pictorially.

Click to Download for Free


Language: English

Size: 28 kB

Software Format: MATLAB




Internet Connection Needed: Yes to download

Publication: https://aapm.onlinelibrary.wiley.com/doi/full/10.1002/acm2.13623