Main Content

maxhessiannorm

Maximum of Frobenius norm of Hessian of matrix

Description

C = maxhessiannorm(I) returns the maximum of Frobenius norm of the Hessian of grayscale image I.

example

C = maxhessiannorm(I,thickness) also specifies the thickness of tubular structures.

Examples

collapse all

Read and display an image that contains tubular threads of varying thicknesses.

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

Calculate the maximum of the Frobenius norm of the Hessian of the image, with tubular thickness set to seven pixels.

C = maxhessiannorm(I,7);

Create an enhanced version of the image highlighting threads seven pixels thick. Use a structure sensitivity threshold equal to half of the maximum of the Frobenius norm of the Hessian. In the image, threads show up dark against a light background, so specify the object polarity as 'dark'. Display the enhanced image.

J = fibermetric(I,7,'ObjectPolarity','dark','StructureSensitivity',0.5*C); 
imshow(J)
title('Enhanced Tubular Structures 7 Pixels Thick')

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

BW = imbinarize(J);

Display the mask over the original image using the labeloverlay function. The overlay has a blue tint where the mask is true, meaning those threads have the specified thickness.

maskl = labeloverlay(I,BW);
imshow(maskl)
title('Detected Tubular Structures 7 Pixels Thick')

Input Arguments

collapse all

Image with elongated or tubular structures, specified as 2-D grayscale image.

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

Thickness of tubular structures in pixels, specified as a positive integer.

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

Output Arguments

collapse all

Maximum of the Frobenius norm of the Hessian of grayscale image I, returned as a numeric scalar.

Data Types: double

Tips

  • maxhessiannorm is a helper function to fibermetric, which changed default behavior in R2018b. If you want to reproduce the prior default behavior, then specify StructureSensitivity as 0.5*maxhessiannorm(I).

References

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

Version History

Introduced in R2018b