Friday, May 15, 2009

Stylus shape stats (width/depth ratio)


Summary

* Histogram of the ratio of groove width to groove depth is shown in figure above.
* The result showing that the width/depth ratio is extremely stable for this piece of data.

Detail

* The data used are 3223 FOVs of the stereo sinewave (about 10 sec).
* In the 10-bin histogram (Matlab default), the most dominant bin is the ratio 0.290, with a percentage of 99.99987%, among 5497858 instances (azimuthal increments).
* In the 20-bin histogram, the most dominant bin is 0.126, with a percentage of 99.9999%

Sunday, May 10, 2009

Stereo decoding

Left channel = delta(r, left) - delta(depth)
(left sidewall 45degree upwards)

Right channel = delta(r, right) + delta(depth)
(right sidewall 45degree downwards)

Imp
  • vr_in, vr_out, vz_in, vz_out
  • stylus shape: v_width -> v_depth
  • ? fit(vr_in), fit(vr_out), fit(v_depth)
  • ? diff(vr_in), diff(vr_out), diff(v_depth)
  • vr_diff_in - vd_diff, vr_diff_out + vd_diff

Wednesday, May 6, 2009

Overlap merge: master slave

Problem
  • I'm afraid that slave may break because master FOV chain may skip some slaves because it does 1v1 FOV comparison
  • when slave FOVs missed out and shifts applied to other FOVs, gaps appear.
Idea
  • before matching, create master/slave/bottom groups, ensure each slave has a master, each master has a slave
  • match every master that has a in-FOV, same-CC slave, match
imp
  1. 3 runs, for each master, find slave, bottom, of same FOV.cc
    1. keep a vb_has_group for master, slave, bottom
    2. after 1st run, vb_has_group_master = [true, ......false, true.....], vb_has_group_slave = [true, ......true, true....], vb_has_group_bottom = [true, ......true]
    3. in 2nd run, unpaired master(k), finds in slave[k-1, k, k+1] possible slave,
    4. in 3nd run, same for slave(k), finds in master[k-1, k, k+1] ...

Saturday, May 2, 2009

Thursday, April 30, 2009

Got it. Vector sum

The sidewall movement can be seen the vector sum of the horizontal and vertical movement.
But it's still not directly depicted by the width and depth change, e.g. pure lateral modulation has constant width.

Still don't understand the width/depth based stereo decoding

As far as I know, if the stereo cutter moves only vertically to produce out-of-phase signal,
the linear combination of (W+H) or (W-H) won't be able to give an out-of-phase signal.

To my knowledge, only the displacement of sidewall can explain this case.

Am I missing something?

Tuesday, April 28, 2009

Question to ask ich

1. Review of old work
  • Optics: explaining the terms? Optical flow?
  • Hardware: resolution, photos? illuminations
  • Software: preprocessing, groove extraction, which part of groove is undulation.
  • Common approach: RIAA EQ.
  • Error introduced: Stotzer's blur
  • Result: data amount, time cost
  • Quality
  • Fundamental difference with our approach
2. My workflow
  • Optics: WLI
  • Hardware:
  • Software: alignment, polar/tertiary, preprocessing (detach/reattach), unwrapping, center correction, stereo.
  • Common: edge detection, RIAA
  • unique
  • Error introduced: warp, center offset
  • Result:
  • Quality
3. Result

Saturday, April 11, 2009

Final Mission: Scanning

Goal
  • In 3-4 weeks, we need to scan ALL DATA WE NEED for DISSERTAION
Definitions:
  • DATA
    • OPD's
    • Vision GUI screenshots: to present the software, its functionality, and certain post-processing results.
    • ASCII's to show different datasets (Veeco forbidden?)
    • Congifuration
    • Photos of the microscope
  • WE NEED
    • Image evidence of theories
    • Image as illustration of concepts, tools, and processes
  • DISSERTATION
    • Narratives of the whole MItAC project
    • Theories of optics.
    • Microscope
    • Groove image model
    • Scanning process
      • effective, ineffective scanning configuration
    • Image processing
    • Result analysis
Data needed
  1. More audible OPD grids (3 datasets at most)
    1. Jazz
    2. Percussion
    3. Speech
  2. LP opd, 78 opd
  3. Screenshots of Vision
    1. A scan-in-motion panorama, including the intensity window and progress bar
    2. Intensity window, with and without fringes
    3. Stage, Stage grid dialogs, with meaningful content for illustration of process
    4. Configuration dialog and every tab/pane in it
    5. Analysis views
    6. Screenshots of Vision result analysis, e.g. top view, cross-section view, 3D view...
  4. Photo of microscope
    1. Calibration model
    2. Microscope
  5. ASCII files
  6. Example OPDs
    1. from different VSI speeds
    2. from different tilt
    3. from 50X, 5X, 10X, 25X
    4. from different illuminations (intensities), e.g., saturation, insufficient light
    5. from ramp intensity
    6. from incorrect backscan/depth (loss of bottom/top)
    7. from different modulation thresholds (noise level)
    8. Vision auto-stitching alignment failures

Sunday, March 1, 2009

detach: bottom tangential grouping

Problem
  • too thin bottom seg: when trying to group them, the threshold for overlapping, which relates to the thickness of the bottom seg, would be so low
  • so that they never appear overlapped. because they are straight lines slightly misaligned radially.
