示例#1
0
        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);
        }
示例#2
0
        /// <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);
        }