CurvatureFlowFilter

CurvatureFlowFilter[image]

applies a mean curvature flow filter to image.

CurvatureFlowFilter[image,t]

specifies the amount of curvature flow time t to be applied.

CurvatureFlowFilter[image,t,k]

applies the curvature flow with a modified conductance term parametrized by k.

Details

  • Curvature flow filtering is an anisotropic diffusion method used for smoothing images while preserving edges. It effectively spreads the curvature along a contour, thereby rounding corners and reducing the Euclidean length of contours.
  • CurvatureFlowFilter implements a Euclidean shortening filter.
  • CurvatureFlowFilter works on 2D grayscale or multichannel images, operating on each channel separately.
  • The diffusion in a curvature flow filter runs parallel to the image contours. Diffusion perpendicular to the contours is omitted in order to preserve edges.
  • The effect of CurvatureFlowFilter does not depend on the overall normalization of the image values.
  • The conductance parameter k can take any positive value. The default value k= renders the unmodified curvature flow filter.
  • CurvatureFlowFilter[image] is equivalent to CurvatureFlowFilter[image,1,].
  • CurvatureFlowFilter applies the partial differential equation partial_tf=kappa TemplateBox[{{del , f}}, Abs] with the contour curvature kappa= del . (del f)/(TemplateBox[{{del , f}}, Abs]) to every image channel .
  • In CurvatureFlowFilter[image,t], t parametrizes the evolution of the curvature flow and thereby the spatial range of the filter.
  • If a parameter k is supplied, the curvature flow partial_tf=TemplateBox[{{del , f}}, Abs]del .c_k(TemplateBox[{{del , f}}, Abs]) (del f)/(TemplateBox[{{del , f}}, Abs]) with a modified conductance term c_k(TemplateBox[{{del , f}}, Abs])=ⅇ^(-|del f|^2/k^2) is used.

Examples

open allclose all

Basic Examples  (1)

Diffusing an angiography image:

Scope  (4)

Data  (2)

Filtering of grayscale image:

Filtering of multichannel image:

Parameters  (2)

Specify the amount of diffusion:

Specify the conductance term:

Applications  (6)

Remove salt-and-pepper noise:

Remove Gaussian color noise from an image:

Remove smaller circles from the image:

Use a CurvatureFlowFilter to remove smaller stars from an astronomical image:

Unsharp masking using CurvatureFlowFilter:

Smooth the image before converting it to a vector graphic:

Properties & Relations  (1)

CurvatureFlowFilter returns an image of a real type:

Wolfram Research (2010), CurvatureFlowFilter, Wolfram Language function, https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html.

Text

Wolfram Research (2010), CurvatureFlowFilter, Wolfram Language function, https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html.

BibTeX

@misc{reference.wolfram_2021_curvatureflowfilter, author="Wolfram Research", title="{CurvatureFlowFilter}", year="2010", howpublished="\url{https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html}", note=[Accessed: 24-September-2021 ]}

BibLaTeX

@online{reference.wolfram_2021_curvatureflowfilter, organization={Wolfram Research}, title={CurvatureFlowFilter}, year={2010}, url={https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html}, note=[Accessed: 24-September-2021 ]}

CMS

Wolfram Language. 2010. "CurvatureFlowFilter." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html.

APA

Wolfram Language. (2010). CurvatureFlowFilter. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/CurvatureFlowFilter.html