Skip to content

Evaluation Documentation

John Bogovic edited this page Dec 19, 2018 · 5 revisions

Registration accuracy measure

This section describes the code implementing the measure of registration accuracy used in our paper.

Image rendering

When ANTs (WarpImageMultiTransform) and CMTK (reformatx) routines are not appropriate, we use custom code to render transformed images:

  • This script calls this code
  • Usage renderTransformed <image-to-transform> <output> <output-interval> [-i] <transformlist...> [-q nThreads]
    • Details on specifying a transformation list can be found here.

Distance transforms

  • Distance transforms are computed by this script which calls this code.
  • Usage: runDistanceTransform <input binary image path> <output distance image path>

Skeleton distances

Once distance transforms are computed for every transformed skeleton, we measure the distances between skeletons as follows:

  1. Compute the distance transforms of two skeletons.
  2. For a point x on skeleton A, the distance to skeleton B is the value of the distance transform of skeleton B at x.
  3. Collect the data for all points, recording the compartment label to which each point belongs.

See the discussion in the paper for the benefits and drawbacks of this approach.

Pairwise skeleton distances

  • The script distDataPairComp performs steps (2) and (3) above.
    • Usage: distDataPairComp <skeleton image A> <skeleton image B> <skeleton distance transform A> <skeleton distance transform B> <compartment label image> <filename suffix>

Tabulating data by compartment label

The script compartmentImageData does the following:

  1. Finds all points belonging to a binary mask
  2. For each point, find the value of an image at that point, and find the compartment label at that point.
  3. Tabulate results and write a csv file where each row contains an image intensity value and compartment label - optionally write separate files per compartment label
  • Usage compartmentImageData <output csv path> <image> <mask image> <compartment label image> <separate files by label?>
  • It calls this code.