Lecture 4 Flashcards
Segmentation
Dividing an image into biologically meaningful segments for further analysis.
Object vs Background
Intensity thresholding can be applied if sufficiently and consistently higher intenstiy.
Selected automatic thresholding
Based on the histogram. Hard to figure out yourself sometimes, so automatic methods:
- Isodata
- Otsu
- Triangle
Isodata thresholding
Goal: converge to mean of the class intensity mean
- Compute the normalized histogram to get intensity probabilities: P(i)=H(i)/N
- Select arbitraty initial threshold and compute class means
- Iteratively update the threshold and class means until convergence (no more change)
Otsu thresholding
Goal: Minimize total intra-class intenstiy variance. Useful in bimodal histogram with similar objects and background volumes. 1. Compute the variance in two classes defined by the threshold 2. Minimize the total intra-class variance over all possible thresholds
Triangle thresholding
Goal: find the kinks between two class distributions
- Construct a line between (ip,h(ip)) and (im,h(im)) -> l(i)=h(ip)*(im-i)/(im-ip)
- Find the maximum histogram-to-line distance max d(i)=max(l(i)-h(i))
Useful in cases where the object pixels constitute only weak histogram peaks. Right after highest peak
Improvement of processing methods
- Preprocessing by gaussian smoothing or median smoothing to reduce noise.
- Postprocessing by morphological image filtering by binary watershed for example
- Apply threshold of diameter
Binary watershed
Makes sure you can distuingish the different particles.
Connectivity
Determine whether segmented pixels belong together. The number of objects depends on the chosen connectivity. Put some sort of structuring element over to determine.
Connected component labelling
Assign unique labels to segmented regions:
First pass: Check each pixel: if it is an object and has no neighbors, assign new label. If do neighbors, assign smallest label.
Second pass: Check each pixel and replace each label with smallest equivalent. All background pixels default to zero.
Boundary chain coding
If you know the starting pixel, the chain code gives you the next pixel and you can figure out the image.
Selected advanced segmentation methods
- Kmeans clustering
- Watershed-based segmentation
- Segmentation by seeded region growing
k-means clustering
- Assume there are k clusters of pixels and initialize their intensity means
- Assign pixels to clusters by minimum squared intensity distance
- Update the cluster intensity means for the next iteration
- Iteratively compute Ci and meann=1 until convergence
Suitible if total number of intensity classes is known priori
Watershed segmentation
Start with local maxima by reverting the image. And let the water flow higher till you have all different objects.
Active contour segmentation
- Explicit: Incorporate larger context and prior knowledge
1. Define a suitable contour model
2. Define suitable energy functional
3. Minimize the energy functional.
Want to fit the contour model over the image.
Level-set segmentation
- Implicit active countour segmentation
1. Define a level-set function for each object
2. Define suitable energy functional
3. Iteratively minimize the energy using Euler-Langrange equations
Tracing line-like structures
Common in neuron segmentation.
Image -> soma segmentation -> tree segmentation -> spine segmentation -> reconstruction -> image
Problems segmentation
- Segmentation of image regions into labeled objects
- Segmentation of line-like image structures into labelled paths
- No single method that can correctly segment all different microscopic images
- Boundary of objects is locally not so evident.
Segmentation by seeded region growing
Goal: completely partition an image into selected regions
- Select a representative blob of pixels for each region of interest
- Make a ist of all (4 or 8) connected neighbor pixels of these regions
- Define a measure of distance of any pixel to any region
- Define a closest region index for candidate pixels
- Iterativly do the following until cadidate list is empty:
- Add all-closest candidate pixel to its corresponding region
- Remove that pixel from the candidate list but add its new neighbors
Watershed based segmentation problems
- Images often have many local minima, leading to heavy oversegmentation
- Preprocessing may be needed to reduce false minima
- Postprocessing may lbe needed to reduce fragmentation
Advanced segmentation methods
Incorporate knowledge to get a better idea of the boundary.
- Explicit active contour segmentation
- Implicit active contour segmentation
Hessian
Local approcimation to approximate more difficult underlying function. It is a vector pair where one of them shows the direction orthogonal to the neuro direction and the other toward the neuron.
Hessian matrix =
Ixx Ixy
Ixy Iyy