polarTransform is a Python package for converting images between the polar and Cartesian domain. It contains many features such as specifying the start/stop radius and angle, interpolation order (bicubic, linear, nearest, etc), and much more.
- Python 3
- Dependencies:
- numpy
- scipy
- scikit-image
polarTransform is currently available on PyPi. The simplest way to
install alone is using pip
at a command line:
pip install polarTransform
which installs the latest release. To install the latest code from the repository (usually stable, but may have undocumented changes or bugs):
pip install git+https://github.com/addisonElliott/polarTransform.git
For developers, you can clone the polarTransform repository and run the setup.py
file. Use the following commands to get
a copy from GitHub and install all dependencies:
git clone pip install git+https://github.com/addisonElliott/polarTransform.git cd polarTransform pip install .
or, for the last line, instead use:
pip install -e .
to install in 'develop' or 'editable' mode, where changes can be made to the local working code and Python will use the updated polarTransform code.
Run the following command in the base directory to run the tests:
python -m unittest discover -v polarTransform/tests
Input image:
import polarTransform
import matplotlib.pyplot as plt
import imageio
verticalLinesImage = imageio.imread('IMAGE_PATH_HERE')
polarImage, ptSettings = polarTransform.convertToPolarImage(verticalLinesImage, initialRadius=30,
finalRadius=100, initialAngle=2 / 4 * np.pi,
finalAngle=5 / 4 * np.pi)
cartesianImage = ptSettings.convertToCartesianImage(polarImage)
plt.figure()
plt.imshow(polarImage, origin='lower')
plt.figure()
plt.imshow(cartesianImage, origin='lower')
The result is a polar domain image with a specified initial and final radius and angle:
Converting back to the cartesian image results in only a slice of the original image to be shown because the initial and final radius and angle were specified:
To learn more about polarTransform, see the documentation.
polarTransform has an MIT-based license.