mri_overlap

This page proposes a new program, called mri_overlap, that will replace the redundant (and buggy) mri_compute_seg_overlap and mri_compute_overlap. A primary new feature is the ability to save a detailed overlap report to a JSON file.

USAGE:

    mri_overlap <vol1> <vol2> [options]

DESCRIPTION:

    This program computes the overlap between two segmentation volumes. The following
    statistics can be calculated for each label:

        dice coefficient     -  ...
        jaccard coefficient  -  ...
        volume difference    -  ...

    By default, only dice scores are computed, but this can be reconfigured
    with the --measures flag.

    Each structure in the input volumes will be considered by default, but
    an alternative list of labels can be specified with the -l flag. Additionally,
    the --seg flag will compute the overlap between the following 12 major
    anatomical structures:

        Hippocampus (17,53)
        Caudate (11,50)
        Putamen (12,51)
        Pallidum (13,52)
        Amygdala (18,54)
        Thalamus Proper (10,49)
        Lateral Ventricle (4,43)
        Third and Fourth Ventricles (14,15)
        Inf Lateral Vent (5,44)
        Cerebral White Matter (2,41)
        Cerebral Cortex (3,42)
        Accumbens Area (26,58)

OPTIONAL ARGUMENTS:

    -o, --out
        Save detailed overlap report to a JSON file.

    -m, --measures        
        List of measures to compute. By default, only dice scores
        are computed. Options include: dice, jaccard, voldiff

    -l, --labels
        Space-separated list of labels to use. By default, the overlap
        will be computed between all labels available in both input volumes.

    -f, --labelfile
        File with space-separated list of labels to use.

    -s, --seg
        Compute overlap between the major segmentation structures listed above.

The proposed JSON output would look something like this:

{
    "names": {
        "1": "structure 1",
        "2": "structure 2"
        ...
    },
    "inputs": [
        "/path/to/manual_label.mgz",
        "/other/path/to/aseg.mgz"
    ],
    "measures": {
        "dice": {
            "mean": 0.9142,
            "std": 0.0232,
            "labels": {
                "2": 0.9143,
                "3": 0.8739,
                "4": 0.9002,
                ...
            }
        },
        "jaccard": {
            "mean": 0.8902,
            "std": 0.0144,
            "labels": {
                "2": 0.8921,
                ...
            }
        },
        "voldiff": {
            "mean": 0.0221,
            "std": 0.0032,
            "labels": {
                "2": 0.0123,
                ...
            }
        }
    }
}