Enhancing Diffusion's on 2D Images
LeftInvariantDerivatives[os, derivativeIndex] | computes the left-invariant derivatives from os (ObjPositionOrientationData)using a finite differences method. |
LeftInvariantDerivatives[os,{σs,σo},derivativeIndex] | computes the left-invariant derivatives from os using the Gaussian scales σs and σo |
OrientationScoreTensor[os,derivativeIndex] | construct tensor derivativeIndex from os using the defined Gaussian σs and σo |
OrientationScoreTensor[os,{σs,σo},derivativeIndex] | construct tensor derivativeIndex from os using a finite differences method |
OrientationScoreGaugeFrames[os,{σs,σo}] | construct Gauge frames from os usins the Gaussian scales σs and σo |
OrientationScoreTransform[data] | constructs an orientation score from data |
Functions used for enhancing diffusion's.
Left Invariant Hypo-elliptic Diffusion
Initialization
Construct orientation scores
The effective parameters (based on the grid size)
The diffusion constants relative to the
ξ-normalized geometry
The corresponding diffusion time (to reach the desired standard deviations)
Perform Diffusion in the Left-Invariant Frame
Function to compute left-invariant finite differences gradient
Perform diffusion with update step (u=u+dt*div(M
ξ-1.D.M
ξ-1.
∇u)), note that the
are due to the intrinsic geometry
Gauge Frames CEDOS
Initialization
Compute Gauge Frames
Compute left-invariant Hessian
Perform
ξ conversion to match
Function for converting the tensor (in left-invariant frame)
Compute the tensor in the gauge frame and compute the orientation confidence (Laplacian in plane perpendicular to the main direction)
Adaptive diffusion constants
Perform Diffusion along the Gauge Frames
Eq. (72) Franken Duits IJCV
Helper function for computing the divergence of an orientation score object
Perform diffusion with Tschumperl
é–Deriche trace based update step (update via the Hessian)
Left Invariant CEDOS