Skip to content

Using custom gradient based priors

villekf edited this page Jan 20, 2021 · 2 revisions

This page details on how to use custom gradient-based priors with custom_prior_test_main.m.

Using custom gradient-based priors

The workflow in using custom_prior_test_main.m is very similar to that of gate_main.m. However, unlike in gate_main, you can't perform data load/sinogram creation. These operations need to be done in gate_main if necessary. As in gate_main, you need to specify the specific machine, sinogram/raw data properties, corrections, etc. Only implementations 1 and 2 are available for custom prior reconstruction.

The user will be prompted to load the measurement data from a mat-file (load_custom_data). Supports either raw list-mode data or sinogram data. For both cases either trues or prompts can be used. The input data in case of raw data needs to be named either true_coincidences (trues) or coincidences (prompts). For the sinogram case, SinTrues and SinM, respectively.

The custom_prior_prepass phase needs to be completed before any reconstructions.

The last section contains the actual custom prior reconstruction phase. The provided example computes the MRP-reconstruction as a custom prior in the one-step-late OSEM algorithm. Though the custom prior can be used in OSL-MLEM, BSREM, MBSREM, ROSEM-MAP, RBI-MAP and OSL-COSEM as well. PSF reconstruction and deblurring can be applied as well.

Your prior needs to be gradient-based and possible to compute without any need for the modification of forward and/or backward projections. It should be simply possible to include the gradient of the prior straight to the MAP-algorithms. The strength of the regularization parameter can be set after the properties for non-local means (look for Custom prior properties).

Issues

Implementation 2 may not work optimally for all algorithms as testing has been limited so far. MBSREM/COSEM-OSL, for example, may not produce same results on implementation 2 as with implementation 1. Currently, implementation 1 is recommended for custom prior computations when using algorithm other than OSEM-OSL.

Clone this wiki locally