Skip to main content
. 2026 Jul 7;12(7):304. doi: 10.3390/jimaging12070304
Algorithm 1. Proposed muli-frame vignetting correction method
Input: Vignetted images X={Ik}k=1N, polynomial order P, and numerical constant ϵ.
Output: Estimated vignette field V^ and corrected images {Icorr,k}k=1N.
1: Transform each image into the logarithmic domain: Dk=log(Ik+ϵ).
2: Vectorize Dk and construct D=[d1,…,dN].
3: Estimate the shared low-rank component by solving D=L+S, where L=v1T.
4: Reshape v to obtain the initial vignette field B0(x,y).
5: Smooth B0 and fit a polynomial of order P to obtain B^(x,y).
6: Recover the multiplicative vignette field: V^(x,y)=exp(B^(x,y)).
7: Calculate the correction gain G(x,y)=1/(V^(x,y)+ϵ).
8: Correct each frame: Icorr,k=clip(IkG,0,Lmax).
9: Return V^ and {Icorr,k}k=1N.