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); }
private static MusicalizationArgs _ReadSURFArguments() { MusicalizationArgs args = _ReadGeneralArguments(); System.Console.Write("SURFLog (Opcional): "); args.ModelLog = System.Console.ReadLine(); return(args); }
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); }
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); }
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); }