private static IRecognitionStep getStep(string name) { Console.WriteLine("Loading stage: " + name); switch (name) { case "cls": return(RecognitionPipeline.createDefaultClassifier()); case "grp": return(RecognitionPipeline.createDefaultGrouper()); case "rec": return(RecognitionPipeline.createDefaultRecognizer()); case "con": return(RecognitionPipeline.createDefaultConnector()); case "ref": return(RecognitionPipeline.createDefaultRefiner()); case "ref_ctx": return(new ContextRefiner(ContextDomain.CircuitDomain.GetInstance(), RecognitionPipeline.createDefaultRecognizer())); case "ref_cctx": return(new CarefulContextRefiner(ContextDomain.CircuitDomain.GetInstance(), RecognitionPipeline.createDefaultRecognizer())); case "ref_steal": return(new StrokeStealRefiner(RecognitionPipeline.createDefaultRecognizer(), RecognitionPipeline.createDefaultConnector())); case "ref_shed": return(new StrokeShedRefiner(RecognitionPipeline.createDefaultRecognizer(), RecognitionPipeline.createDefaultConnector())); case "ref_search": var producer = new CircuitSketchModificationProducer( RecognitionPipeline.createDefaultClassifier(), RecognitionPipeline.createDefaultGateRecognizer(), RecognitionPipeline.createDefaultConnector()); return(new SearchRefiner(producer)); } TestRig.ExitWithError("No step exists called '" + name + "'! Valid steps are: cls, grp, rec, con, ref, ref_ctx, ref_cctx, ref_steal, ref_shed, ref_search"); return(null); }
/// <summary> /// Initializes the pipeline after arguments have been processed. /// </summary> public override void start() { //_recognizer = Recognizers.AdaptiveImageRecognizer.Load("SubRecognizers\\ImageRecognizer\\AdaptiveImage.air"); _recognizer = RecognitionPipeline.createDefaultRecognizer(); if (_isPure) { Console.WriteLine("Symbol recognition test will be pure"); } else { Console.WriteLine("Symbol recognition test will be impure"); _pipeline.addStep(RecognitionPipeline.createDefaultClassifier()); _pipeline.addStep(RecognitionPipeline.createDefaultGrouper()); } _pipeline.addStep(_recognizer); if (_useRefinement) { Console.WriteLine("Symbol recognition test will use the refiner"); Connector connector = RecognitionPipeline.createDefaultConnector(); RecognitionInterfaces.IRecognitionStep refiner = RecognitionPipeline.createDefaultRefiner(connector, _recognizer); _pipeline.addStep(connector); _pipeline.addStep(refiner); } else { Console.WriteLine("Symbol recognition test will NOT use the refiner"); } if (_useLearning) { Console.WriteLine("Symbol recognition test will train the recognizer as it runs"); } else { Console.WriteLine("Symbol recognition test will NOT train the recognizer as it runs"); } }
private static IRecognitionStep getStep(string name) { Console.WriteLine("Loading stage: " + name); switch (name) { case "cls": return(RecognitionPipeline.createDefaultClassifier()); case "grp": return(RecognitionPipeline.createDefaultGrouper()); case "rec": return(RecognitionPipeline.createDefaultRecognizer()); case "con": return(RecognitionPipeline.createDefaultConnector()); case "ref": return(RecognitionPipeline.createDefaultRefiner(RecognitionPipeline.createDefaultConnector(), RecognitionPipeline.createDefaultRecognizer())); case "ref_ctx": return(new ContextRefiner(ContextDomain.CircuitDomain.GetInstance(), RecognitionPipeline.createDefaultRecognizer())); case "ref_cctx": return(new CarefulContextRefiner(ContextDomain.CircuitDomain.GetInstance(), RecognitionPipeline.createDefaultRecognizer())); case "ref_search": return(new SearchRefiner(ContextDomain.CircuitDomain.GetInstance())); } return(null); }