Esempio n. 1
0
        public override bool Equals(object obj)
        {
            Model test = obj as Model;

            if (test == null)
            {
                return(false);
            }

            bool same = ClassLabels.IsEqual(test.ClassLabels);

            same = same && NumberOfClasses == test.NumberOfClasses;
            same = same && NumberOfSVPerClass.IsEqual(test.NumberOfSVPerClass);
            if (PairwiseProbabilityA != null)
            {
                same = same && PairwiseProbabilityA.IsEqual(test.PairwiseProbabilityA);
            }
            if (PairwiseProbabilityB != null)
            {
                same = same && PairwiseProbabilityB.IsEqual(test.PairwiseProbabilityB);
            }
            same = same && Parameter.Equals(test.Parameter);
            same = same && Rho.IsEqual(test.Rho);
            same = same && SupportVectorCoefficients.IsEqual(test.SupportVectorCoefficients);
            same = same && SupportVectorCount == test.SupportVectorCount;
            same = same && SupportVectors.IsEqual(test.SupportVectors);
            return(same);
        }
Esempio n. 2
0
 public override int GetHashCode()
 {
     return(ClassLabels.ComputeHashcode() +
            NumberOfClasses.GetHashCode() +
            NumberOfSVPerClass.ComputeHashcode() +
            PairwiseProbabilityA.ComputeHashcode() +
            PairwiseProbabilityB.ComputeHashcode() +
            Parameter.GetHashCode() +
            Rho.ComputeHashcode() +
            SupportVectorCoefficients.ComputeHashcode() +
            SupportVectorCount.GetHashCode() +
            SupportVectors.ComputeHashcode());
 }
Esempio n. 3
0
        public void DatabaseCleanup()
        {
            foreach (var context in ImageContext)
            {
                ImageContext.Remove(context);
            }

            foreach (var label in ClassLabels)
            {
                ClassLabels.Remove(label);
            }

            foreach (var information in ImagesInformation)
            {
                ImagesInformation.Remove(information);
            }

            SaveChanges();
        }
Esempio n. 4
0
        public void DatabaseAdding(ObjectInImageProbability image)
        {
            ImageInformation AddedImage = new ImageInformation
            {
                Path         = image.Path,
                ImageContext = new Blob()
                {
                    ImageContext = File.ReadAllBytes(image.Path)
                },
                Probability = image.Probability
            };

            var query = ClassLabels.Include(item => item.ImagesInformation).Where(item => item.StringClassLabel == image.ClassLabel);

            if (query.Count() == 0)
            {
                AddedImage.ClassLabel = new ClassLabel()
                {
                    StringClassLabel       = image.ClassLabel,
                    ClassLabelImagesNumber = 1
                };
                AddedImage.ClassLabel.ImagesInformation = new List <ImageInformation>
                {
                    AddedImage
                };
                ImagesInformation.Add(AddedImage);
                ClassLabels.Add(AddedImage.ClassLabel);
                ImageContext.Add(AddedImage.ImageContext);
            }
            else
            {
                AddedImage.ClassLabel = query.First();
                AddedImage.ClassLabel.ImagesInformation.Add(AddedImage);
                AddedImage.ClassLabel.ClassLabelImagesNumber++;
                ImagesInformation.Add(AddedImage);
                ImageContext.Add(AddedImage.ImageContext);
            }
            SaveChanges();
        }