-
Notifications
You must be signed in to change notification settings - Fork 61
2 D Feature Finding
This was originally issue [#45] (https://github.com/scikit-beam/scikit-beam/issues/45).
2-D images frequently have many interesting features which are of scientific interest. In reciprocal space, these can be
- Diffraction peaks (2-D [Voigt profile] (http://en.wikipedia.org/wiki/Voigt_profile))
- Planes of diffuse scattering (can be seen as cross sections through 3-D volumes)
- Rods of diffuse scattering (can be seen as cross sections through 1-D cigar).
For examples of diffuse scattering, see
-
[High Energy X-ray Diffuse Scattering] (http://www.aps.anl.gov/Science/Future/Workshops/High_Energy_Xrays/Slides/Ray%20Osborne.pdf)
-
[Neutron Diffuse Scattering] (http://neutrons.ornl.gov/conf/nxs2011/pdf/lectures/Diffuse11-GeneIce.pdf)
Typically these are symmetric about the image center
- Find Bragg Peaks
- Find Diffuse Sheets
- Find Diffuse Rods
- Find Bragg Rings
Five sided geometries are exceedingly rare in crystallography, since pentagons cannot be tessellated, so the ability to find the following shapes in 2-D images could prove useful
- Triangles
- Squares
- Rectangles
- Hexagon
- Rhombus
- Octagon
Not necessarily symmetric about the "image" center
- Circles
- Ellipses
- Curved Lines
- Straight Lines
- Connected Regions: e.g.: Threshold the image to produce a binary image. Determine the boundaries of the connected regions that are all True or all False. Related to segmentation and (water shed)ing
- For finding generic round 'blobs' in images https://github.com/soft-matter/trackpy
- for finding straight lines, scikit-image + Hough transform (http://scikit-image.org/docs/0.9.x/auto_examples/plot_line_hough_transform.html) interstingly, this method was developed for analysis bubble chamber images from early high energy physics experiments https://en.wikipedia.org/wiki/Hough_transform
- http://scikit-image.org/docs/0.9.x/api/skimage.transform.html#hough-circle
- http://scikit-image.org/docs/0.9.x/api/skimage.transform.html#hough-ellipse
- http://scikit-image.org/docs/0.9.x/api/skimage.transform.html#hough-line
- http://scikit-image.org/docs/0.9.x/api/skimage.transform.html#hough-line-peaks
- http://scikit-image.org/docs/0.9.x/api/skimage.transform.html#probabilistic-hough-line
- image labeling http://scikit-image.org/docs/0.9.x/api/skimage.morphology.html#label,
- image segmentation http://scikit-image.org/docs/0.9.x/api/skimage.segmentation.html
- edge finding http://scikit-image.org/docs/0.9.x/api/skimage.filter.html#skimage.filter.canny http://scikit-image.org/docs/0.9.x/api/skimage.filter.html#sobel
- for dealing with shapes http://toblerity.org/shapely/manual.html http://docs.sympy.org/latest/modules/geometry.html