I am reading about the non-linear (or non-homogenous) diffusion method (aka anistropic diffusion method). There are several ways of implementing this method. In all cases, we first need to discretise the non-linear diffusion equation

\begin{align} \frac{\partial I(x, y, t)}{\partial t} &= \mathrm{div} \left( c(x, y, t) \nabla I(x, y, t) \right) \label{eq:anisotropic-diff} \end{align}

using finite differences to approximate the partial derivatives. For example, we can use the central difference to approximate the partial derivatives of the gradient of the image and then we can use a forward or backward difference to approximate the partial derivative of the image with respect to time (on the left-hand side of the equal sign).

After using these finite differences approximations, the non-linear diffusion method derives from the approximation of the equation above, which is used as an update rule of an iterative algorithm.

I came across the additive operator splitting (AOS) method (proposed by Weickert). I understand that first the equation above is discretised and then formulated in matrix form

\begin{align} \boldsymbol{f}^t = (\boldsymbol{I} - \Delta t (\boldsymbol{A} \boldsymbol{f}^{t-1} ))^{-1} \boldsymbol{f}^{t-1} \nonumber \\ \end{align}

where $\boldsymbol{f}^t$ is the image at time step $t$, $\boldsymbol{I}$ the identity matrix, $\Delta t$ is a time step and $\boldsymbol{A}$ is matrix, whose definition I've not understood. How is this matrix $\boldsymbol{A}$ defined?

How is the previous matrix formulation equivalent to the following discretisation of the diffusion equation above?

\begin{align} f(x, y, t) = f(x, y, t - \Delta t) + \Delta t ( &c_E (x, y, t) \nabla_E f(x, y, t) + \nonumber \\ &c_W (x, y, t) \nabla_W f(x, y, t) + \nonumber \\ & c_N (x, y, t) \nabla_N f(x, y, t) + \nonumber \\ & c_S (x, y, t) \nabla_S f(x, y, t)) \end{align}

where $\nabla_E f(x, y, t)$ is the approximative directional derivative of the image $f$ in the east direction and $c_E (x, y, t)$ is the diffusion coefficient/function in the east direction.

  • $\begingroup$ do you mean "additive operator splitting" or "additive operator shifting"? The equation you have at the bottom appears to me to be a direct application of Euler's Forward Method, but with two terms for the $y$-axis and two terms for the $x$-axis differential terms. i do not see any reason, in a continuous-time and space application why $c_E (x, y, t) \nabla_E f(x, y, t)$ and $c_W (x, y, t) \nabla_W f(x, y, t)$ cannot be teamed up into a single term. $\endgroup$ – robert bristow-johnson Jun 2 at 6:04
  • $\begingroup$ @robertbristow-johnson Sorry, I meant "splitting" (not shifting). $\endgroup$ – nbro Jun 2 at 11:38

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.