# fuzzy_perimeter (Operator)

## Name

`fuzzy_perimeter` — Calculate the fuzzy perimeter of a region.

## Signature

`fuzzy_perimeter(Regions, Image : : Apar, Cpar : Perimeter)`

## Description

The operator `fuzzy_perimeter` is used to determine the differences of fuzzy membership between an image point and its neighbor points. The right and lower neighbor are taken into account. The fuzzy perimeter is then defined as follows: where MxN is the size of the image, and u(x(m,n)) is the fuzzy membership function (i.e., the input image). This implementation uses Zadeh's Standard-S function, which is defined as follows: The parameters a, b and c obey the following restrictions: is the inflection point of the function, is the bandwith, and for x = b holds. In `fuzzy_perimeter`, the parameters `Apar` and `Cpar` are defined as follows: b is .

## Attention

Note that for `fuzzy_perimeter`, the `Regions` must lie completely within the previously defined domain. Otherwise an exception is raised.

## Execution Information

• Multithreading type: reentrant (runs in parallel with non-exclusive operators).
• Automatically parallelized on tuple level.

## Parameters

`Regions` (input_object)  region(-array) `→` object

Regions for which the fuzzy perimeter is to be calculated.

`Image` (input_object)  singlechannelimage `→` object (byte)

Input image containing the fuzzy membership values.

`Apar` (input_control)  integer `→` (integer)

Start of the fuzzy function.

Default value: 0

Suggested values: 0, 5, 10, 20, 50, 100

Typical range of values: ```0 ≤ Apar ≤ 255``` (lin)

Minimum increment: 1

Recommended increment: 5

`Cpar` (input_control)  integer `→` (integer)

End of the fuzzy function.

Default value: 255

Suggested values: 50, 100, 150, 200, 220, 255

Typical range of values: ```0 ≤ Cpar ≤ 255``` (lin)

Minimum increment: 1

Recommended increment: 5

Restriction: `Apar <= Cpar`

`Perimeter` (output_control)  real(-array) `→` (real)

Fuzzy perimeter of a region.

## Example (HDevelop)

```* To find a Fuzzy Entropy from an Image
fuzzy_perimeter(Trans,Trans,0,255,Per)
```

## Result

The operator `fuzzy_perimeter` returns the value 2 (H_MSG_TRUE) if the parameters are correct. Otherwise an exception is raised.

`fuzzy_entropy`