Learn R Programming

MeshAgreement (version 0.1.4)

get_mesh_agree_pair: Agreement measures for a single pair of 3D meshes

Description

Calculates distance-based as well as volume-overlap-based agreement measures for comparing a single pair of 3D meshes.

Usage

get_mesh_agree_pair(x, metro, ui, boov=FALSE, do_ui=FALSE, chop=TRUE, ...)

Value

data.frame with these variables

mesh_1

Name of the first mesh of the pair.

mesh_2

Name of the second mesh of the pair.

group

The grouping variable indicating which pairs belong to the same structure.

vol_1

Volume of the first mesh of the pair.

vol_2

Volume of the second mesh of the pair.

vol_u

Volume of the union.

vol_i

Volume of the intersection.

DCOM

Euclidean distance between the respective center of mass of both meshes.

HD_max

Hausdorff distance - worst case, maximum of both directed Hausdorff distances.

HD_avg

Hausdorff distance - average, mean of both directed Hausdorff distancess.

ASD

Average symmetric surface distance.

RMSD

Root mean squared symmetric surface distance.

JSC

Jaccard similarity coefficient.

DSC

Dice similarity coefficient.

Arguments

x

list of two 3D meshes that should be compared, e.g., a single component of the list generated by get_mesh_pairs.

metro

If already available, the distance-based measures as returned by get_mesh_metro_pair. Will be generated if missing.

ui

If already available, the mesh union and intersection as returned by get_mesh_ui_pair. Will be generated if missing.

boov

logical. Use package MeshesUnion / MeshesIntersection instead of the corresponding cgalMesh methods for calculating union/intersection volumes. Depending on the meshes, this may have better performance.

do_ui

logical. Calculate volume-overlap-based measures from union/intersection volumes. More time intensive than distance-based measures.

chop

logical. Delete the components from output of vcgMetro that will not be used later on.

...

Options passed to vcgMetro.

Details

Currently, no mesh can be designated gold standard. get_mesh_agree calculates the agreement for a list of observer/mesh objects. get_mesh_metro_pair calculates the pairwise distances. get_mesh_ui_pair calculates the mesh union and intersection. For boov=TRUE, package Boov has to be installed separately.

References

Fotina et al. Critical discussion of evaluation parameters for inter-observer variability in target definition for radiation therapy. Strahlenther Onkol 2012; 188: 160-167.

Hanna et al. Geometrical Analysis of Radiotherapy Target Volume Delineation: a Systematic Review of Reported Comparison Methods. Clin Oncol 2010; 22, 515-525.

Heimann et al. Comparison and Evaluation of Methods for Liver Segmentation From CT Datasets. IEEE Trans Med Imaging 2009; 28: 1251-1265.

Sherer et al. Metrics to evaluate the performance of auto-segmentation for radiation treatment planning: A critical review. Radiother Oncol 2021; 160: 185-191.

https://www.cgal.org/

http://vcg.isti.cnr.it/vcglib/

See Also

get_mesh_pairs, get_mesh_metro_pair, get_mesh_ui_pair

Examples

Run this code
heartL <- mesh3dL_to_cgalMeshL(data_heart_obsL)
pairL  <- get_mesh_pairs(heartL)
get_mesh_agree_pair(pairL[[1]], do_ui=FALSE,
                    nSamples=500L, silent=TRUE)

Run the code above in your browser using DataLab