// Get Recipes
        public Data[] GetRecipes(ModelChoice model_choice, DataPurpose data_purpose)
        {
            MLContext mlContext = new MLContext();
            IDataView testData  = GetDataView(model_choice, mlContext, data_purpose);
            IDataView features  = GetDataView(model_choice, mlContext, DataPurpose.FEATURES);

            return(GetData(testData, features));
        }
        protected FeatureSet ExtractFeatures(Sample sample, DataPurpose purpose)
        {
            var extractor = new FeatureExtraction();
            var feedback  = CaptureFeedback.None;
            var features  = new FeatureSet();

            extractor.CreateFeatureSet(sample, purpose, ref feedback, ref features);

            return((feedback == CaptureFeedback.Good) ? features : null);
        }
Esempio n. 3
0
        protected FeatureSet ExtractFeatures(Sample Sample, DataPurpose Purpose)
        {
            FeatureExtraction Extractor = new FeatureExtraction();
            CaptureFeedback   feedback  = CaptureFeedback.None;
            FeatureSet        features  = new FeatureSet();

            Extractor.CreateFeatureSet(Sample, Purpose, ref feedback, ref features);
            if (feedback == CaptureFeedback.Good)
            {
                return(features);
            }

            return(null);
        }
        private string GetPrefix(DataPurpose dataPurpose)
        {
            switch (dataPurpose)
            {
            case DataPurpose.Test:
                return(testDataPrefix);

            case DataPurpose.Training:
                return(trainingDataPrefix);

            default:
                return(null);
            }
        }
        public IEnumerable <InputOutputPairModel> GetData(DataPurpose dataPurpose)
        {
            var prefix    = GetPrefix(dataPurpose);
            var imageData = ReadImageData($@"{mnistDataFolder}\{prefix}-images.dat");
            var labelData = ReadLabelData($@"{mnistDataFolder}\{prefix}-labels.dat");

            for (var i = 0; i < imageData.Length; i++)
            {
                yield return(new InputOutputPairModel
                {
                    Inputs = imageData[i].Select(NormalizeImageActivation).ToArray(),
                    Outputs = NormalizeLabelActivation(labelData[i])
                });
            }
        }
Esempio n. 6
0
        public static FeatureSet ExtractFeatures(Sample sample, DataPurpose datapurpose)
        {
            FeatureExtraction extractor = new FeatureExtraction();
            CaptureFeedback   feedback  = CaptureFeedback.None;
            FeatureSet        feature   = new FeatureSet();

            extractor.CreateFeatureSet(sample, datapurpose, ref feedback, ref feature);
            if (feedback == CaptureFeedback.Good)
            {
                return(feature);
            }
            else
            {
                return(null);
            }
        }
Esempio n. 7
0
        public DPFP.Template ConvertRawBmpAsTemplate(Bitmap RawBmp, DataPurpose ProcessPurpose = DataPurpose.Enrollment, short VertDpi = 700, short HorDpi = 700)
        {
            VariantConverter VConverter;

            Enroller = new DPFP.Processing.Enrollment();
            RawBmp   = EncodeBitmap(RawBmp, VertDpi, HorDpi);
            try
            {
                // converts raw image to dpSample using DFC 2.0---------------------------------------
                // encode the bmp variable using the bitmap Loader
                BitmapLoader BmpLoader = new BitmapLoader(RawBmp, (int)RawBmp.HorizontalResolution, (int)RawBmp.VerticalResolution);
                BmpLoader.ProcessBitmap();
                // return the required result
                inputData = BmpLoader.RawData;
                inpRaw    = BmpLoader.DPInputParam;
                // dispose the object
                BmpLoader.Dispose();

                // start the conversion process
                VConverter = new VariantConverter(VariantConverter.OutputType.dp_sample, DataType.RawSample, inpRaw, inputData, false);
                MemoryStream DStream = new MemoryStream(VConverter.Convert());
                DPsample = new DPFP.Sample(DStream);
                // DPsample = DirectCast(VConverter.Convert(), DPFP.Sample)

                // converts dpSample to DPFeatures using the OTW'''''''''''''''''''''''''''''''''''''''
                DPFeatures = ExtractFeatures(DPsample, ProcessPurpose);
                // convert DPfeatures to ISO FMD using the DFC 2.0'''''''''''''''''''''''''''''''''''''''
                byte[] SerializedFeatures = null;
                DPFeatures.Serialize(ref SerializedFeatures); // serialized features into the array of bytes
                ISOFMD = DigitalPersona.Standards.Converter.Convert(SerializedFeatures, DigitalPersona.Standards.DataType.DPFeatureSet, DataType.ISOFeatureSet);

                // convert ISO FMD to DPTemplate using DFC 2.0'''''''''''''''''''''''''''''''''''''''
                byte[] DPTemplateData = DigitalPersona.Standards.Converter.Convert(ISOFMD, DigitalPersona.Standards.DataType.ISOTemplate, DataType.DPTemplate);
                // deserialize data to Template
                DPTemplate = new DPFP.Template();
                DPTemplate.DeSerialize(DPTemplateData); // required for database purpose
                                                        // ============================================================================
                DStream.Close();
                return(DPTemplate);
            }
            catch (Exception ex)
            {
                return(null /* TODO Change to default(_) if this is not a reference type */);
            }
        }
 // Get DataView
 public IDataView GetDataView(ModelChoice choice, MLContext ml, DataPurpose purpose)
 {
     // get features
     if (purpose.Equals(DataPurpose.FEATURES))
     {
         return(LoadFeatures(Path.Combine(Environment.CurrentDirectory, "Data", FEATURES_DATA), ml));
     }
     // get NMF data (entries set aside for testing)
     else if (choice.Equals(ModelChoice.NMF))
     {
         // test data
         if (purpose.Equals(DataPurpose.TEST))
         {
             return(LoadData(Path.Combine(Environment.CurrentDirectory, "Data", NMF_TEST_DATA), ml));
         }
         // training data
         else
         {
             return(LoadData(Path.Combine(Environment.CurrentDirectory, "Data", NMF_TRAIN_DATA), ml));
         }
     }
     // get data (recipes set aside for testing)
     else
     {
         // test data
         if (purpose.Equals(DataPurpose.TEST))
         {
             return(LoadData(Path.Combine(Environment.CurrentDirectory, "Data", TEST_DATA), ml));
         }
         // training data
         else
         {
             return(LoadData(Path.Combine(Environment.CurrentDirectory, "Data", TRAIN_DATA), ml));
         }
     }
 }