Example #1
0
        public Dictionary <int, Characteristic> ScreenTheColony(ScreenOpition screenOpition,
                                                                ScreenOpitionValue screenOpitionValue, Dictionary <int, Characteristic> characteristics)
        {
            Dictionary <int, Characteristic> _characteristic = characteristics;

            for (int i = 1; i <= _characteristic.Count(); i++)
            {
                characteristics[i].IsQualifiedColony = true;
            }

            if (screenOpition.IsUseAreaOpition == true)
            {
                _characteristic = AreaScreen(screenOpition, screenOpitionValue, _characteristic);
            }

            if (screenOpition.IsUseAxisOpition == true)
            {
                _characteristic = AxisScreen(screenOpition, screenOpitionValue, _characteristic);
            }

            if (screenOpition.IsUseColorOpition == true)
            {
                _characteristic = ColorScreen(screenOpition, screenOpitionValue, _characteristic);
            }

            if (screenOpition.IsUseRateOpition == true)
            {
                _characteristic = APRateScreen(screenOpition, screenOpitionValue, _characteristic);
            }

            return(_characteristic);
        }
Example #2
0
        private Dictionary <int, Characteristic> AreaScreen(ScreenOpition screenOpition,
                                                            ScreenOpitionValue screenOpitionValue, Dictionary <int, Characteristic> characteristics)
        {
            Dictionary <int, Characteristic> _characteristic = characteristics;

            if (screenOpition.hasAreaLowerLimit == true && screenOpition.hasAreaSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].Area >= screenOpitionValue.AreaLowerLimit &&
                        characteristics[i].Area <= screenOpitionValue.AreaSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasAreaLowerLimit != true && screenOpition.hasAreaSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].Area <= screenOpitionValue.AreaSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasAreaLowerLimit == true && screenOpition.hasAreaSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].Area >= screenOpitionValue.AreaLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasAreaLowerLimit != true && screenOpition.hasAreaSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }

            return(_characteristic);
        }
Example #3
0
        private Dictionary <int, Characteristic> ColorScreen(ScreenOpition screenOpition,
                                                             ScreenOpitionValue screenOpitionValue, Dictionary <int, Characteristic> characteristics)
        {
            Dictionary <int, Characteristic> _characteristic = characteristics;

            if (screenOpition.hasColorRedLowerLimit == true && screenOpition.hasColorRedSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.R >= screenOpitionValue.ColorRedLowerLimit &&
                        characteristics[i].CentreAcerageColor.R <= screenOpitionValue.ColorRedSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorRedLowerLimit != true && screenOpition.hasColorRedSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.R <= screenOpitionValue.ColorRedSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorRedLowerLimit == true && screenOpition.hasColorRedSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.R >= screenOpitionValue.ColorRedLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorRedLowerLimit != true && screenOpition.hasColorRedSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            if (screenOpition.hasColorGreenLowerLimit == true && screenOpition.hasColorGreenSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.G >= screenOpitionValue.ColorGreenLowerLimit &&
                        characteristics[i].CentreAcerageColor.G <= screenOpitionValue.ColorGreenSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorGreenLowerLimit != true && screenOpition.hasColorGreenSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.G <= screenOpitionValue.ColorGreenSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorGreenLowerLimit == true && screenOpition.hasColorGreenSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.G >= screenOpitionValue.ColorGreenLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorGreenLowerLimit != true && screenOpition.hasColorGreenSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            if (screenOpition.hasColorBlueLowerLimit == true && screenOpition.hasColorBlueSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.B >= screenOpitionValue.ColorBlueLowerLimit &&
                        characteristics[i].CentreAcerageColor.B <= screenOpitionValue.ColorBlueSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorBlueLowerLimit != true && screenOpition.hasColorBlueSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.B <= screenOpitionValue.ColorBlueSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorBlueLowerLimit == true && screenOpition.hasColorBlueSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].CentreAcerageColor.B >= screenOpitionValue.ColorBlueLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasColorBlueLowerLimit != true && screenOpition.hasColorBlueSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            return(_characteristic);
        }
Example #4
0
        private Dictionary <int, Characteristic> AxisScreen(ScreenOpition screenOpition,
                                                            ScreenOpitionValue screenOpitionValue, Dictionary <int, Characteristic> characteristics)
        {
            Dictionary <int, Characteristic> _characteristic = characteristics;

            if (screenOpition.hasMajorAxisLowerLimit == true && screenOpition.hasMajorAxisSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajorAxis >= screenOpitionValue.MajorAxisLowerLimit &&
                        characteristics[i].MajorAxis <= screenOpitionValue.MajorAxisSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMajorAxisLowerLimit != true && screenOpition.hasMajorAxisSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajorAxis <= screenOpitionValue.MajorAxisSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMajorAxisLowerLimit == true && screenOpition.hasMajorAxisSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajorAxis >= screenOpitionValue.MajorAxisLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMajorAxisLowerLimit != true && screenOpition.hasMajorAxisSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            if (screenOpition.hasMinorAxisLowerLimit == true && screenOpition.hasMinorAxisSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MinorAxis >= screenOpitionValue.MinorAxisLowerLimit &&
                        characteristics[i].MinorAxis <= screenOpitionValue.MinorAxisSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMinorAxisLowerLimit != true && screenOpition.hasMinorAxisSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MinorAxis <= screenOpitionValue.MinorAxisSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMinorAxisLowerLimit == true && screenOpition.hasMinorAxisSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MinorAxis >= screenOpitionValue.MinorAxisLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMinorAxisLowerLimit != true && screenOpition.hasMinorAxisSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            if (screenOpition.hasMaxMinRateLowerLimit == true && screenOpition.hasMaxMinRateSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajToMinAxisRatio >= screenOpitionValue.MaxMinRateLowerLimit &&
                        characteristics[i].MajToMinAxisRatio <= screenOpitionValue.MaxMinRateSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMaxMinRateLowerLimit != true && screenOpition.hasMaxMinRateSuperiorLimit == true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajToMinAxisRatio <= screenOpitionValue.MaxMinRateSuperiorLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMaxMinRateLowerLimit == true && screenOpition.hasMaxMinRateSuperiorLimit != true)
            {
                for (int i = 1; i <= characteristics.Count(); i++)
                {
                    if (characteristics[i].IsQualifiedColony == true &&
                        characteristics[i].MajToMinAxisRatio >= screenOpitionValue.MaxMinRateLowerLimit)
                    {
                        characteristics[i].IsQualifiedColony = true;
                    }
                    else
                    {
                        characteristics[i].IsQualifiedColony = false;
                    }
                }
            }
            else if (screenOpition.hasMaxMinRateLowerLimit != true && screenOpition.hasMaxMinRateSuperiorLimit != true)
            {
                _characteristic = characteristics;
            }


            return(_characteristic);
        }