Code covered by the BSD License  

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
JalaliLabUCLA/Image-feature-detection-using-Phase-Stretch-Transform

5.0
5.0 | 1 rating Rate this file 40 Downloads (last 30 days) File Size: 734 KB File ID: #55330 Version: 1.1
image thumbnail

JalaliLabUCLA/Image-feature-detection-using-Phase-Stretch-Transform

by

 

10 Feb 2016 (Updated )

PST or Phase Stretch Transform is an operator that finds features in an image.

| Watch this File

File Information
Description

PST or Phase Stretch Transform is an operator that finds features in an image. PST takes an intensity image I as its input, and returns a binary image out of the same size as I, with 1's where the function finds sharp transitions in I and 0's elsewhere. PST function is also able to return the detected features in gray scale level (i.e. without thresholding).
In PST, the image is first filtered by passing through a smoothing filter followed by application of a nonlinear frequency-dependent phase described by the PST phase kernel. The output of the transform is the phase in the spatial domain. The main step is the 2-D phase function (PST phase kernel) which is typically applied in the frequency domain. The amount of phase applied to the image is frequency dependent with higher amount of phase applied to higher frequency features of the image. Since sharp transitions, such as edges and corners, contain higher frequencies, PST emphasizes the edge information. Features can be further enhanced by applying thresholding and morphological operations.
For more information please visit: https://en.wikipedia.org/wiki/Phase_stretch_transform
[out PST_Kernel]= PST(I,handles, Morph_flag) takes the original image I and applies
PST to it. PST kernel paramters are given using a handle variable:
handles.LPF : Gaussian low-pass filter Full Width at Half Maximum (FWHM) (min : 0, max : 1)
handles.Phase_strength : PST kernel Phase Strength (min : 0, max : 1)
handles.Warp_strength : PST Kernel Warp Strength (min : 0, max : 1)
handles.Thresh_min : minimum Threshold (min : -1, max : 0)
handles.Thresh_max : maximum Threshold (min : 0, max : 1)
Morph_flag allows user to compute the analog edge (if Morph_flag=0) or the digital edge (analog edge followed
by thresholding and morphological operations)(if Morph_flag=1).
Remarks
Image processing toolbox is needed to run this function, function has been tested on MATLAB R2013a on a computer with Windows 7, 64 bits operating sytsem. The code uses IMOVERLAY function deveopled by Steven L. Eddins for visulaization of detected features.

Copyright
PST function is developed in Jalali Lab at University of California, Los Angeles (UCLA). PST is a spin-off from research on the photonic time stretch technique in Jalali lab at UCLA. More information about the technique can be found in our group website: http://www.photonics.ucla.edu
This function is provided for research purposes only. A license must be obtained from the University of California, Los Angeles for any commercial applications. The software is protected under a US patent.
Citations:
1. M. H. Asghari, and B. Jalali, "Edge detection in digital images using dispersive phase stretch," International Journal of Biomedical Imaging, Vol. 2015, Article ID 687819, pp. 1-6 (2015).
2. M. H. Asghari, and B. Jalali, "Physics-inspired image edge detection," IEEE Global Signal and Information Processing Symposium (GlobalSIP 2014), paper: WdBD-L.1, Atlanta, December 2014.

Acknowledgements

Image Overlay inspired this file.

Required Products Image Processing Toolbox
MATLAB release MATLAB 8.1 (R2013a)
MATLAB Search Path
/
/PST code released march 07 2016
/PST code released march 07 2016/PST-feature-detection
/PST code released march 07 2016/PST-feature-detection/.git
/PST code released march 07 2016/PST-feature-detection/.git/hooks
/PST code released march 07 2016/PST-feature-detection/.git/info
/PST code released march 07 2016/PST-feature-detection/.git/logs
/PST code released march 07 2016/PST-feature-detection/.git/logs/refs
/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/heads
/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/remotes
/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/remotes/origin
/PST code released march 07 2016/PST-feature-detection/.git/objects
/PST code released march 07 2016/PST-feature-detection/.git/objects/02
/PST code released march 07 2016/PST-feature-detection/.git/objects/05
/PST code released march 07 2016/PST-feature-detection/.git/objects/12
/PST code released march 07 2016/PST-feature-detection/.git/objects/46
/PST code released march 07 2016/PST-feature-detection/.git/objects/4e
/PST code released march 07 2016/PST-feature-detection/.git/objects/6e
/PST code released march 07 2016/PST-feature-detection/.git/objects/74
/PST code released march 07 2016/PST-feature-detection/.git/objects/78
/PST code released march 07 2016/PST-feature-detection/.git/objects/8a
/PST code released march 07 2016/PST-feature-detection/.git/objects/92
/PST code released march 07 2016/PST-feature-detection/.git/objects/94
/PST code released march 07 2016/PST-feature-detection/.git/objects/bc
/PST code released march 07 2016/PST-feature-detection/.git/objects/dd
/PST code released march 07 2016/PST-feature-detection/.git/objects/e0
/PST code released march 07 2016/PST-feature-detection/.git/objects/ef
/PST code released march 07 2016/PST-feature-detection/.git/objects/f8
/PST code released march 07 2016/PST-feature-detection/.git/objects/f9
/PST code released march 07 2016/PST-feature-detection/.git/refs
/PST code released march 07 2016/PST-feature-detection/.git/refs/heads
/PST code released march 07 2016/PST-feature-detection/.git/refs/remotes
/PST code released march 07 2016/PST-feature-detection/.git/refs/remotes/origin
/__MACOSX
/__MACOSX/PST code released march 07 2016
/__MACOSX/PST code released march 07 2016/PST-feature-detection
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/hooks
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/info
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/lfs
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/lfs/objects
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/lfs/tmp
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/logs
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/logs/refs
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/heads
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/remotes
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/logs/refs/remotes/origin
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/objects
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/refs
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/refs/heads
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/refs/remotes
/__MACOSX/PST code released march 07 2016/PST-feature-detection/.git/refs/remotes/origin
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
20 Apr 2016 othdil ahmadi  
Updates
12 Feb 2016 1.0

Version 1

08 Mar 2016 1.1

To make the code easier to understand for users, we put the default feature detection to analog feature detection.

Contact us