Edit page History

Ellipse split


    Ellipse Splitting Plugin




    Thorsten Wagner


    Thorsten Wagner


    Github [2 ]




    The ellipse splitting plugin splits binary objects which could approximated by an ellipse. The used ellipse fitting algorithm was proposed in

    A. Fitzgibbon, M. Pilu, and R. B. Fisher, “Direct least square fitting of ellipses,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 21, no. 5, pp. 476–480, May 1999.

    Here we used the implementation of BoneJ.

    The generall approach of the ellipse fitting plugin is as follows:

    1. Given the binary input image I
    2. Then image W is the split using ImageJ's watershed approach
    3. XOR I and W to get all watershed lines L
    4. Extract all contours in W using ijblob
    5. Remove those parts of the contours which are neighbor of L
    6. Fit an ellipse to each remaining contour part
    7. Merge ellipses if possible
    8. Filter ellipses by geometric features


    Suppose you have the following input image:


    Then the watershed approach (Process -> Binary -> Watershed) would give this result:

    The ellipse splitting plugin applied to the input image will combine the watershed result and direct ellipse fitting. This leads to the following result:

    Furthermore it outputs several important features:


    GUI of Ellipse Split Plugin

    Binary splitted image: If set to “Use standard watershed” it will use ImageJ’s watershed technique to split the binary object. If there are better techniques for splitting available, you could select here the binary image splitted by that technique.

    Add to manager: (true/false) If true, the ellipses will be added to the ROI manager.

    Add to results table: (true/false) If true, some geometrical features of the ellipses will be added to the results table.

    Overlap threshold in %: If the image is oversegmentated, two ellipses could belong the same real object. If that is the case, it is likely that the ellipses are strongly overlapping. In those cases the ellipses will be merged. The overlap threshold in % is the proportion of one ellipse containing another ellipse.

    Major axis length: The length of major axis.

    Minor axix length: The length of minor axis.

    Aspect ratio: Ratio of Major axis length and minor axis length.


    Simply turn on the Biomedgroup update site, which includes the ellipse splitting plugin.

    If you use ImageJ just copy the ij-ellipessplit.jar file in your plugins folder and copy the GPCJ 2.2.0 and the latest ij-blob jar file into the plugins/jars folder.

    How to cite

    Please get the lastest DOI for this plugin here: https://zenodo.org/badge/latestdoi/18649/thorstenwagner/ij-ellipsesplit