Skip to content

Suspicious Outliers 20171127

stephenhuston edited this page Jun 4, 2018 · 8 revisions
<...load proj...>
apt.suspSetComputeFcn(@outlierSuspCompute); %Alternatively: apt.suspSetComputeFcn(@outlierDiffLbls1Lbls2);
apt.suspComputeUI % prompts for z-score threshold, computes, brings up nav table
  • Example computation code in user/outlierSuspCompute.m. This function looks at 'labeledpos2' so the labels-of-interest should be imported via "Import Predicted Labels from Trk File..."
  • An alternative function can be run using lObj.suspSetComputeFcn(@outlierDiffLbls1Lbls2); This looks at the L2 distance between points in the labels field (.labeledpos) and those in the imported predictions field (.labeledpos2). This is useful for finding where two different trackers differ in their estimate of position.
  • To navigate frames, select any row in the table. Single click should work, or use of up/down arrows. <Enter> also advances to next row.
  • When focus is on the NavTable, right/left arrows do not advance/back-up the movie frame, which is annoying to me anyway. Possible future todo.
  • The "suspPt" column notes what pt is over the threshold, and whether it is x/y or dx/dy. The point labels here are 1..10 instead of {1..5}x{view1,view2}. (Should be all view1 points, then all view2 points). Easy refinement in outlierSuspCompute.m if we want that.
  • For me, transitioning between movies takes a lot longer than transitioning between frames-within-a-single-movie, prob due to movie read/load etc. This may be better on your end, but just FYI b/c if you navigate rows to a new movie, you may experience a latency. If you don't wait for the action to complete and do a bunch of stuff you can probably cause weirdnesses/errors due to race conditions etc.

On Project Save/reLoad, run

apt.suspComputeUI

to recompute and bring up the table again. Note also you can run suspComputeUI multiple times with different thresholds and keep all the tables up at the same time. Nav should work in theory.