Answers.Body: <p>The Hough Transform extended to orthogonal ellipses uses this model, accumulating on <span class="math-container">$\theta$</span> for all <span class="math-container">$\{x, y\}$</span> with parameter matrix</p>
  
  <p><span class="math-container">\begin{Bmatrix} 
  c_x &amp; c_y \\ 
  r_x &amp; r_y
  \end{Bmatrix}</span></p>
  
  <p>where</p>
  
  <p><span class="math-container">$$1 = \dfrac {(x - c_x) \, \cos \theta} {r_x} + \dfrac {(y - c_y) \, \sin \theta} {r_y}$$</span></p>
  
  <p>The question is looking to detect the normal lines, so any of the several algorithms for the above model can be modified to accumulate on <span class="math-container">$r$</span> for all <span class="math-container">$\{x, y\}$</span> with parameter matrix</p>
  
  <p><span class="math-container">\begin{Bmatrix} 
  c_x &amp; c_y  \\ 
  r_x &amp; r_y
  \end{Bmatrix}</span></p>
  
  <p>where</p>
  
  <p><span class="math-container">$$0 = \dfrac {x - c_x} {r_x} + \dfrac {y - c_y} {r_y}$$</span></p>
  
  <p>Lines that intersect <span class="math-container">$(c_x, c_y)$</span> don't rely on <span class="math-container">$r_x$</span> or <span class="math-container">$r_y$</span>.  However, it may be useful to recognize that, if radially equally spaced, viewing the lines from a position other than one that projects into the plane of the lines at <span class="math-container">$(c_x, c_y)$</span> will present a line density that is a function of <span class="math-container">$\arctan (r_x, r_y)$</span>.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-22T20:35:45.937Z
Answers.Text: Yes, I soon realized that I can just modify the hough transform to remove the orthogonality (or rather, add another) before accumulation. I will post an update when I have a proof -of-concept coded. Thanks!
Answers.UserDisplayName: Andrew Eisenhawer
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-21T07:13:30.967Z
Answers.LastActivityDate: 2018-10-23T05:40:00.017Z
Answers.LastEditDate: 2018-10-23T05:40:00.017Z
Answers.UserDisplayName: Douglas Daseeco
Answers.Body: <p>First step would be getting the object out of the scene. This bit is not trivial in your case, however, there are many methods to choose from. I suggest reading about watershed threshold algorithm.</p>
  
  <p>Second part is easier. Once you have a single segmented object at hand, perform noise removal. Next step is to extract the contours. Find the center of gravity, transform coordinates to polar and represent these contours as a function which has the x axis as degrees and y axis as distance from the center. Take the Fourier transform of this function. If the shape is symmetrical, there will be few non-zero entries, and a large spike in the spectrum.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-10-18T05:26:59.043Z
Answers.LastActivityDate: 2018-10-18T05:26:59.043Z
Answers.UserDisplayName: Cem Kalyoncu
Body: <p>This is a question about pattern recognition and feature extraction.</p>
  
  <p>I am familiar with Hough transforms, the Fast Radial Transform and variants (e.g., GFRS), but these highlight circles, spheres, etc.</p>
  
  <p>I need an image filter that will highlight the centroid of a series of spokes radiating from it, such as the center of a asterix or the spokes of a bicycle wheel (even if the round wheel is obscured.  Does such a filter exist?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-16T08:47:42.007Z
Comments.Text: What do you have in hand? Single object of interest or a complete scene? Binary thresholded image or a picture? If it is a binary image of a single shape, the answer would be extremely simple.
Comments.UserDisplayName: Cem Kalyoncu
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-16T23:37:08.397Z
Comments.Text: It would generally be an unthresholded image with a complex background.  Another example would be a dandelion in grass.  The edges on the grass lie in more or less random directions, while the dandelion leaves radiate out from a center.
Comments.UserDisplayName: Andrew Eisenhawer
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2018-10-16T23:39:13.143Z
Comments.Text: For the dandelion case, it is easy to segment out the broad part of the leaves, but the center area isn't similar.
Comments.UserDisplayName: Andrew Eisenhawer
Tags: <pattern-recognition><feature-selection>
Title: How to recognize non-circular radial symmetry in images?
UserDisplayName: Andrew Eisenhawer
ThreadText: # How to recognize non-circular radial symmetry in images?
  
  (Asked by: username_0 on 2018-10-16)
  
  This is a question about pattern recognition and feature extraction.
  
  I am familiar with Hough transforms, the Fast Radial Transform and variants (e.g., GFRS), but these highlight circles, spheres, etc.
  
  I need an image filter that will highlight the centroid of a series of spokes radiating from it, such as the center of a asterix or the spokes of a bicycle wheel (even if the round wheel is obscured. Does such a filter exist?
  
  **Tags:** pattern-recognition, feature-selection
  
  > **Comments:**
  > **username_1**: What do you have in hand? Single object of interest or a complete scene? Binary thresholded image or a picture? If it is a binary image of a single shape, the answer would be extremely simple.  
  > **username_0**: It would generally be an unthresholded image with a complex background.  Another example would be a dandelion in grass.  The edges on the grass lie in more or less random directions, while the dandelion leaves radiate out from a center.  
  > **username_0**: For the dandelion case, it is easy to segment out the broad part of the leaves, but the center area isn't similar.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_2 on 2018-10-21. Score: 2 | Accepted answer
  
  The Hough Transform extended to orthogonal ellipses uses this model, accumulating on $\theta$ for all $\{x, y\}$ with parameter matrix
  
  \begin{Bmatrix}
  c\_x & c\_y \\
  r\_x & r\_y
  \end{Bmatrix}
  
  where
  
  $$1 = \dfrac {(x - c\_x) \, \cos \theta} {r\_x} + \dfrac {(y - c\_y) \, \sin \theta} {r\_y}$$
  
  The question is looking to detect the normal lines, so any of the several algorithms for the above model can be modified to accumulate on $r$ for all $\{x, y\}$ with parameter matrix
  
  \begin{Bmatrix}
  c\_x & c\_y \\
  r\_x & r\_y
  \end{Bmatrix}
  
  where
  
  $$0 = \dfrac {x - c\_x} {r\_x} + \dfrac {y - c\_y} {r\_y}$$
  
  Lines that intersect $(c\_x, c\_y)$ don't rely on $r\_x$ or $r\_y$. However, it may be useful to recognize that, if radially equally spaced, viewing the lines from a position other than one that projects into the plane of the lines at $(c\_x, c\_y)$ will present a line density that is a function of $\arctan (r\_x, r\_y)$.
  
  > **Comments:**
  > **username_0**: Yes, I soon realized that I can just modify the hough transform to remove the orthogonality (or rather, add another) before accumulation. I will post an update when I have a proof -of-concept coded. Thanks!  
  
  ---
  
  ### Answer by username_1 on 2018-10-18. Score: 0
  
  First step would be getting the object out of the scene. This bit is not trivial in your case, however, there are many methods to choose from. I suggest reading about watershed threshold algorithm.
  
  Second part is easier. Once you have a single segmented object at hand, perform noise removal. Next step is to extract the contours. Find the center of gravity, transform coordinates to polar and represent these contours as a function which has the x axis as degrees and y axis as distance from the center. Take the Fourier transform of this function. If the shape is symmetrical, there will be few non-zero entries, and a large spike in the spectrum.
  
  
  ---
  
  