Oriented Connectivity Method

The oriented connectivity method of finding loops in a solar corona image is described in a paper by Jake Lee, Timothy Newman, and G. Allen Gary. (Ref.: Lee, Newman, and Gary, "Automated Detection of Solar Loops by the Oriented Connectivity Method." 17th International Conference on Pattern Recognition, Vol. 4. Cambridge, UK. 23-26 August, 2004. pp 315-318.) Below I have outlined the algorithm steps for four stages of loop detection that are detailed in this paper: 1) image cleaning, the Strous loop pixel labelling algorithm, the oriented connectivity method, and post-processing smoothing and edge linking. All algorithm credit belongs to Lee, Newman, and Gary.

Pre-Processing: Clean Coronal Image

  1. Apply median filtering and unsharp masking: use a 7 x 7 median filter to remove impulse noise.
  2. Next, use an 11 x 11 linear filter to create a blurred image of the original
  3. Apply the unsharp mask to subtract the blurred image from the median filtered image in the previous step, producing an image with both reduced impulse noise and sharpened edges.
  4. Apply a global thresholding, where the threshold Tg is the median intensity of the filtered images (all 3 filtered images – median filtered, linear filtered, and unsharped, or just the final unsharped image? – ECA). Pixels with intensity less than Tg are designated as non-loop pixels.
  5. Remove pixels falsely identified as loop pixels with adaptive thresholding.
    • Lee et al advise dividing the image into 31 x 31 pixel blocks that overlap by 50%.
    • Loop through the pixel blocks; in each block, set adaptive threshold Ta to that block’s median intensity.
    • Perform two thresholding passes if necessary.

Strous Algorithm: Identify Loop Pixels

(Steps from summary of Strous’s loop pixel labelling algorithm in AboutImgProcessingHelp.txt, sent by Jake Lee. - ECA)

  1. Label loop pixels: apply Strous’s algorithm to the cleaned image produced above.
    • Select a pixel and examine 3x3 neighbors.
    • Examine the intensities of the pixel’s 4 crosspairs (crosspairs are north-south, west-east, northwest-southeast, and southwest-northeast of pixel).
    • Algorithm has 2 modes: either label central pixel as loop pixel if 2 or more crosspairs are darker than the central pixel, OR label central pixel as loop pixel if 1 or more crosspairs are darker than the central pixel.
    • Repeat for all pixels.

Oriented Connectivity Method: Find Loops

  1. Select an unassigned but identified loop pixel Pi to begin a new loop. (Note: save loop pixel’s coordinates so that the start and end coordinates of the loop can be established once the whole loop has been identified. - ECA)
    • Lee et al suggest searching for pixels that are the starting points of loops by scanning the image first column-wise and then row-wise.
  2. Define a fan-shaped searching region for pixel Pi with extent d and bounded by i>Pi’s minimum and maximum azimuths. Lee et al suggest 5 pixels for d. Azimuths can be taken from a magnetogram.
  3. Identify the unassigned loop pixels in the search region for i>Pi. If there are no unassigned loop pixels in the region, go back to step 2. If there are 1 or more unassigned loop pixels in the region, go to the next step.
  4. Apply a weighting scheme to determine how likely each pixel is to be part of the loop.
    • Lee et al advise a weighting scheme based on proximity to Pi, intensity, and angular / tangent weighting factors.
    • The weighting should favour the pixel that will continue the loop in position and tangential direction.
    • The highest-weighted pixel is joined to the loop.
    • (Note: save highest-weighted pixel’s coordinates. - ECA)
  5. Assign highest-weighted pixel to the loop next to Pi; highest-weighted pixel then becomes the new < i>Pi.
  6. Repeat all steps until no new pixels can be joined to the loop.
  7. Calculate the mean weight of the identified loop. (Why? – ECA)
  8. Remove the identified loop from the image and save description. (Including start / end coordinates and loop length. - ECA)
  9. Repeat all steps until all of the loop pixels have been evaluated.

Post-Processing: Remove Aliasing / Join Up Loose Sub-Sections

  1. Apply B-spline fitting to smooth loop curves.
    • Lee et al suggest using a number of equally spaced loop points as control points. The number of loop points used depends on the length of the loop.
  2. Link up disconnected subsections of loops with an edge-linking algorithm, such as the Hough rel="nofollow" Transform.
  3. Apply a second B-spline fitting to smooth the edge-linked loops.

-- ElizabethAuden - 18 Feb 2005

Topic attachments
I Attachment History Action Size Date Who Comment
JPEGjpg strous_square.jpg r1 manage 20.9 K 2005-02-18 - 17:37 ElizabethAuden 3x3 neighbor pair analyzed in Strous loop pixel algorithm
Edit | Attach | Watch | Print version | History: r2 < r1 | Backlinks | Raw View | More topic actions...
Topic revision: r1 - 2005-02-18 - ElizabethAuden
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback