public class WarpingError extends Metrics
@article{Jain10, author = {V. Jain, B. Bollmann, M. Richardson, D.R. Berger, M.N. Helmstaedter, K.L. Briggman, W. Denk, J.B. Bowden, J.M. Mendenhall, W.C. Abraham, K.M. Harris, N. Kasthuri, K.J. Hayworth, R. Schalek, J.C. Tapia, J.W. Lichtman, S.H. Seung}, title = {Boundary Learning by Optimization with Topological Constraints}, booktitle = {2010 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)}, year = {2010}, series = {IEEE Conference on Computer Vision and Pattern Recognition}, pages = {2488-2495}, doi = {10.1109/CVPR.2010.5539950) }
Modifier and Type | Field and Description |
---|---|
static int |
DEFAULT_FLAGS
default flags
|
static int |
HOLE_ADDITION
hole addition error flag
|
static int |
HOLE_DELETION
hole deletion error flag
|
static int |
MERGE
merger flag
|
static int |
OBJECT_ADDITION
object addition error flag
|
static int |
OBJECT_DELETION
object deletion error flag
|
static double |
SIMPLE_POINT_THRESHOLD
simple point threshold value
|
static int |
SPLIT
split flag
|
originalLabels, proposedLabels, verbose
Constructor and Description |
---|
WarpingError(ij.ImagePlus originalLabels,
ij.ImagePlus proposedLabels)
Initialize warping error metric
|
WarpingError(ij.ImagePlus originalLabels,
ij.ImagePlus proposedLabels,
ij.ImagePlus mask)
Initialize warping error metric
|
WarpingError(ij.ImagePlus originalLabels,
ij.ImagePlus proposedLabels,
ij.ImagePlus mask,
int flags)
Initialize warping error metric
|
Modifier and Type | Method and Description |
---|---|
int[] |
classifyMismatches2d(ij.ImagePlus warpedLabels,
ArrayList<Point3f> mismatches,
double falsePositives,
double falseNegatives,
int flags)
Classify warping mismatches as MERGE, SPLIT, HOLE_ADDITION,
HOLE_DELETION, OBJECT_ADDITION, OBJECT_DELETION and count
the number of false positives and false negatives
|
int[] |
classifyMismatches2d(ij.ImagePlus warpedLabels,
ArrayList<Point3f> mismatches,
int radius)
Classify warping mismatches as MERGE, SPLIT, HOLE_ADDITION, HOLE_DELETION, OBJECT_ADDITION, OBJECT_DELETION
|
ClusteredWarpingMismatches |
clusterMismatchesByError(ij.ImagePlus warpedLabels,
ArrayList<Point3f> mismatches,
int[] mismatchClassification)
Cluster the result mismatches from the warping so pixels
belonging to the same error are only counted once.
|
ClusteredWarpingMismatches |
clusterMismatchesByType(int[] mismatchClassification)
Cluster the result mismatches from the warping
by types of errors.
|
ClusteredWarpingMismatches[] |
getClusteredWarpingMismatches(ij.ImagePlus source,
ij.ImagePlus target,
ij.ImagePlus mask,
double binaryThreshold,
boolean clusterByError,
int radius)
Get all the mismatches of warping a source image into a target image
and clustering them when they belong to the same error.
|
Callable<ClusteredWarpingMismatches> |
getClusteredWarpingMismatchesConcurrent(ij.process.ImageProcessor source,
ij.process.ImageProcessor target,
ij.process.ImageProcessor mask,
double binaryThreshold,
boolean clusterByError,
int radius)
Calculate the simple point warping in a concurrent way
(to be submitted to an Executor Service)
|
double |
getDualPixelErrorMaximalFScore(double minThreshold,
double maxThreshold,
double stepThreshold)
Get the best F-score of the pixel error between proposed and original labels
(and all the way around) over a set of thresholds
|
ArrayList<ClassificationStatistics> |
getDualPrecisionRecallStats(double minThreshold,
double maxThreshold,
double stepThreshold)
Calculate the precision-recall values based on pixel error between
some warped 2D original labels and the corresponding proposed labels
in both directions (from original labels to proposal and reversely).
|
double |
getMetricValue(double binaryThreshold)
Calculate the classic topology-preserving warping error \cite{Jain10}
in 2D between some original labels and the corresponding proposed labels.
|
double |
getMetricValue(double binaryThreshold,
boolean clusterByError)
Calculate the topology-preserving warping error in 2D between some
original labels and the corresponding proposed labels.
|
double |
getMetricValue(double binaryThreshold,
boolean clusterByError,
int radius)
Calculate the topology-preserving warping error in 2D between some
original labels and the corresponding proposed labels.
|
double |
getMinimumSplitsAndMergersErrorValue(double minThreshold,
double maxThreshold,
double stepThreshold,
boolean clusterByError)
Calculate error with the minimum number of splits and mergers for different thresholds
|
double |
getMinimumSplitsAndMergersErrorValue(double minThreshold,
double maxThreshold,
double stepThreshold,
boolean clusterByError,
int radius)
Calculate error with the minimum number of splits and mergers for different thresholds
|
ij.ImagePlus |
getMismatchImage(WarpingResults wr,
int radius)
Get the image with the classified mismatches
|
ij.ImagePlus |
getMismatchImage(WarpingResults wr,
int[] mismatchesLabels,
int flags)
Get the image with the classified mismatches
|
ij.ImagePlus |
getMismatchImage(WarpingResults wr,
int radius,
int flags)
Get the image with the classified mismatches
|
ArrayList<Integer> |
getNeighborhood(ij.process.ImageProcessor image,
Point p,
int x_offset,
int y_offset)
Get neighborhood of a pixel in a 2D image
|
double |
getPixelErrorMaximalFScore(double minThreshold,
double maxThreshold,
double stepThreshold)
Get the best F-score of the pixel error between proposed and original labels
over a set of thresholds
|
ArrayList<ClassificationStatistics> |
getPrecisionRecallStats(double minThreshold,
double maxThreshold,
double stepThreshold)
Calculate the precision-recall values based on pixel error between
some warped 2D original labels and the corresponding proposed labels.
|
ArrayList<ClassificationStatistics> |
getPrecisionRecallStatsSplitsAndMergers(double minThreshold,
double maxThreshold,
double stepThreshold,
int radius,
boolean bordersArePositive,
boolean visualize)
Calculate the precision-recall values based on pixel error between
some warped 2D original labels and the corresponding proposed labels
(taking into account only the split and merger pixels).
|
ClassificationStatistics[] |
getPrecisionRecallStatsSplitsAndMergersPerSlice(double th,
int radius,
boolean bordersArePositive)
Calculate the precision-recall values based on pixel error between
some warped 2D original labels and the corresponding proposed labels
(taking into account only the split and merger pixels).
|
double |
getRandIndexMaximalFScore(double minThreshold,
double maxThreshold,
double stepThreshold)
Get the best F-score of the Rand index based on Rand index between
some warped 2D original labels and the corresponding proposed labels.
|
ArrayList<ClassificationStatistics> |
getRandIndexStats(double minThreshold,
double maxThreshold,
double stepThreshold)
Calculate the precision-recall values based on Rand index between
some warped 2D original labels and the corresponding proposed labels.
|
ArrayList<int[]> |
getSplitsAndMergers(double minThreshold,
double maxThreshold,
double stepThreshold,
boolean clusterByError)
Calculate the number of splits and mergers for different thresholds
|
ArrayList<int[]> |
getSplitsAndMergers(double minThreshold,
double maxThreshold,
double stepThreshold,
boolean clusterByError,
int radius)
Calculate the number of splits and mergers for different thresholds
|
WarpingResults |
getWarpingResults(double binaryThreshold,
boolean clusterByError,
boolean calculateMismatchImage,
int radius)
Calculate warping error and return the related result images and values.
|
Callable<WarpingResults> |
getWarpingResultsConcurrent(ij.process.ImageProcessor source,
ij.process.ImageProcessor target,
ij.process.ImageProcessor mask,
double binaryThreshold,
boolean clusterByError,
int radius,
int flags,
boolean calculateMismatchImage)
Calculate the simple point warping in a concurrent way
(to be submitted to an Executor Service)
|
static void |
main(String[] args)
Main method for calcualte the warping error metrics
from the command line
|
boolean |
simple2D(ij.ImagePlus im,
int n)
Check if a point is simple (in 2D)
|
boolean |
simple2DBertrand(ij.ImagePlus im,
int n)
Check if a point is simple (in 2D) based on 3D code from Mark Richardson
inspired in the work of Bertrand et al.
|
ij.ImagePlus |
simplePointWarp2d(ij.ImagePlus source,
ij.ImagePlus target,
ij.ImagePlus mask,
double binaryThreshold)
Use simple point relaxation to warp 2D source into 2D target.
|
WarpingResults |
simplePointWarp2d(ij.process.ImageProcessor source,
ij.process.ImageProcessor target,
ij.process.ImageProcessor mask,
double binaryThreshold)
Use simple point relaxation to warp 2D source into 2D target.
|
Callable<WarpingResults> |
simplePointWarp2DConcurrent(ij.process.ImageProcessor source,
ij.process.ImageProcessor target,
ij.process.ImageProcessor mask,
double binaryThreshold)
Calculate the simple point warping in a concurrent way
(to be submitted to an Executor Service)
|
Callable<WarpingResults> |
simplePointWarp2DConcurrent(ij.process.ImageProcessor source,
ij.process.ImageProcessor target,
ij.process.ImageProcessor mask,
double binaryThreshold,
boolean calculateMismatchImage,
int radius)
Calculate the simple point warping in a concurrent way
(to be submitted to an Executor Service)
|
WarpingResults[] |
simplePointWarp2dMT(double binaryThreshold,
boolean clusterByError,
boolean calculateMismatchImage,
int radius)
Use simple point relaxation to warp 2D labels into the 2D proposal.
|
WarpingResults[] |
simplePointWarp2dMT(ij.ImagePlus source,
ij.ImagePlus target,
ij.ImagePlus mask,
double binaryThreshold)
Use simple point relaxation to warp 2D source into 2D target.
|
ij.ImagePlus |
simplePointWarp2dMT(ij.ImagePlus source,
ij.ImagePlus target,
ij.ImagePlus mask,
double binaryThreshold,
ArrayList<Point3f>[] mismatches)
Use simple point relaxation to warp 2D source into 2D target.
|
int |
topo(ij.ImagePlus im,
int adjacency)
Computes topological numbers for the central point of an image patch.
|
double |
warpingErrorSingleThread(ij.ImagePlus label,
ij.ImagePlus proposal,
ij.ImagePlus mask,
double binaryThreshold)
Calculate warping error (single thread version)
|
getMinimumMetricValue, setVerboseMode
public static final double SIMPLE_POINT_THRESHOLD
public static final int MERGE
public static final int SPLIT
public static final int HOLE_ADDITION
public static final int OBJECT_DELETION
public static final int OBJECT_ADDITION
public static final int HOLE_DELETION
public static final int DEFAULT_FLAGS
public WarpingError(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 WarpingError(ij.ImagePlus originalLabels, ij.ImagePlus proposedLabels, ij.ImagePlus mask)
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)mask
- image mask containing in white the areas where warping is allowed (null for not geometric constraints)public WarpingError(ij.ImagePlus originalLabels, ij.ImagePlus proposedLabels, ij.ImagePlus mask, int flags)
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)mask
- image mask containing in white the areas where warping is allowed (null for not geometric constraints)flags
- flags to select which error should be taken into account and which notpublic double getMetricValue(double binaryThreshold)
@article{Jain10, author = {V. Jain, B. Bollmann, M. Richardson, D.R. Berger, M.N. Helmstaedter, K.L. Briggman, W. Denk, J.B. Bowden, J.M. Mendenhall, W.C. Abraham, K.M. Harris, N. Kasthuri, K.J. Hayworth, R. Schalek, J.C. Tapia, J.W. Lichtman, S.H. Seung}, title = {Boundary Learning by Optimization with Topological Constraints}, booktitle = {2010 IEEE CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)}, year = {2010}, series = {IEEE Conference on Computer Vision and Pattern Recognition}, pages = {2488-2495}, doi = {10.1109/CVPR.2010.5539950) }
getMetricValue
in class Metrics
binaryThreshold
- threshold value to binarize proposal (larger than 0 and smaller than 1)public double getMetricValue(double binaryThreshold, boolean clusterByError)
binaryThreshold
- threshold value to binarize proposal (larger than 0 and smaller than 1)clusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typepublic double getMetricValue(double binaryThreshold, boolean clusterByError, int radius)
binaryThreshold
- threshold value to binarize proposal (larger than 0 and smaller than 1)clusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typeradius
- radius in pixels to use when classifying mismatchespublic ArrayList<int[]> getSplitsAndMergers(double minThreshold, double maxThreshold, double stepThreshold, boolean clusterByError)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typepublic ArrayList<int[]> getSplitsAndMergers(double minThreshold, double maxThreshold, double stepThreshold, boolean clusterByError, int radius)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typeradius
- radius in pixel to use when classifying mismatchespublic double getMinimumSplitsAndMergersErrorValue(double minThreshold, double maxThreshold, double stepThreshold, boolean clusterByError)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typepublic double getMinimumSplitsAndMergersErrorValue(double minThreshold, double maxThreshold, double stepThreshold, boolean clusterByError, int radius)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typeradius
- radius in pixel to use when classifying mismatchespublic double getPixelErrorMaximalFScore(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic ArrayList<ClassificationStatistics> getPrecisionRecallStats(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic ArrayList<ClassificationStatistics> getPrecisionRecallStatsSplitsAndMergers(double minThreshold, double maxThreshold, double stepThreshold, int radius, boolean bordersArePositive, boolean visualize)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationradius
- radius in pixels of the local area to look when deciding how to classify some mismatch cases (small radius speed up the method a lot, -1 to use whole imagebordersArePositive
- set to true if border pixels are positive samplesvisualize
- set to true to display imagespublic ClassificationStatistics[] getPrecisionRecallStatsSplitsAndMergersPerSlice(double th, int radius, boolean bordersArePositive)
th
- threshold value to binarize the input imagesradius
- radius in pixels of the local area to look when deciding how to classify some mismatch cases (small radius speed up the method a lot, -1 to use whole imagebordersArePositive
- set to true if border pixels are positive samplespublic double getDualPixelErrorMaximalFScore(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic ArrayList<ClassificationStatistics> getDualPrecisionRecallStats(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic ArrayList<ClassificationStatistics> getRandIndexStats(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic double getRandIndexMaximalFScore(double minThreshold, double maxThreshold, double stepThreshold)
minThreshold
- minimum threshold value to binarize the input imagesmaxThreshold
- maximum threshold value to binarize the input imagesstepThreshold
- threshold step value to use during binarizationpublic boolean simple2DBertrand(ij.ImagePlus im, int n)
@article{Bertrand94, author = {Bertrand, Gilles and Malandain, Gr\'{e}goire}, title = {A new characterization of three-dimensional simple points}, journal = {Pattern Recogn. Lett.}, volume = {15}, issue = {2}, month = {February}, year = {1994}, issn = {0167-8655}, pages = {169--175}, numpages = {7}, url = {http://dl.acm.org/citation.cfm?id=179348.179356}, doi = {10.1016/0167-8655(94)90046-9}, acmid = {179356}, publisher = {Elsevier Science Inc.}, address = {New York, NY, USA}, keywords = {digital topology, simple points, thinning algorithms, three dimensions}, }
im
- input patchn
- neighborspublic boolean simple2D(ij.ImagePlus im, int n)
im
- input patchn
- neighborspublic int topo(ij.ImagePlus im, int adjacency)
im
- input imageadjacency
- number of neighborspublic WarpingResults simplePointWarp2d(ij.process.ImageProcessor source, ij.process.ImageProcessor target, ij.process.ImageProcessor mask, double binaryThreshold)
source
- input 2D image to be relaxedtarget
- target 2D imagemask
- 2D image maskbinaryThreshold
- binarization thresholdpublic Callable<WarpingResults> simplePointWarp2DConcurrent(ij.process.ImageProcessor source, ij.process.ImageProcessor target, ij.process.ImageProcessor mask, double binaryThreshold)
source
- moving imagetarget
- fixed imagemask
- mask imagebinaryThreshold
- binary threshold to usepublic Callable<WarpingResults> simplePointWarp2DConcurrent(ij.process.ImageProcessor source, ij.process.ImageProcessor target, ij.process.ImageProcessor mask, double binaryThreshold, boolean calculateMismatchImage, int radius)
source
- moving imagetarget
- fixed imagemask
- mask imagebinaryThreshold
- binary threshold to useradius
- radius in pixels to use while classifying pixelspublic ij.ImagePlus getMismatchImage(WarpingResults wr, int radius)
wr
- warping resultsradius
- radius in pixels to use while classifying pixelspublic ij.ImagePlus getMismatchImage(WarpingResults wr, int radius, int flags)
wr
- warping resultsradius
- radius in pixels to use while classifying pixelspublic ij.ImagePlus getMismatchImage(WarpingResults wr, int[] mismatchesLabels, int flags)
wr
- warping resultsmismatchesLabels
- labels of the warping mismatchespublic ij.ImagePlus simplePointWarp2dMT(ij.ImagePlus source, ij.ImagePlus target, ij.ImagePlus mask, double binaryThreshold, ArrayList<Point3f>[] mismatches)
source
- input image to be relaxedtarget
- target imagemask
- image maskbinaryThreshold
- binarization thresholdmismatches
- list of points that could not be flippedpublic ij.ImagePlus simplePointWarp2d(ij.ImagePlus source, ij.ImagePlus target, ij.ImagePlus mask, double binaryThreshold)
source
- input image to be relaxedtarget
- target imagemask
- image maskbinaryThreshold
- binarization thresholdpublic WarpingResults[] simplePointWarp2dMT(ij.ImagePlus source, ij.ImagePlus target, ij.ImagePlus mask, double binaryThreshold)
source
- input image to be relaxed (2D image or stack)target
- target image (2D image or stack)mask
- image mask (2D image or stack)binaryThreshold
- binarization thresholdpublic WarpingResults[] simplePointWarp2dMT(double binaryThreshold, boolean clusterByError, boolean calculateMismatchImage, int radius)
binaryThreshold
- binarization thresholdclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typecalculateMismatchImage
- boolean flag to calculate mismatch imageradius
- radius in pixels to use while classifying mismatchespublic double warpingErrorSingleThread(ij.ImagePlus label, ij.ImagePlus proposal, ij.ImagePlus mask, double binaryThreshold)
label
- original labels (single image or stack)proposal
- proposed new labelsmask
- image maskbinaryThreshold
- binary threshold to binarize proposalpublic ClusteredWarpingMismatches[] getClusteredWarpingMismatches(ij.ImagePlus source, ij.ImagePlus target, ij.ImagePlus mask, double binaryThreshold, boolean clusterByError, int radius)
source
- input image to be relaxed (2D image or stack)target
- target image (2D image or stack)mask
- image mask (2D image or stack)binaryThreshold
- binarization thresholdclusterByError
- if false, cluster mismatches by type, otherwise cluster them by error and typeradius
- radius in pixels of the local area to look when deciding some cases (small radius speed up the method a lot, -1 to use whole image)public Callable<ClusteredWarpingMismatches> getClusteredWarpingMismatchesConcurrent(ij.process.ImageProcessor source, ij.process.ImageProcessor target, ij.process.ImageProcessor mask, double binaryThreshold, boolean clusterByError, int radius)
source
- moving imagetarget
- fixed imagemask
- mask imagebinaryThreshold
- binary threshold to useclusterByError
- boolean flag to use clustering by error or only by typeradius
- radius in pixels of the local area to look when deciding some cases (small radius speed up the method a lot, -1 to use whole image)public Callable<WarpingResults> getWarpingResultsConcurrent(ij.process.ImageProcessor source, ij.process.ImageProcessor target, ij.process.ImageProcessor mask, double binaryThreshold, boolean clusterByError, int radius, int flags, boolean calculateMismatchImage)
source
- moving imagetarget
- fixed imagemask
- mask imagebinaryThreshold
- binary threshold to useclusterByError
- boolean flag to use clustering by error or only by typeradius
- radius in pixels of the local area to look when deciding some cases (small radius speed up the method a lot, -1 to use whole image)flags
- flags indicating the type of errors to take into accountcalculateMismatchImage
- boolean flag to determine if the mismatches image should be calculatedpublic int[] classifyMismatches2d(ij.ImagePlus warpedLabels, ArrayList<Point3f> mismatches, int radius)
warpedLabels
- labels after warping (binary image)mismatches
- list of mismatch points after warpingradius
- radius in pixels of the local area to look when deciding some cases (small radius speed up the method a lot, -1 to use whole image)public int[] classifyMismatches2d(ij.ImagePlus warpedLabels, ArrayList<Point3f> mismatches, double falsePositives, double falseNegatives, int flags)
warpedLabels
- labels after warping (binary image)mismatches
- list of mismatch points after warpingfalsePositives
- (output) number of false positivesfalseNegatives
- (output) number of false negativesflags
- public ClusteredWarpingMismatches clusterMismatchesByError(ij.ImagePlus warpedLabels, ArrayList<Point3f> mismatches, int[] mismatchClassification)
warpedLabels
- result warped labelsmismatches
- list of non simple pointsmismatchClassification
- array of classified mismatchespublic ClusteredWarpingMismatches clusterMismatchesByType(int[] mismatchClassification)
mismatchClassification
- array of classified mismatchespublic ArrayList<Integer> getNeighborhood(ij.process.ImageProcessor image, Point p, int x_offset, int y_offset)
image
- 2D imagep
- point coordinatesx_offset
- x- neighborhood offsety_offset
- y- neighborhood offsetpublic static void main(String[] args)
args
- arguments to decide the actionpublic WarpingResults getWarpingResults(double binaryThreshold, boolean clusterByError, boolean calculateMismatchImage, int radius)
binaryThreshold
- threshold value to binarize proposal (larger than 0 and smaller than 1)clusterByError
- if false, cluster topology errors by type, otherwise cluster by type and mistakecalculateMismatchImage
- flag to calculate mismatch imageradius
- radius in pixels to use when classifiying mismatchesCopyright © 2015–2021 Fiji. All rights reserved.