|
1
|
- Tom McTavish
- Tom.McTavish@UCHSC.edu
|
|
2
|
- Hand drawing (tracing)
- Spline tracing
- Easier and faster than hand drawing, but still a rather painful
process.
|
|
3
|
|
|
4
|
|
|
5
|
- The VH dataset is high-resolution and in color. This makes it easier for
anatomists to distinguish structures and define borders.
- The computer can capitalize on this, too, but segmentation is still a
very difficult problem because the computer doesn’t know anatomy, the
classification of tissues is difficult, and borders aren’t always well
defined.
|
|
6
|
- Muscles have a grain, but when we try to differentiate one muscle from
an adjacent one, we can’t, especially if we say the muscles include the
intermuscular fat.
|
|
7
|
|
|
8
|
- has a noise pattern of gray and red
|
|
9
|
|
|
10
|
- It’s comparatively easy for humans to recognize many structures, even
when they’re not familiar with the object.
- You don’t have to be an anatomist to recognize many structures and see
where their borders are, and…
|
|
11
|
- Even when it might appear that the structure is obvious, hand
segmentation varies from slice to slice, day to day, and person to
person.
- The core of the object being segmented will be consistent, but the
border is very variable.
- If you don’t need precision, then it’s relatively easy to get close,
even for the computer.
|
|
12
|
- Anatomist is in control, not the computer.
- The segmentation application should help guide and implement the
anatomist’s decision.
- Easy and intuitive paint tools and simple navigation interface help
hand segmentation some.
- “Smart” tools can help even more.
|
|
13
|
- Splines make tracing faster and smoother and aren’t really “smart” on
their own, but…
- our tool adds edge detection blending from the normal-plotted spline
- and we perform a minimum differences of the neighbors of control points
to adjust them between slices.
|
|
14
|
- Many structures don’t change much from slice to slice, or they change in
a consistent way (rotation, scale, translation). For these structures,
we can apply a “Shape” morph between the start slice and the end slice n
slices later.
|
|
15
|
- Capture the outline of the segmented structure in the start and end
slice.
- Interpolate (expand) the smaller one to match the same number of samples
as the first.
- Establish a correspondence point
- Because the structures form loops and are now the same size, we can
rotate one about the other, comparing minimum differences of their
neighbors.
- Once we have a correspondence, we have a mapping from x1 y1
to x2 y2 that we migrate over n slices.
|
|
16
|
|
|
17
|
|
|
18
|
|
|
19
|
|
|
20
|
|
|
21
|
|
|
22
|
- “Binary Segmentation” describes the segmentation problem as “What are we
classifying” and “What aren’t we classifying”.
- The idea is to separate the pixels into two sets – those that make up
the structure of interest and those that don’t. By having different
descriptors of the two sets, we should be able to develop an algorithm
that can judge to which set a given pixel should belong.
|
|
23
|
- We can set up the binary segmentation problem as a minimum cut/ maximum
flow problem on a graph.
- The pixels (voxels) define the nodes
- two types of edges run through the network
- Region weights that connect to what we want and what we don’t want
(the source and sink terminals).
- Edges between neighbors.
|
|
24
|
|
|
25
|
- Min-Cut/ Max-Flow algorithms run in O(V3) time. On a
800x800x200 volume, that’s 2x1024 instructions! There are
ways to make the algorithm so that it doesn’t run in this worst case,
but still, it can take even hours to come up with a segmentation. If
it’s not perfect that first time (which it won’t be), updates can be
performed faster by keeping track of a residual graph, but it is not a
very interactive approach.
- Still, if it can provide a good segmentation in the same time or better
than it would take somebody to do by hand, it should be explored.
|
|
26
|
- What can speed up binary segmentation more than anything is a fairly
accurate region classifier that makes strong connections to either the source
or the sink. It’s the gray area that slows down the algorithm.
- Instead or in addition to region classifiers being used in Binary
Segmentation, they can also be applied in a “Magic Wand” type of flood
fill.
|
|
27
|
- The idea with a “Magic Wand” tool is that it performs a fill starting at
the point clicked, growing as long as it finds something similar to what
was originally clicked.
- In Photoshop and most paint programs, this just takes the color value
of the pixel that was clicked and as long as the color of adjacent
pixels is close enough to this value, it continues on with the fill. If
it doesn’t cross the threshold (the color is too different from the one
that was clicked) the fill stops at that pixel.
|
|
28
|
- If the classification of the structure of interest is good enough, we
don’t need to specify what is not the structure.
- The flood fill of the Magic Wand can be a lot faster.
- The Binary Segmentation Tool accounts for edges. When the region weights
can’t make a determination, the edge detection kicks into gear, but
Binary Segmentation tends to still cut edges short.
|
|
29
|
- If the classification of the structure of interest is good enough, we
don’t need to specify what is not the structure.
- The flood fill of the Magic Wand can be a lot faster.
- The Binary Segmentation Tool accounts for edges. When the region weights
can’t make a determination, the edge detection kicks into gear, but
Binary Segmentation tends to still cut edges short.
|
|
30
|
- The Magic Wand and Binary Segmentation tool have the danger of not
including enough, or selecting too many pixels (or voxels if segmenting
in 3D).
- The edge is always going to be difficult.
- Because the Magic Wand’s fill is fast and requires only one click, we
can set it to have a low threshold (requires high-confidence of
matching). To segment, then, we just click until the structure is
completely filled. Even twenty clicks is easier than tracing a
structure!
|
|
31
|
- Because we have color data, our region classifiers are (for the moment)
based on color, employing various forms of histogram weighting and most
recently, color space distance matching.
|
|
32
|
- In the RGB color space, we can think of a pixel residing in a 3D space.
- When we take a sample of a texture, we can picture each of those pixels
of the sample sitting in their R, G, and B, locations.
- With a large number of samples, sampling at any location in the texture
should result in about the same signature.
|
|
33
|
|
|
34
|
- The idea here is to see if the pixel under consideration is close to one
of the clumps that defined the signature of the texture.
- We determine if it’s close to a clump by taking the distance of this
pixel to every other pixel from the samples, and then averaging the
distance of the closest n samples.
- For simply using color, this delivers great results.
|
|
35
|
- Texture does exist in human tissues, even if they’re not the easiest to
classify, so yes, we can certainly use more than our color distance
matching.
- Even with the color distance matching we can maybe get more clever in
saying not only does the pixel match (because pixels that we don’t want
can still match colors from the samples), but maybe the pixel needs to
be attached to at least n others for it to really be considered part of
a texture.
- Fourier Transform for texture classifiers?
- Other ideas?
|
|
36
|
- The edge detection is hard.
- Sure we can use Laplacian of Gaussians, Canny, Sobel, whatever, but it
takes experimenting with parameters to get the edge desired.
- Most edge detection methods highlight the pixel that is on the edge and
not which side it really is!
|
|
37
|
- For a given voxel to ask if there’s a path to n number of other voxels
that are all part of the region is a test that helps ensure the voxel
belongs to the region and gets around edge detection.
- This involves path-finding algorithms.
- When the pixel doesn’t think it belongs much at all to a region, it can
feel around to make sure.
|
|
38
|
- If we ask if a voxel’s surroundings are part of the region we’re looking
for, we might get the wrong answer.
|
|
39
|
- Object and pattern recognition, computer vision, graphics, and image
processing have come a long way, but there’s so much ahead!
|