Converts 2D Cartesian images to polar coordinate images, i.e. "unwraps" them about an origin. The result is a rectangular image whose vertical axis is radial, and horizontal axis is circumferential. The index
1 of the radial axis is the origin of the Cartesian coordinates image.
The intent of the code is to be used to make polar coordinate modifications to a Cartesian coordinate image more simply. The intended workflow goes as follows
im_c = <from source> im_p = im_cart2pol(im_c, ...) <modify im_p> im_c = im_pol2cart(im_p, size(im_c), ...) <use im_c>
The top-level functions are
im_pol2cart.m. The file
test.m contains an example of usage. Other files are helper functions. Note that
im_pol2cart.m is not intended to be used in isolation, and no guarantees are made about output.
Overall the workflow works well, even on logical images, but has artifacts with thin features. The user may select which
interp2 method is used for coordinates conversion as a string argument to the top-level functions.
test.m for an example of how to use the functions. The output should look like the following image.
The code was inspired by
William Warriner (2021). Cartesian to polar image transform (https://github.com/wwarriner/matlab_imcart2pol), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Inspired by: Polar To/From Rectangular Transform of Images
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!