示例#1
0
 private void StartClassification(SignImage image, double m)
 {
     //Определяем координаты устойчивой точки
     FindStablePoint2(image.Brightness, m);
     LogStr.AppendLine("Количество итераций при поиске устойчивой точки: " + _stablePointList.Count);
     LogStr.AppendLine("Максимальное значение в векторе устойчивой точки: " + Math.Round(StablePoint.Max(), 3));
     LogStr.AppendLine("Минимальное значение в векторе устойчивой точки: " + Math.Round(StablePoint.Min(), 3));
     //Определяем коэффициент сжатия отображения K
     GenerateK();
     LogStr.AppendLine("Коэффициент сжатия отображения K: " + Math.Round(K, 5));
     CreateIntervals();
     LogStr.AppendLine("Количество диапазонов эвклидовых расстояний: " + Split.Clasters.Count);
 }
示例#2
0
        public bool Load(string fileName)
        {
            bool res = File.Exists(fileName.Trim());

            GPULogList.Clear();

            try
            {
                if (res)
                {
                    using (StreamReader sr = new StreamReader(fileName.Trim(), Encoding.GetEncoding("windows-1251")))
                    {
                        LogStr             ls = new LogStr();
                        List <GPULogParam> GPULogParamList = null;
                        int type03N = -1;

                        while (sr.Peek() >= 0)
                        {
                            ls.Build(sr.ReadLine());
                            if (!ls.Correct)
                            {
                                continue;
                            }

                            switch (ls.Type)
                            {
                            case 0:
                                break;

                            case 1:
                                for (int i = 0; i < ls.Values.Count; i++)
                                {
                                    if (!String.IsNullOrWhiteSpace(ls.Values[i].Trim()))
                                    {
                                        GPULogList.Add(new GPULog(i, ls.Values[i].Trim()));
                                    }
                                }
                                break;

                            case 2:
                                GPULogParamList = new List <GPULogParam>(ls.Values.Count);
                                for (int i = 0; i < ls.Values.Count; i++)
                                {
                                    GPULogParamList.Add(new GPULogParam(i, ls.Values[i].Trim()));
                                }
                                break;

                            case 3:
                                type03N++;

                                for (int i = 0; i < ls.Values.Count; i++)
                                {
                                    switch (i)
                                    {
                                    case 0:
                                        GPULogParamList[type03N].Index = Convert.ToInt32(ls.Values[i].Trim());
                                        break;

                                    case 1:
                                        GPULogParamList[type03N].Unit = ls.Values[i].Trim();
                                        break;

                                    case 2:
                                        GPULogParamList[type03N].MinValue = CommonProc.ToDecimal(ls.Values[i]);
                                        break;

                                    case 3:
                                        GPULogParamList[type03N].MaxValue = CommonProc.ToDecimal(ls.Values[i]);
                                        break;

                                    case 4:
                                        break;
                                    }
                                }
                                break;

                            case 80:
                                for (int i = 0; i < GPULogList.Count; i++)
                                {
                                    GPULogList[i].Add(new GPULogInfo(ls.DateTime));
                                }

                                decimal    value   = 0;
                                GPULogInfo LogInfo = null;

                                for (int i = 0; i < ls.Values.Count; i++)
                                {
                                    value = CommonProc.ToDecimal(ls.Values[i]);

                                    if (GPULogParamList[i].GPUIndex >= 0)
                                    {
                                        LogInfo = GPULogList[GPULogParamList[i].GPUIndex][GPULogList[GPULogParamList[i].GPUIndex].Count - 1];
                                        switch (GPULogParamList[i].ParamType)
                                        {
                                        case GPULogParamTypes.Temperature:
                                            LogInfo.Temperature = value;
                                            break;

                                        case GPULogParamTypes.Usage:
                                            LogInfo.Usage = value;
                                            break;

                                        case GPULogParamTypes.FBUsage:
                                            LogInfo.FBUsage = value;
                                            break;

                                        case GPULogParamTypes.VIDUsage:
                                            LogInfo.VIDUsage = value;
                                            break;

                                        case GPULogParamTypes.BUSUsage:
                                            LogInfo.BUSUsage = value;
                                            break;

                                        case GPULogParamTypes.MemoryUsage:
                                            LogInfo.MemoryUsage = value;
                                            break;

                                        case GPULogParamTypes.CoreClock:
                                            LogInfo.CoreClock = value;
                                            break;

                                        case GPULogParamTypes.MemoryClock:
                                            LogInfo.MemoryClock = value;
                                            break;

                                        case GPULogParamTypes.Voltage:
                                            LogInfo.Voltage = value;
                                            break;

                                        case GPULogParamTypes.FanSpeed:
                                            LogInfo.FanSpeed = value;
                                            break;

                                        case GPULogParamTypes.FanTachometer:
                                            LogInfo.FanTachometer = value;
                                            break;

                                        case GPULogParamTypes.TempLimit:
                                            LogInfo.TempLimit = value;
                                            break;

                                        case GPULogParamTypes.PowerLimit:
                                            LogInfo.PowerLimit = value;
                                            break;

                                        case GPULogParamTypes.VoltageLimit:
                                            LogInfo.VoltageLimit = value;
                                            break;
                                        }
                                    }
                                }
                                break;
                            }
                        }
                    }
                }
            }
            catch
            {
                res = false;
            }

            return(res);
        }