Optimizer parameters and figures of merit

Hello Kajal,

The -opti-stat option will output several image-based information for each image update (iterations or subsets). Namely, the mean voxel value and standard deviation over all voxels in the new image estimation (New image estimate line), and the same figures of merit for the difference image between the new image estimation and the previous one (Image update step line). Just to let you know, you can also configure the output number format (scientific/fixed format, and precision ) with the option -onbp.

The first lines display the initial parameters of the optimizer you use (MLEM by default). The data space denominator threshold if the threshold under which estimated forward values are discarded (it is used to avoid division by 0, and could be modified if you have low-stat data, leading to very low forward-projeted values). It is used during the data updates ( iOptimizerMLEM::DataSpaceSpecificOperations() ). Minimum (and Maximum) update factors are some thresholds used for the same purposes during the image data step ( iOptimizerMLEM::ImageSpaceSpecificOperations() ). All these parameters can be modified in the command-line options (using -opti MLEM,a,b,c,d where a,b,c,d are the initial image value, denominator threshold, minimum image update and maximum image update values respectively), or directly in the MLEM configuration file in config/optimizer/.

The -opti-fom option computes some data-space based figures of merit, such as log-likelihood and RMSE. As these are computed from the data and forward model estimation for each bin, this option is restricted to histogram data. There is currently no implementation of image-based figures of merit besides global mean and standard deviation computations, however it should be quite straightforward to implement some in the vOptimizer class (by creating and initializing a variable following the example of mp_imageStatMean in vOptimizer.hh and vOptimizer.cc files, then implementing its behavior in the vOptimizer::ImageUpdateStep() function and outputing the result).

Hope this helps !

Best regards,

Thibaut