private SendResultParameter GetNeedleFindResultAnalysis() { SendResultParameter _SendResParam = new SendResultParameter(); _SendResParam.ID = ID; _SendResParam.NgType = eNgType.GOOD; _SendResParam.IsGood = true; _SendResParam.ProjectItem = ProjectItem; for (int iLoopCount = 0; iLoopCount < AlgoResultParamList.Count; ++iLoopCount) { if (eAlgoType.C_NEEDLE_FIND == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogNeedleFindResult; SendNeedleAlignResult _SendResult = new SendNeedleAlignResult(); _SendResult.AlignX = (_AlgoResultParam.IsGood == true) ? _AlgoResultParam.CenterXReal : 0; _SendResult.AlignY = (_AlgoResultParam.IsGood == true) ? _AlgoResultParam.CenterYReal : 0; _SendResParam.IsGood &= _AlgoResultParam.IsGood; _SendResParam.SendResult = _SendResult; if (_SendResParam.NgType == eNgType.GOOD) { _SendResParam.NgType = (_AlgoResultParam.IsGood == true) ? eNgType.GOOD : eNgType.NDL_CENTER; } } else if (eAlgoType.C_BLOB_REFER == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogBlobReferenceResult; SendIDResult _SendResult = new SendIDResult(); _SendResParam.IsGood &= _AlgoResultParam.IsGood; if (_SendResParam.NgType == eNgType.GOOD) { _SendResParam.NgType = (_AlgoResultParam.BlobCount > 0) ? eNgType.GOOD : eNgType.NDL_FIND; } } else if (eAlgoType.C_PATTERN == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogPatternResult; SendNeedleAlignResult _SendResult = new SendNeedleAlignResult(); _SendResParam.IsGood = _AlgoResultParam.IsGood; _SendResult.AlignX = (_AlgoResultParam.IsGood == true) ? _AlgoResultParam.OriginPointX[0] : 0; _SendResult.AlignY = (_AlgoResultParam.IsGood == true) ? _AlgoResultParam.OriginPointY[0] : 0; } } return(_SendResParam); }
private SendResultParameter GetIDReadResultAnalysis() { SendResultParameter _SendResParam = new SendResultParameter(); _SendResParam.ID = ID; _SendResParam.NgType = eNgType.GOOD; _SendResParam.IsGood = true; _SendResParam.ProjectItem = ProjectItem; IsDummyData = false; for (int iLoopCount = 0; iLoopCount < AlgoResultParamList.Count; ++iLoopCount) { if (eAlgoType.C_ID == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogBarCodeIDResult; SendIDResult _SendResult = new SendIDResult(); for (int jLoopCount = 0; jLoopCount < _AlgoResultParam.IDResult.Length; ++jLoopCount) { _SendResParam.IsGood &= _AlgoResultParam.IsGood; _SendResult.ReadCode = (_AlgoResultParam.IsGood == true) ? _AlgoResultParam.IDResult[jLoopCount] : ""; if (_SendResParam.NgType == eNgType.GOOD) { _SendResParam.NgType = (_AlgoResultParam.IsGood == true) ? eNgType.GOOD : eNgType.ID; } } _SendResParam.SendResult = _SendResult; } else if (eAlgoType.C_BLOB_REFER == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogBlobReferenceResult; SendIDResult _SendResult = new SendIDResult(); _SendResParam.IsGood &= _AlgoResultParam.IsGood; if (_SendResParam.NgType == eNgType.GOOD) { _SendResParam.NgType = (_AlgoResultParam.BlobCount > 0) ? eNgType.GOOD : eNgType.EMPTY; } if (true == _AlgoResultParam.DummyStatus) { IsDummyData = true; } //if (_AlgoResultParam.HistogramAvg > 68) IsDummyData = true; } else if (eAlgoType.C_PATTERN == AlgoResultParamList[iLoopCount].ResultAlgoType) { var _AlgoResultParam = AlgoResultParamList[iLoopCount].ResultParam as CogPatternResult; SendIDResult _SendResult = new SendIDResult(); _SendResParam.IsGood &= _AlgoResultParam.IsGood; if (_SendResParam.NgType == eNgType.GOOD) { _SendResParam.NgType = (_AlgoResultParam.IsGood == true) ? eNgType.GOOD : eNgType.REF_NG; } } } //Mergy Result if (true == IsDummyData && false == _SendResParam.IsGood) { _SendResParam.IsGood = true; _SendResParam.NgType = eNgType.DUMMY; } return(_SendResParam); }