Friday, October 19, 2007

rewrite Matlab CC analysis

Description

  • Matlab CC analysis assumes that the image can be loaded into memory. But in our case, stitched matrix exceeds the memory limit. We cannot do a CC analysis of the grid using Matlab native function.

What I want

  • Trace the groove smoothly across FOVs without hassling at the boundary.

How I can have them

  • Mark the areas in the grid as CCs, link all CCs in all frames
    • When crossing the boundary of two adjacent frames, find the CC Y in FOV B that is the continuation of the CC X in FOV A
    • This can be a round trip, because all CCs are essentially one. So the output of this step is a chain like: Obj 1 in FOV-1, Obj 4 in FOV-2, ....., Obj 3 in FOV-2, Obj 6 in FOV-1.
    • Exceptions: a node in this chain can have several FOVs (overlaps). So the chain is actually a tree.
      • How to build the tree?
        • Global: need a head and top-down
          • Pros: conceptually easy.
          • Cons: directional, need decision making about the spread direction.
        • Local: for each FOV, find its precedents and successors
          • Pros:
          • Cons: still need to determine which FOVs are precedents / successors, even harder than global approach, because there is no "spreading" at all, so the direction is N/A.
      • What will avoid direction decision?
        • Angle, with the center coord, we can determine the angles of the entry/exit points.
  • Select one of them as a current obj of interest and trace through it, collecting radial distances and depths.
  • When I collect radial distances of the target positions, I don't have to deal with boundary again, just go with a label map
    • find all pixels with a label "i".
    • calculate the radial distances without having to care about the order of these pixels.
    • we can sort the pixels in terms of the angular order later.

Any assumptions associated with this workflow and any exceptions

What I need to deal with the exceptions and achieve the original goal

What I have

What I don't have

What I shall do next

No comments: