Skip to content

Custom detector coordinates and or list mode reconstruction

villekf edited this page Mar 11, 2021 · 4 revisions

PET data

Rather than use the built-in functions for the creation of the detector coordinates and all the other necessary variables, the user can input their own coordinates. This can be also used to reconstruct list-mode data, i.e. a list of coincidence events. Custom detectors can be input to the options struct as variables x (options.x), y (options.y) and z (options.z), where the first two correspond to the transaxial coordinates and the last to the axial coordinates. If the coordinates correspond to sinogram data, the input measurement data should be a sinogram. If you use reconstructions_main function for image reconstruction, the measurement data should be input to options.SinM variable. You can use the custom detectors to also create the forwardBackwardProject class object. For more information on the use of the class object, see List-mode reconstruction/custom detectors.

An example of list-mode reconstruction and custom detectors for both reconstructions_main and forwardBackwardProject class is presented in the file Inveon_PET_main_listmode_example.m. For custom sinogram data or list-mode reconstruction, you can also use main_PET.m.

CT data

The built-in functions in OMEGA assume that you are using fan or cone beam CT with flat panel detector. Use of fan or cone beam is determined by the number of "columns" in the detector, i.e. those with more than 1 column are cone beam. Parallel beam is not supported at the moment. Step-and-shoot is possible as outlined in Inveon_CT_main.m, but spiral or helical is not available at the moment.

In case your system does not correspond to any of the presented above, you need to input the source and detector coordinates manually. This works similarly to PET data in that you should input the data to the options struct as x (options.x), y (options.y) and z (options.z) variables. The first two correspond to the transaxial coordinates and the third to the axial coordinates. Each coordinate needs to be a coordinate pair, with the first column corresponding to the detector (or source) and the second to the source (or detector). The total number (numel) of the coordinates should be twice the total number of measurement points. Axial coordinates should be always positive, but transaxial coordinates can be negative as well (e.g. centered on origin).

You can use the custom detectors to also create the forwardBackwardProjectCT class object. For more information on the use of the class object, see Computing the forward and/or backward projections.