public static PhotoSketchFeatureExtractor Default(FaceComponentsExtractor componentExtractor, Dictionary <FaceComponent, BlockExtraction> blockParams)
        {
            var lbp        = CircularMultiscaleLBP.CreateUniform(1, 3, 5, 7);
            var extractors = new Dictionary <FaceComponent, MLBPFeatureExtractor>()
            {
                { FaceComponent.HAIR, new MLBPFeatureExtractor(lbp, blockParams[FaceComponent.HAIR]) },
                { FaceComponent.EYEBROWS, new MLBPFeatureExtractor(lbp, blockParams[FaceComponent.EYEBROWS]) },
                { FaceComponent.EYES, new MLBPFeatureExtractor(lbp, blockParams[FaceComponent.EYES]) },
                { FaceComponent.NOSE, new MLBPFeatureExtractor(lbp, blockParams[FaceComponent.NOSE]) },
                { FaceComponent.MOUTH, new MLBPFeatureExtractor(lbp, blockParams[FaceComponent.MOUTH]) }
            };

            return(new PhotoSketchFeatureExtractor(componentExtractor, extractors));
        }
 public PhotoSketchFeatureExtractor(FaceComponentsExtractor componentExtractor, Dictionary <FaceComponent, MLBPFeatureExtractor> featureExtractors)
 {
     this.componentExtractor = componentExtractor;
     this.featureExtractors  = featureExtractors;
 }