Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

fibermetric

Enhance elongated or tubular structures in image

Syntax

B = fibermetric(A)
B = fibermetric(A,thickness)
B = fibermetric(___,Name,Value)

Description

example

B = fibermetric(A) enhances elongated or tubular structures in intensity image A using Hessian-based multiscale filtering. The image returned, B, contains the maximum response of the filter at a thickness that approximately matches the size of the tubular structure in the image.

B = fibermetric(A,thickness) enhances elongated or tubular structures in intensity image A, where thickness specifies the thickness of the tubular structures.

B = fibermetric(___,Name,Value) enhances the tubular structures in the image using name-value pairs to control different aspects of the filtering algorithm.

Examples

collapse all

Read an image into the workspace that contains tubular structures of varying thicknesses, and display it.

A = imread('threads.png');
imshow(A)

Create an enhanced version of the image that highlights threads that are seven pixels thick, and display it.

B = fibermetric(A, 7, 'ObjectPolarity', 'dark', 'StructureSensitivity', 7);
figure; 
imshow(B); 
title('Possible tubular structures 7 pixels thick')

Threshold the enhanced image to create a binary mask image containing the threads with the specified thickness.

C = B > 0.15;
figure; 
imshow(C); 
title('Thresholded result')

Input Arguments

collapse all

2-D grayscale image, specified as a nonsparse numeric array.

Data Types: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32

Thickness of tubular structures, specified as a scalar or vector, measured in pixels. Specify a value on the order of the width of the tubular structures in the image.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Name-Value Pair Arguments

Specify optional comma-separated pairs of Name,Value arguments. Name is the argument name and Value is the corresponding value. Name must appear inside single quotes (' '). You can specify several name and value pair arguments in any order as Name1,Value1,...,NameN,ValueN.

Example: B = fibermetric(A,'StructureSensitivity',15)

collapse all

Threshold for differentiating the tubular structure from the background, specified as the comma-separated pair consisting of 'StructureSensitivity' and a numeric scalar. The value depends on the grayscale range of the image.

Data Types: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Polarity of the tubular structures with the background, specified as the comma-separated pair consisting of 'ObjectPolarity' and one of the following strings or character vectors.

ValueDescription
'bright'Structure is brighter than the background.
'dark'Structure is darker than the background.

Data Types: char | string

Output Arguments

collapse all

Output image, returned as a numeric array the same size as the input image of class single.

Tips

  • The fibermetric function does not perform segmentation. The function enhances an image to highlight structures and is typically used as a preprocessing step for segmentation.

References

[1] Frangi, Alejandro F., et al. Multiscale vessel enhancement filtering. Medical Image Computing and Computer-Assisted Intervention—MICCAI’98. Springer Berlin Heidelberg, 1998. 130-137.

See Also

|

Introduced in R2017a

Was this topic helpful?