Solution
  • radial + tangential threshold
  • add a counter-proportional factor by their tangential gap
  • tangential gap++, thresh++
  • absolute overlap has top priority

Saturday, February 28, 2009

Saturday, February 14, 2009

detaching: bottom chain-up not robust!

When bottom is broken, it becomes unrealistic to try to chain them all up by checking radial overlap.
It's much thinner than top-edges (hos).

So compared to detecting multiple strings of hos, detecting multiple bottom threads in multi-pieces is more challenging.

One way to chain bottoms up is to check angular overlap. Sort all bottom, count possible gaps into the angular span AS, in other words, only look at the start and end angles, see if it approaches the limit of the bbox range. But also count accumulated angular span AAS. If AAS(R) >> bbox_span(R), it's an attached groove.

Prerequisite: Bottom is captured in its relative entirety. So that we have enough stuff to accumulate.

Then how to get the strings of different revolutions within the attached-CC?

Sunday, February 8, 2009

Stereo: sidewall interpretation

What we have:
  • Sidewall 45 displacement gives a mono-decreasing left channel and a mono-increasing right channel
What does it tell us
  • No oscillation found in sidewall displacement.
  • This is wrong.
  • Either we are getting some true information about some mono behavior
  • Or some false combination cancelled out oscillation.
Analysis
  • The former might be truer.
  • The opposite trend b/w left and right is not coincidence, which is right, because left/right are of opposite sign in terms of sidewall movement.
Tests
  1. Interp/resample edge first: using the raw fit
    1. L+R, L-R
    2. sidewall
  2. Interp/resample edge first: using the diff fit
    1. L+R, L-R
    2. sidewall
  3. Get sidewall at each raw point before resample then resample and interp

Saturday, February 7, 2009

sidewall displacement

In Cartisian coordinate system [r, h] (i.e., [x, y]), if btm(t2) is below wall(t1),

then it's a downwards displacement.

Friday, February 6, 2009

stereo decoding

We have
  1. Fitted data
  2. Differentiation data
Theory
  1. The displacement of the side wall in the norm direction, i.e., 45 degree to horizontal or vertical.
  2. Left: inner edge, bottom
    1. Horizontal: Positive direction: center -> brim
    2. Vertical: Positive direction: upwards
  3. Right: outer edge, bottom
    1. Horizontal: center -> brim
    2. Vertical: downwards
  4. Wall movement is the vector sum of hori and vert: dH^2 + dV^2 = dW,
  5. Sign of wall movement...

Reanalysis
  1. Sidewall 45-degree system,
  2. e.g. left = in norm direction, sidewall displacement
  3. displacement = dist_point_to_line( bottom(t1), sidewall(t2)) * higher_than(z_bottom_projection, z_bottom)
Pitfalls
  1. sidewall(t1) may not parallel sidewall(t2)
  2. system error proportional to the position of the point representing the wall, when calc dist_point_to_line()

Sunday, February 1, 2009

Polyfit error

In window 44-46, badly conditioned polyfit

Saturday, January 17, 2009

DP for stitching

Theory
  1. At each p(r, c),
  2. for each shift d(dr, dc), there are
    1. a corr score with the image being compared
    2. a global cost value: the gap(row(i-1), row(i)). We want the gap < 0
    3. #2 is under the assumptions:
      1. after shift, for all rows, gap(row(i-1), row(i)) < 0;
      2. from current FOV on, everything goes with 20% overlap, meaning a global corresponding d(dr, dc) shift for all of them.
  3. maximize overall correlation
  4. minimize cost

hello flock

hello!
  1. clause 1
    1. clause 1.1
  2. clause 2.

Sunday, January 11, 2009

Prepare for 1st of Work: Outline

Condition
  1. Midomi
  2. Goto's work
  3. Intimacy through voice recognition
  4. Microphone technique
  5. Game audio vs. audio game
Analysis
  1. Benoit interested in Midomi: what's in there?
  2. Query by humming: problematic direction.
  3. Other than QyH, what's useful? Goto
  4. Don't just destroy the plan, give constructive
What to do
  1. Figure out what part in Midomi that we can benifit from: based on game big picture.
  2. Prepare a material to convince people that QBH is not working.
  3. Prepare Goto's stuff that proves voice recognition in responses.
  4. Some basic idea in development: platform, audio usecase.

groove unwarp: resume

Use case
  1. Resume mode: default
  2. Always start with the last win of the last ring
  3. If there is resume.dat, load i_ring, rci_fov_1st, i_win, they are all most recent (innermost)
  4. else, i_ring = ring_max, rci_fov_1st = rc_samp.rci_fov_focus, i_win = 1
Rethinking
  1. Auto mode vs. manual mode
  2. with while loop, i_rings, and CC needs to be continuously updated upon subroutine's termination, yet we need random assignments to these vars, therefore, it is better divided into two distinct processes: continuous / discrete, or auto / manual.
Imp
  1. Use a b_auto flag in main.m

Friday, January 9, 2009

phase unwrapping

Condition
  1. Wins.FOVs
  2. A single 2pi drop in the tail FOVs of Win
  3. Previously, in a 2pi-drop FOV, FOV.a have been unwrapped, but all suc-FOVs have not.
Requirement
  1. Given an unwarp-point P(win, aa), a = va_win(aa), all P(win, aa+), in which va_win(aa+) > a, should now = va_win(aa+) + 2pi.
Imp
  1. Change original code to this recursion.