Example #1
0
        private static MusicalizationArgs _ReadArguments()
        {
            MusicalizationArgs args = new MusicalizationArgs();

            EModelType modelType = _ChooseModel();

            System.Console.Clear();

            switch (modelType)
            {
            case EModelType.KMeans:
                args = _ReadKMeansArguments();
                break;

            case EModelType.SURF:
                args = _ReadSURFArguments();
                break;

            default:
                break;
            }

            args.TargetType = modelType;

            return(args);
        }
Example #2
0
        private static MusicalizationArgs _ReadSURFArguments()
        {
            MusicalizationArgs args = _ReadGeneralArguments();

            System.Console.Write("SURFLog (Opcional): ");
            args.ModelLog = System.Console.ReadLine();

            return(args);
        }
Example #3
0
        private static MusicalizationArgs _ReadKMeansArguments()
        {
            MusicalizationArgs args = _ReadGeneralArguments();

            System.Console.Write("Quantidade de centros: ");
            int qtCenters;

            while (!int.TryParse(System.Console.ReadLine(), out qtCenters))
            {
                System.Console.Write("Quantidade de centros: ");
            }

            string x;
            string y;
            Point  coord;

            args.Centers = new List <Point>();
            for (int i = 0; i < qtCenters; i++)
            {
                System.Console.WriteLine("Centro " + i);
                x = string.Empty;
                y = string.Empty;
                while (!_PointTryParser(x, y, out coord))
                {
                    System.Console.Write("Coordenada X: ");
                    x = System.Console.ReadLine();

                    System.Console.Write("Coordenada Y: ");
                    y = System.Console.ReadLine();
                }
                args.Centers.Add(coord);
            }

            System.Console.Write("KMeansLog (Opcional): ");
            args.ModelLog = System.Console.ReadLine();

            System.Console.Write("KmeansStateLog (Opcional): ");
            args.StateLog = System.Console.ReadLine();

            System.Console.Write("SequenceLog (Opcional): ");
            args.SequenceLog = System.Console.ReadLine();

            string par      = "a";
            bool   parallel = true;

            while (par != string.Empty && !bool.TryParse(par, out parallel))
            {
                System.Console.Write("Paralelo (Opcional): ");
                par      = System.Console.ReadLine();
                parallel = par == string.Empty;
            }
            args.Parallel = parallel;

            return(args);
        }
Example #4
0
        private static MusicalizationArgs _ReadGeneralArguments()
        {
            MusicalizationArgs args = new MusicalizationArgs();

            System.Console.Write("Imagem: ");
            args.ImageFile = System.Console.ReadLine();

            System.Console.Write("Diretório do Log (Opcional): ");
            args.LogPath = System.Console.ReadLine();

            System.Console.Write("Número de notas (Opcional): ");
            int maxNotes;

            if (int.TryParse(System.Console.ReadLine(), out maxNotes))
            {
                args.MaxNotes = maxNotes;
            }

            return(args);
        }
Example #5
0
        public static MusicalizationArgs Parse(string[] args)
        {
            string[]           splitArgs;
            MusicalizationArgs argParser = new MusicalizationArgs();

            foreach (string arg in args)
            {
                splitArgs = arg.Split(SEP);

                switch (splitArgs[0].ToLowerInvariant())
                {
                case ArgumentParser.CENTERS:
                    argParser.Centers = ConvertStringToCenter(splitArgs[1]);
                    break;

                case ArgumentParser.IMAGEM:
                    argParser.ImageFile = splitArgs[1];
                    break;

                case ArgumentParser.MODEL_LOG:
                case ArgumentParser.SURF_LOG:
                case ArgumentParser.KMEANS_LOG:
                    argParser.ModelLog = splitArgs[1];
                    break;

                case ArgumentParser.STATE_LOG:
                case ArgumentParser.SURF_STATE_LOG:
                case ArgumentParser.KMEANS_STATE_LOG:
                    argParser.StateLog = splitArgs[1];
                    break;

                case ArgumentParser.LOG_PATH:
                    argParser.LogPath = splitArgs[1];
                    break;

                case ArgumentParser.SEQUENCE_LOG:
                    argParser.SequenceLog = splitArgs[1];
                    break;

                case ArgumentParser.PARALLEL:
                    argParser.Parallel = bool.Parse(splitArgs[1]);
                    break;

                case ArgumentParser.MAX_NOTES:
                    int maxNotes = 30;
                    argParser.MaxNotes = maxNotes;
                    if (int.TryParse(splitArgs[1], out maxNotes))
                    {
                        argParser.MaxNotes = maxNotes;
                    }
                    break;

                case ArgumentParser.TARGET:
                    argParser.TargetType = _ConvertToTargetType(splitArgs[1]);
                    break;

                default:
                    break;
                }
            }

            return(argParser);
        }