4.7BlurðŸ”—â„¹

 procedure(flomap-gaussian-blur fm xσ [yσ]) → flomap fm : flomap xσ : Real yσ : Real = xσ
Returns fm convolved, per-component, with an axis-aligned Gaussian kernel with standard deviations and .

If perfect Gaussian blur is not important, use flomap-blur instead, which approximates Gaussian blur closely and is faster.

Examples:
 > (flomap->bitmap (flomap-gaussian-blur (flomap-inset fm 12) 4)) > (flomap->bitmap (flomap-gaussian-blur (flomap-inset fm 12 3) 4 1))

 procedure fm : flomap σ : Real
Returns fm convolved, per-component and per-row, with a Gaussian kernel with standard deviation σ.

If perfect Gaussian blur is not important, use flomap-blur-x instead, which approximates Gaussian blur closely and is usually much faster.

Example:
 > (flomap->bitmap (flomap-gaussian-blur-x (flomap-inset fm 12 0) 4))

 procedure fm : flomap σ : Real
Like flomap-gaussian-blur-x, but per-column instead of per-row.

Returns fm convolved, per-component, with a box kernel with radii x-radius and y-radius. The radii are of the largest axis-aligned ellipse that would fit in the box.

Examples:
 > (flomap->bitmap (flomap-box-blur (flomap-inset fm 4) 4)) > (flomap->bitmap (flomap-box-blur (flomap-inset fm 4 1) 4 1))

Returns fm convolved, per-component and per-row, with a box kernel with radius radius.

Example:
 > (flomap->bitmap (flomap-box-blur-x (flomap-inset fm 4 0) 4))

Like flomap-box-blur-x, but per-column instead of per-row.

 procedure(flomap-blur fm xσ [yσ]) → flomap fm : flomap xσ : Real yσ : Real = xσ
Returns approximately the result of (flomap-gaussian-blur fm ).

Gaussian blur, as it is implemented by flomap-gaussian-blur, is O( + ) for any fixed flomap size. On the other hand, flomap-blur is O(1) for the same size.

Examples:
> (define gauss-blur-fm (time (flomap-gaussian-blur fm 12)))

cpu time: 676 real time: 180 gc time: 21

> (define blur-fm (time (flomap-blur fm 12)))

cpu time: 310 real time: 84 gc time: 12

 > (flomap-extreme-values (fmsqr (fm- gauss-blur-fm blur-fm)))
 0 0.00317217

 procedure(flomap-blur-x fm xσ) → flomap fm : flomap xσ : Real
Like flomap-blur, but blurs per-row only.

 procedure(flomap-blur-y fm yσ) → flomap fm : flomap yσ : Real
Like flomap-blur, but blurs per-column only.