Skip to main content
. Author manuscript; available in PMC: 2017 Aug 1.
Published in final edited form as: Med Image Anal. 2016 May 16;32:243–256. doi: 10.1016/j.media.2016.05.008

Algorithm 1.

FORNI

Input: Diffusion weighted signals {Sm(q1),,Sm(qK)}m=1M; baseline signals {S0m}m=1M without diffusion weighting; diffusion gradients {q1, …, qK}; size of parallel processing: Np; the tensor basis {Di}i=1N and their PEVs {vi}i=1N; maximum number of iterations tmax; the initialization of FOs {Wm0}m=1M computed from Landman et al. (2012); the iteration number starts from t = 1;
Output: Mixture fractions {fm}m=1M and FOs {Wm}m=1M
1: Compute the attenuation matrix G: Gki=e-qkTDiqk
2: Compute {ym}m=1M:ym=(Sm(q1)/S0m,,Sm(qK)/S0m)T: ym = (Sm(q1)/S0m, …, Sm(qK)/S0m)T
3: Initialize FOs: {Wm}m=1M:={Wm0}m=1M
4: while ttmax do
5: for a=0:MNp-1 do
6:   parfor b = 1 : min(Np, MaNp) do
7:    m := aNp + b
8:    for all basis directions vi do
9:      Rm(i):=nNmwm,nmaxj=1,,Wnvi·wn,j
10:    end for
11:     {um,p}p=1Um:={viiiandarccos(vi·vi)π180°θR:Rm(i)Rm(i)}
12:    for i = 1 : N do
13:      Cm,i:=(1-αmaxp=1,,Umvi·um,p)/(minq=1,,N(1-αmaxp=1,,Umvq·um,p))
14:    end for
15:    Solve Eq. (17) to obtain f^mt
16:     fm:=f^mt/f^mt1
17:   end parfor
18:   for b = 1 : min(Np, MaNp) do
19:    m := aNp + b
20:    𝒲m := {vi|fm,i > fth, i = 1, …, N}
21:   end for
22: end for
23: t := t + 1 until convergence
24: end while
25: return {fm}m=1M nd {Wm}m=1M