Nonlinear Polar Transformer

Author: Jan Bonne Aans (j.b.aans at erasmusmc.nl)
Center for Optical Diagnostics and Therapy
Erasmus Medical Center
Rotterdam, The Netherlands
History: 2010/12/25: First release
Source: Nonlinear_Polar_Transformer.java
Installation: Drag and drop Polar_Transformer.jar to the "ImageJ" window.
Description: The plugin performs parametric angular and radial polynomial transformations. It corrects X-ray image radial and angular distortions originated in image intensifiers of the type with electron accellerators. It allows for center-symmetrical radial and angular transformation of an image e.g. the radius r=SQRT(x^2+y^2) as well as the the angle theta=arctan(y/x) of each pixel can be changed with respect to a center pixel. Both radial and angular transformation are defined by N order polynomials (you could fit an elephant with a 5th order polynomial). The center of transformation can be defined by the user as well.

For each pixel it transforms Cartesian coordinates to Polar coordinates, calculate new polar coordinates using the defined center coordinates and transformation polynomials for r and theta, transforms new polar coordinates back to Cartesian coordinates and places pixel at new Cartesian coordinates using interpolation. It produces a 16-bit grayscale image for 8 or 16-bit grayscale inputs, and an RGB color image for RGB inputs.

See Nonlinear_Polar_Transformer.properties for default settings. This plugin works with the Tudor DICOM plugin.

This plug-in borrows code from the Polar Transform plug-in written by Edwin F. Donnelly It uses the (modified version of) Polynomial class by "O.C. and R.P"

|Plugins | Home |