Routines (alphabetical) > Routines: M > MORPH_THIN

# MORPH_THIN

The MORPH_THIN function performs a thinning operation on binary images. The thinning operator is implemented by first applying a hit or miss operator to the original image with a pair of structuring elements, and then subtracting the result from the original image.

This routine is written in the IDL language. Its source code can be found in the file `morph_thin.pro` in the lib subdirectory of the IDL distribution.

## Syntax

Result = MORPH_THIN ( Image, HitStructure, MissStructure )

## Return Value

In typical applications, this operator is repeatedly applied with the two structuring elements, rotating them after each application, until the result remains unchanged.

## Arguments

### Image

A one-, two-, or three-dimensional array upon which the thinning operation is to be performed. The image is treated as a binary image with all nonzero pixels considered as 1.

### HitStructure

A one-, two-, or three-dimensional array to be used as the hit structuring element. The elements are interpreted as binary values — either zero or nonzero. This structuring element must have the same number of dimensions as the Image argument.

### MissStructure

A one-, two-, or three-dimensional array to be used as the miss structuring element. The elements are interpreted as binary values — either zero or nonzero. This structuring element must have the same number of dimensions as the Image argument.

Note: It is assumed that the HitStructure and the MissStructure arguments are disjoint.

## Keywords

None.

## Version History

5.3 | Introduced

## See Also

DILATE, ERODE, MORPH_CLOSE, MORPH_DISTANCE, MORPH_GRADIENT, MORPH_HITORMISS, MORPH_OPEN, MORPH_TOPHAT