public class AdjustedRandError extends Metrics
@article{Hubert85, author = {Lawrence Hubert and Phipps Arabie}, title = {Comparing partitions}, journal = {Journal of Classification}, year = {1985}, volume = {2}, issue = {1}, pages = {193-218}, doi = {10.1007/BF01908075) }
originalLabels, proposedLabels, verbose
Constructor and Description |
---|
AdjustedRandError(ij.ImagePlus originalLabels,
ij.ImagePlus proposedLabels)
Initialize adjusted Rand error metric.
|
Modifier and Type | Method and Description |
---|---|
static double |
adjustedRandError(ij.process.ImageProcessor label,
ij.process.ImageProcessor proposal,
double binaryThreshold)
Calculate the adjusted Rand error between some 2D original labels
and the corresponding proposed labels.
|
static double |
adjustedRandIndex(ij.process.ShortProcessor cluster1,
ij.process.ShortProcessor cluster2)
Calculate the adjusted Rand index between to clusters, as described by
Lawrence Hubert and Phipps Arabie \cite{Rand71}.
|
Callable<Double> |
getAdjustedRandErrorConcurrent(ij.process.ImageProcessor image1,
ij.process.ImageProcessor image2,
double binaryThreshold)
Get adjusted Rand error between two images in a concurrent way
(to be submitted to an Executor Service).
|
double |
getMetricValue(double binaryThreshold)
Calculate the Rand error in 2D between some original labels
and the corresponding proposed labels.
|
getMinimumMetricValue, setVerboseMode
public AdjustedRandError(ij.ImagePlus originalLabels, ij.ImagePlus proposedLabels)
originalLabels
- original labels (single 2D image or stack)proposedLabels
- proposed new labels (single 2D image or stack of the same as as the original labels)public double getMetricValue(double binaryThreshold)
@article{Rand71, author = {William M. Rand}, title = {Objective criteria for the evaluation of clustering methods}, journal = {Journal of the American Statistical Association}, year = {1971}, volume = {66}, number = {336}, pages = {846--850}, doi = {10.2307/2284239) }
getMetricValue
in class Metrics
binaryThreshold
- threshold value to binarize proposal (larger than 0 and smaller than 1)public static double adjustedRandError(ij.process.ImageProcessor label, ij.process.ImageProcessor proposal, double binaryThreshold)
@article{Hubert85, author = {Lawrence Hubert and Phipps Arabie}, title = {Comparing partitions}, journal = {Journal of Classification}, year = {1985}, volume = {2}, issue = {1}, pages = {193-218}, doi = {10.1007/BF01908075) }
label
- 2D image with the original labelsproposal
- 2D image with the proposed labelsbinaryThreshold
- threshold value to binarize the input imagespublic Callable<Double> getAdjustedRandErrorConcurrent(ij.process.ImageProcessor image1, ij.process.ImageProcessor image2, double binaryThreshold)
@article{Hubert85, author = {Lawrence Hubert and Phipps Arabie}, title = {Comparing partitions}, journal = {Journal of Classification}, year = {1985}, volume = {2}, issue = {1}, pages = {193-218}, doi = {10.1007/BF01908075) }
image1
- first imageimage2
- second imagebinaryThreshold
- threshold to apply to both imagespublic static double adjustedRandIndex(ij.process.ShortProcessor cluster1, ij.process.ShortProcessor cluster2)
@article{Hubert85, author = {Lawrence Hubert and Phipps Arabie}, title = {Comparing partitions}, journal = {Journal of Classification}, year = {1985}, volume = {2}, issue = {1}, pages = {193-218}, doi = {10.1007/BF01908075) }
cluster1
- 2D segmented image (objects are labeled with different numbers)cluster2
- 2D segmented image (objects are labeled with different numbers)Copyright © 2015–2021 Fiji. All rights reserved.