[PYTHON] Repeated weighted reduction method

The Iteratively Reweighted Shrinkage (IRS) that was in the sparse book of the Machine Learning Professional series seemed to be easy, so I incorporated it into the successive approximation image reconstruction.

For more information on the iterative weighted reduction method http://www.amazon.co.jp/スパース性に基づく機械学習-機械学習プロフェッショナルシリーズ-冨岡-亮太/dp/4061529102

There are many ways to incorporate regularization into the successive approximation image reconstruction, but I used Green's One Step Late (OSL) algorithm, which is the simplest.

For more information on OSL http://www.maths.bris.ac.uk/~mapjg/papers/spect-TMI90.pdf

The source code used in the experiment is https://github.com/kibo35/reconstruction/blob/master/MAP/osl.py

Experimental result

The count per slice is 2M. The image size is 160 x 160. The successive approximation is 10 main iterations, 10 subsets. The FBP filter is ramp.

The index is the square mean square error (RMSE) with the phantom image. The parameters are appropriate, but ...

osl.png

filter is the half width of the Gaussian filter used for smoothing. β is a constant that adjusts the strength of the regularization term.

profile.png

The OSL-IRS has a flat image that looks like L1 regularization. The pixel value in the white area on the outer edge of the phantom does not drop, and the inside of the phantom is flat.

Recommended Posts

Repeated weighted reduction method
Weighted Random Extraction: Walker's Alias Method (Python)