private static TissuAnnotaionEnum ComputeClass(TissueAnnotationClass tissueAnnotation, Classifier classifier, Instances dataSet)
        {
            if (tissueAnnotation == null)
            {
                return(TissuAnnotaionEnum.NoTissue);
            }
            else
            {
                switch (ClassifierExtensions.Classify(classifier, dataSet,
                                                      tissueAnnotation.GetFeatures()))
                {
                case "Fettgewebe": return(TissuAnnotaionEnum.Fettgewebe);

                case "Tumor": return(TissuAnnotaionEnum.Tumor);

                case "Entzündung": return(TissuAnnotaionEnum.Entzuendung);

                case "Gefäß": return(TissuAnnotaionEnum.Gefaess);

                case "Mikrokalk": return(TissuAnnotaionEnum.Mikrokalk);

                case "Nerv": return(TissuAnnotaionEnum.Nerv);

                case "Stroma": return(TissuAnnotaionEnum.Stroma);

                case "DCIC": return(TissuAnnotaionEnum.DCIC);

                case "Kalk": return(TissuAnnotaionEnum.Kalk);

                case "Normales Mammaepithel": return(TissuAnnotaionEnum.NormalesMammaepithel);

                default: return(TissuAnnotaionEnum.UnknowClass);
                }
            }
        }
 private static TissueAnnotationClass ComputeFeatues(Bitmap image)
 {
     if (!ComputeImageFeatures.IsTissue(image))
     {
         return(null);
     }
     else
     {
         var tissueAnnotation = new TissueAnnotationClass();
         tissueAnnotation = tissueAnnotation.ComputeFeatureValues(image);
         return(tissueAnnotation);
     }
 }
        /// <summary>
        /// Nachbildung vom WEKA-Classifier JRip
        /// </summary>
        /// <param name="tissueAnnotation"></param>
        /// <returns></returns>
        public static TissuAnnotaionEnum ClassifyJRip(TissueAnnotationClass tissueAnnotation)
        {
            if (tissueAnnotation == null)
            {
                return(TissuAnnotaionEnum.NoTissue);
            }
            if (tissueAnnotation.Q25E >= 92 && tissueAnnotation.MeanH <= 16)
            {
                return(TissuAnnotaionEnum.Mikrokalk);
            }
            if (tissueAnnotation.Q75LuminaSize >= 98155 && tissueAnnotation.Q75LuminaSize <= 142864 && tissueAnnotation.MidCoresSize <= 412)
            {
                return(TissuAnnotaionEnum.Nerv);
            }
            if (tissueAnnotation.MidDensityLuminaCoresInNear <= 230 && tissueAnnotation.Q75LuminaSize >= 3000 && tissueAnnotation.Q25H <= 6 && tissueAnnotation.MeanH >= 18)
            {
                return(TissuAnnotaionEnum.NormalesMammaepithel);
            }
            if (tissueAnnotation.MidLuminaSize <= 706)
            {
                return(TissuAnnotaionEnum.Kalk);
            }
            if (tissueAnnotation.Q75E >= 145 && tissueAnnotation.Q25H <= 0)
            {
                return(TissuAnnotaionEnum.Kalk);
            }
            if (tissueAnnotation.MidLuminaSize >= 189386 && tissueAnnotation.MeanLuminaSize <= 944)
            {
                return(TissuAnnotaionEnum.Stroma);
            }
            if (tissueAnnotation.Q75E <= 88 && tissueAnnotation.MeanH >= 10 && tissueAnnotation.MidLuminaSize >= 5930 && tissueAnnotation.Q25E >= 27)
            {
                return(TissuAnnotaionEnum.Stroma);
            }
            if (tissueAnnotation.MidCoresSize <= 383 && tissueAnnotation.Q25E >= 11 && tissueAnnotation.Q25DensityLuminaCoresInNear >= 124)
            {
                return(TissuAnnotaionEnum.Gefaess);
            }
            if (tissueAnnotation.MeanE <= 24)
            {
                return(TissuAnnotaionEnum.Fettgewebe);
            }
            if (tissueAnnotation.CountCores >= 8564 && tissueAnnotation.Q25E <= 11)
            {
                return(TissuAnnotaionEnum.Fettgewebe);
            }

            return(TissuAnnotaionEnum.Tumor);
        }
        /// <summary>
        /// Nachbildung von WEKA-Classifier J48
        /// </summary>
        /// <param name="tissueAnnotation"></param>
        /// <returns></returns>
        public static TissuAnnotaionEnum ClassifyJ48(TissueAnnotationClass tissueAnnotation)
        {
            if (tissueAnnotation == null)
            {
                return(TissuAnnotaionEnum.NoTissue);
            }

            if (tissueAnnotation.MeanE <= 26)
            {
                if (tissueAnnotation.Q25E <= 11)
                {
                    return(TissuAnnotaionEnum.Fettgewebe);
                }
                else
                {
                    return(TissuAnnotaionEnum.Stroma);
                }
            }
            else
            {
                if (tissueAnnotation.Q75LuminaSize <= 706)
                {
                    if (tissueAnnotation.Q75H <= 44)
                    {
                        return(TissuAnnotaionEnum.Mikrokalk);
                    }
                    else
                    {
                        return(TissuAnnotaionEnum.Kalk);
                    }
                }
                else
                {
                    if (tissueAnnotation.MidCoresSize <= 383)
                    {
                        if (tissueAnnotation.MidDensityFormFactorLuminaCoresInNear <= 304004)
                        {
                            if (tissueAnnotation.Q25FormFactorCores <= 0)
                            {
                                return(TissuAnnotaionEnum.Tumor);
                            }
                            else
                            {
                                if (tissueAnnotation.Q25H <= 7)
                                {
                                    if (tissueAnnotation.Q75DensityFormFactorLuminaCoresInNear <= 24175)
                                    {
                                        if (tissueAnnotation.MidLuminaSize <= 3029)
                                        {
                                            return(TissuAnnotaionEnum.Gefaess);
                                        }
                                        else
                                        {
                                            return(TissuAnnotaionEnum.NormalesMammaepithel);
                                        }
                                    }
                                    else
                                    {
                                        if (tissueAnnotation.CountCores <= 2397)
                                        {
                                            if (tissueAnnotation.MeanCoresSize <= 280)
                                            {
                                                return(TissuAnnotaionEnum.Gefaess);
                                            }
                                            else
                                            {
                                                return(TissuAnnotaionEnum.Tumor);
                                            }
                                        }
                                        else
                                        {
                                            if (tissueAnnotation.MidFormFactorCores <= 21)
                                            {
                                                if (tissueAnnotation.CountLumina <= 39368)
                                                {
                                                    return(TissuAnnotaionEnum.Gefaess);
                                                }
                                                else
                                                {
                                                    return(TissuAnnotaionEnum.Nerv);
                                                }
                                            }
                                            else
                                            {
                                                return(TissuAnnotaionEnum.Gefaess);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    return(TissuAnnotaionEnum.Tumor);
                                }
                            }
                        }
                        else
                        {
                            if (tissueAnnotation.CountCores <= 17910)
                            {
                                if (tissueAnnotation.Q25E <= 28)
                                {
                                    return(TissuAnnotaionEnum.Stroma);
                                }
                                else
                                {
                                    return(TissuAnnotaionEnum.Gefaess);
                                }
                            }
                            else
                            {
                                return(TissuAnnotaionEnum.Fettgewebe);
                            }
                        }
                    }
                    else
                    {
                        if (tissueAnnotation.Q75E <= 89)
                        {
                            if (tissueAnnotation.Q75LuminaSize <= 3126)
                            {
                                if (tissueAnnotation.Q25CoresSize <= 235)
                                {
                                    return(TissuAnnotaionEnum.Stroma);
                                }
                                else
                                {
                                    return(TissuAnnotaionEnum.Tumor);
                                }
                            }
                            else
                            {
                                if (tissueAnnotation.Q25H <= 1)
                                {
                                    if (tissueAnnotation.Q75E <= 52)
                                    {
                                        if (tissueAnnotation.CountCores <= 6595)
                                        {
                                            return(TissuAnnotaionEnum.Tumor);
                                        }
                                        else
                                        {
                                            return(TissuAnnotaionEnum.Stroma);
                                        }
                                    }
                                    else
                                    {
                                        if (tissueAnnotation.CountCores <= 2721)
                                        {
                                            if (tissueAnnotation.MidCoresSize <= 415)
                                            {
                                                return(TissuAnnotaionEnum.Nerv);
                                            }
                                            else
                                            {
                                                if (tissueAnnotation.Q75DensityFormFactorLuminaCoresInNear <= 51892)
                                                {
                                                    return(TissuAnnotaionEnum.Gefaess);
                                                }
                                                else
                                                {
                                                    return(TissuAnnotaionEnum.Tumor);
                                                }
                                            }
                                        }
                                        else
                                        {
                                            if (tissueAnnotation.Q25E <= 17)
                                            {
                                                if (tissueAnnotation.Q75H <= 10)
                                                {
                                                    return(TissuAnnotaionEnum.Gefaess);
                                                }
                                                else
                                                {
                                                    return(TissuAnnotaionEnum.Tumor);
                                                }
                                            }
                                            else
                                            {
                                                return(TissuAnnotaionEnum.Tumor);
                                            }
                                        }
                                    }
                                }
                                else
                                {
                                    if (tissueAnnotation.Q25H <= 0)
                                    {
                                        return(TissuAnnotaionEnum.NormalesMammaepithel);
                                    }
                                    else
                                    {
                                        return(TissuAnnotaionEnum.Gefaess);
                                    }
                                }
                            }
                        }
                        else
                        {
                            if (tissueAnnotation.MeanDensityLuminaCoresInNear <= 148)
                            {
                                if (tissueAnnotation.MidFormFactorLuminaWithSize <= 20)
                                {
                                    if (tissueAnnotation.MeanFormFactorLuminaWithSize <= 9)
                                    {
                                        if (tissueAnnotation.MeanH <= 23)
                                        {
                                            if (tissueAnnotation.MidDensityLuminaCoresInNear <= 202)
                                            {
                                                return(TissuAnnotaionEnum.Stroma);
                                            }
                                            else
                                            {
                                                return(TissuAnnotaionEnum.Tumor);
                                            }
                                        }
                                        else
                                        {
                                            return(TissuAnnotaionEnum.Tumor);
                                        }
                                    }
                                    else
                                    {
                                        if (tissueAnnotation.Q75FormFactorCores <= 23)
                                        {
                                            return(TissuAnnotaionEnum.NormalesMammaepithel);
                                        }
                                        else
                                        {
                                            return(TissuAnnotaionEnum.Tumor);
                                        }
                                    }
                                }
                                else
                                {
                                    if (tissueAnnotation.Q75E <= 97)
                                    {
                                        return(TissuAnnotaionEnum.Tumor);
                                    }
                                    else
                                    {
                                        if (tissueAnnotation.CountCores <= 2010)
                                        {
                                            return(TissuAnnotaionEnum.NormalesMammaepithel);
                                        }
                                        else
                                        {
                                            return(TissuAnnotaionEnum.DCIC);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                return(TissuAnnotaionEnum.Tumor);
                            }
                        }
                    }
                }
            }
        }