Whisker tracking assessment

Input video quality

For assessed videos, need to characterize:

  1. Frame rate
  2. Contrast
  3. Resolution
  4. Pixel size
  5. Compression

Frame rate and Pixel size

Need to know the range of values over the set of assessed videos.


In a representative video

  1. Histogram (255 bins) the intensity along the whisker backbone
  2. Histogram (255 bins) the intensity in the background


In single frames from ~10 representative videos

  1. Sample intensity along a straight-line across a particularly thick whisker.
  2. The steepness of the intensity will be used as a qualitative measure of how sharp the image is. This is used to motivate particular choices for the size of the line detector used for tracing.


If a video was compressed before analysis:

  1. What parameters were used for the compression?
    1. Codec
    2. Compression utility (e.g. ffmpeg, imagej, matlab, ...)
    3. Relevant parameters (e.g. bitrate, quality setting, ...)

Tracing Accuracy


Was the entire whisker traced?
Were too many pixels traced?
How close to the true backbone was the trace?


Tracing accuracy will vary for different scenarios.

  1. Normal whiskers
  2. Crossing whiskers
  3. Whiskers in contact with post


Over a set of (perhaps 10) whiskers in a category, for each whisker:

  1. By hand, make multiple (at least 2) independent tracings by clicking on points along the whisker backbone. Points should be estimated to sub-pixel precision. Neighboring points should be between 1-2 pixels apart. Ideally, different individuals would perform each tracing. The reliability of these traces as an accuracy standard will be assessed from the redundant traces.
  2. Render the average hand tracing as a polyline at 1/5th pixel resolution (the precision limit of the automated tracing).
  3. Similarly render the automated tracing result.
  4. Compute %agreement (% of rendered pixels where traces overlap).

Identification Accuracy


Analyze a large, broad set of applicable data to characterize the number of whisker identification errors. These errors directly impact the number of edits a user needs to make to fully correct a dataset using the tracing GUI.


  1. Trials drawn at random from sessions. Sessions should be chosen to cover variability between:
    1. mice
    2. researchers
    3. days
    4. whisker count
      Sessions should be consistent with respect to:
    5. image quality
    6. (roughly) grooming. Mice with split whiskers, untrimmed whiskers from other rows, etc... should be excluded.
  2. Intervals of time where there was some odd event that made tracking irrelevant or impossible should be excluded.
    For example:
    1. Air puff administered as negative reward
    2. Foot in the field of view obscuring whiskers
  3. Error types:
    Errors are determined relative to manually proofread tracing results.
    1. Detection false negative - the whisker was not traced.
      1. A whisker (not a hair or microvibrissae) is clearly in the field of view, but there is no associated trace.
      2. An untraced whisker hidden in the facial fur or out of the field of view does not count as an error.
    2. Identity false negative - a whisker was traced, but was not assigned a whisker label
    3. Wrong identity - a whisker was traced and labeled, but the label is wrong.
  4. For each trial, record the following:
    1. Experimenter
    2. Tracking software revision (e.g. svn r589)
    3. Mouse id
    4. Session date
    5. Session notes
    6. Trial number
    7. Trial notes
    8. Whisker row (e.g. C or D)
    9. Number of whiskers tracked
    10. Total number of frames
    11. Number of frames with 1 errors
    12. Number of frames with 2 errors
    13. ...
    14. Number of frames with N errors
      (I just insert these columns on a spreadsheet when I need them)
    15. Number of errors of type (a) Detection false negative
    16. Number of errors of type (b) Identity false negative
    17. Number of errors of type (c) Identity false positive
      Session and trial notes should include information about:
    18. Use of non-default parameters
    19. Excluded time intervals
    20. Use of non-default "classify" step


I need access to the *.measurements files from proofread videos.