Objective Function:
Ψ(x)=21∥∑ixi−bH∥2+λChem∑i(1Txi−biTlog(xi+ϵ))+λTV∑i∥xi∥TV
Inputs:
bH∈Rnx×ny→ HAADF Micrograph (Image Dimensions: nx×ny)
bC∈Rne×nx×ny→ Raw Chemical Maps (Total # of Elements: ne)
Niter=30→ Number of Main Cost Function Iterations
NiterTV=3→ Number of Total Variation (TV) Iterations
ϵ=0.2→ Background Noise Threshold
λHAADF=ne1→ HAADF Weight
λChem=0.08→ Data Consistency Weight, Ranges from 0 to 1
λTV=0.15→ Regularization Weight, Ranges from 0 to 1
γ=1.6→ Incoherent Linear Imaging factor
Output:
x∈Rne×nx×ny→ Concatenated Vector of Recovered Maps
Main Function:
- Initialize first iterate as raw elemental maps xi0=bC
- For k=1 to Niter:
- xk=xk−1−(λHAADF∇Ψ1(xk)+λChem∇Ψ2(xk))
- For i=1 to ne:
- xik=TV_FGP_2D(xik,λTV,NiterTV) or TV_GP_2D(xik,λTV,NiterTV)
- End for
- End for
- Return xNiter
Definitions:
∇Ψ1(x)=−γdiag(x−1)AT(bH−Axγ)
∇Ψ2(x)=1−b⊘(x+ϵ)
⊘ is element wise division