public void TestWithAdequateMinutiaeSet() { int[,] mask = Segmentator.Segmetator(img, windowSize, weight, threshold); double[,] binaryImage = img; // //--------------------------------------- double sigma = 1.4d; double[,] smoothing = LocalBinarizationCanny.Smoothing(binaryImage, sigma); double[,] sobel = LocalBinarizationCanny.Sobel(smoothing); double[,] nonMax = LocalBinarizationCanny.NonMaximumSupperession(sobel); nonMax = GlobalBinarization.Binarization(nonMax, 60); nonMax = LocalBinarizationCanny.Inv(nonMax); int sizeWin = 16; binaryImage = LocalBinarizationCanny.LocalBinarization(binaryImage, nonMax, sizeWin, 1.3d); //--------------------------------------- binaryImage = Thining.ThinPicture(binaryImage); //--------------------------------------- List <Minutia> minutiae = MinutiaeDetection.FindMinutiae(binaryImage); for (int i = 0; i < minutiae.Count; i++) { if (mask[minutiae[i].Y, minutiae[i].X] == 0) { minutiae.Remove(minutiae[i]); i--; } } minutiae = MinutiaeDetection.FindBigMinutiae(minutiae); var response = MCC.MCCMethod(minutiae, img.GetLength(0), img.GetLength(1)); SaveResponse(response, minutiae); }
public override int GetHashCode() { int hash = 57; hash = 27 * hash * MCC.GetHashCode(); hash = 27 * hash * MNC.GetHashCode(); hash = 27 * hash * LAC.GetHashCode(); hash = 27 * hash * CID.GetHashCode(); return(hash); }
public JObject ToJSON() => JSONObject.Create(new JProperty("start", Start.ToIso8601()), End.HasValue ? new JProperty("end", End.Value.ToIso8601()) : null, MCC.IsNotNullOrEmpty() ? new JProperty("MCC", MCC) : null, MNC.IsNotNullOrEmpty() ? new JProperty("MNC", MNC) : null);
/// <summary> /// Compares two LastConnected objects for equality. /// </summary> /// <param name="LastConnected">An LastConnected object to compare with.</param> /// <returns>True if both match; False otherwise.</returns> public Boolean Equals(Last_Connected LastConnected) { if ((Object)LastConnected == null) { return(false); } return(Start.Equals(LastConnected.Start) && ((!End.HasValue && !LastConnected.End.HasValue) || (End.HasValue && LastConnected.End.HasValue && End.Value.Equals(LastConnected.End.Value))) && ((!MCC.IsNotNullOrEmpty() && !LastConnected.MCC.IsNotNullOrEmpty()) || (MCC.IsNotNullOrEmpty() && LastConnected.MCC.IsNotNullOrEmpty() && MCC.Equals(LastConnected.MCC))) && ((!MNC.IsNotNullOrEmpty() && !LastConnected.MNC.IsNotNullOrEmpty()) || (MNC.IsNotNullOrEmpty() && LastConnected.MNC.IsNotNullOrEmpty() && MNC.Equals(LastConnected.MNC)))); }
/// <summary> /// Get the hashcode of this object. /// </summary> public override Int32 GetHashCode() { unchecked { return(Start.GetHashCode() * 11 ^ (End.HasValue ? End.GetHashCode() : 0) * 7 ^ (MCC.IsNotNullOrEmpty() ? MCC.GetHashCode() : 0) * 5 ^ (MNC.IsNotNullOrEmpty() ? MNC.GetHashCode() : 0) * 3); } }
public void TestMcc() { int[,] maskOfSegmentation2D = Segmentator.Segmetator(img, windowSize, weight, threshold); var thining = Thining.ThinPicture(GlobalBinarization.Binarization(img, board)); List <Minutia> minutiaList = MinutiaeDetection.FindMinutiae(thining); List <Minutia> validMinutiae = new List <Minutia>(); foreach (Minutia minutia in minutiaList) { if (maskOfSegmentation2D[minutia.Y, minutia.X] == 1) // coordinates swap - ok { validMinutiae.Add(minutia); } } var response = MCC.MCCMethod(validMinutiae, thining.GetLength(0), thining.GetLength(1)); SaveResponse(response, validMinutiae); }
public void SimpleTestMcc() { List <Minutia> twoMinutiae = new List <Minutia>(); Minutia firstMinutia = new Minutia(); firstMinutia.X = 40; firstMinutia.Y = 60; firstMinutia.Angle = 0; twoMinutiae.Add(firstMinutia); Minutia secondMinutia = new Minutia(); secondMinutia.X = 70; secondMinutia.Y = 100; secondMinutia.Angle = Math.PI / 6; twoMinutiae.Add(secondMinutia); Dictionary <Minutia, Tuple <int[, , ], int[, , ]> > response = MCC.MCCMethod(twoMinutiae, 364, 256); SaveResponse(response, twoMinutiae); }
/// <summary> /// Compares two instances of this object. /// </summary> /// <param name="LastConnected">An LastConnected object object to compare with.</param> public Int32 CompareTo(Last_Connected LastConnected) { var result = Start.CompareTo(LastConnected.Start); if (result != 0) { return(result); } if (End.HasValue && LastConnected.End.HasValue) { result = DateTime.Compare(End.Value, LastConnected.End.Value); if (result != 0) { return(result); } } if (MCC.IsNotNullOrEmpty() && LastConnected.MCC.IsNotNullOrEmpty()) { result = String.Compare(MCC, LastConnected.MCC, StringComparison.OrdinalIgnoreCase); if (result != 0) { return(result); } } if (MNC.IsNotNullOrEmpty() && LastConnected.MNC.IsNotNullOrEmpty()) { result = String.Compare(MNC, LastConnected.MNC, StringComparison.OrdinalIgnoreCase); if (result != 0) { return(result); } } return(result); }
static void Main(string[] args) { // create crew members AstronautRepo a = new AstronautRepo(); Astronaut[] astronauts = a.CreateCrewMember(); String captain = a.GetCaptainName(); Console.WriteLine("Crew Members are ready"); Console.WriteLine("Captain is " + captain); Console.WriteLine("\n"); // create rockets RocketRepo.CreateRockets(); Console.WriteLine("Rockets created"); Console.WriteLine("\n"); // create mission and assign to captain MccController mcc = new MccController(); mcc.CreateMission(captain); Console.WriteLine("Mission Created"); Console.WriteLine("\n"); //test singleton MCC mcc1 = MCC.GetInstance(); MCC mcc2 = MCC.GetInstance(); if (mcc1 == mcc2) { Console.WriteLine("Singleton works, both variables contain the same instance."); } else { Console.WriteLine("Singleton failed, variables contain different instances."); } }
public void SimpleTestNumerationMcc() { List <Minutia> twoMinutiae = new List <Minutia>(); Minutia firstMinutia = new Minutia(); firstMinutia.X = 40; firstMinutia.Y = 60; firstMinutia.Angle = 0; twoMinutiae.Add(firstMinutia); Minutia secondMinutia = new Minutia(); secondMinutia.X = 70; secondMinutia.Y = 100; secondMinutia.Angle = Math.PI / 6; twoMinutiae.Add(secondMinutia); Dictionary <Minutia, Tuple <int[, , ], int[, , ]> > response = MCC.MCCMethod(twoMinutiae, 364, 256); for (int i = 0; i < response.Count; i++) { int[] valueN = Numeration.numerizationBlock(response[twoMinutiae[i]].Item1); int[] maskN = Numeration.numerizationBlock(response[twoMinutiae[i]].Item2); for (int j = 0; j < maskN.GetLength(0); j++) { //System.Console.Write(valueN[j] + " "); BitArray b = new BitArray(new int[] { maskN[j] }); bool[] bits = new bool[b.Count]; b.CopyTo(bits, 0); if (j % (maskN.Count() / 6) == 0) { // System.Console.Write(" j = " + j + "\n"); } for (int k = 0; k < bits.GetLength(0); k++) { System.Console.Write(bits[k]? 1 : 0); if (k == 15) { System.Console.Write(" i = " + i + "\n"); } } System.Console.Write(" j = " + j + "\n"); } System.Console.WriteLine(); System.Console.WriteLine(); for (int j = 0; j < valueN.GetLength(0); j++) { //System.Console.Write(valueN[j] + " "); BitArray b = new BitArray(new int[] { valueN[j] }); bool[] bits = new bool[b.Count]; b.CopyTo(bits, 0); if (j % (valueN.Count() / 6) == 0) { // System.Console.Write(" j = " + j + "\n"); } for (int k = 0; k < bits.GetLength(0); k++) { System.Console.Write(bits[k]? 1 : 0); if (k == 15) { System.Console.Write(" i = " + i + "\n"); } } System.Console.Write(" j = " + j + "\n"); } System.Console.WriteLine(); System.Console.WriteLine(); System.Console.WriteLine(); System.Console.WriteLine(); } }