public static <T extends ImageGray>
SquareBinary_to_FiducialDetector<T> squareBinary( ConfigFiducialBinary configFiducial,
ConfigThreshold configThreshold,
Class<T> imageType ) {
if( configThreshold == null ) {
configThreshold = ConfigThreshold.local(ThresholdType.LOCAL_SQUARE,10);
}
configFiducial.checkValidity();
configFiducial.squareDetector.clockwise = false;
final InputToBinary<T> binary = FactoryThresholdBinary.threshold(configThreshold, imageType);
final BinaryPolygonDetector<T> squareDetector = FactoryShapeDetector.
polygon(configFiducial.squareDetector,imageType);
final DetectFiducialSquareBinary<T> alg =
new DetectFiducialSquareBinary<>(configFiducial.gridWidth,
configFiducial.borderWidthFraction, configFiducial.minimumBlackBorderFraction,
binary, squareDetector, imageType);
alg.setAmbiguityThreshold(configFiducial.ambiguousThreshold);
return new SquareBinary_to_FiducialDetector<>(alg, configFiducial.targetWidth);
}