diff --git a/AlgorithmModule/include/QX_Merge_Analysis.h b/AlgorithmModule/include/QX_Merge_Analysis.h index 7e48493..acd038a 100644 --- a/AlgorithmModule/include/QX_Merge_Analysis.h +++ b/AlgorithmModule/include/QX_Merge_Analysis.h @@ -214,8 +214,7 @@ private: int Judge_OK_Config(); int Judge_NG_Config(); - // pAllowChannels 非空时仅列表内通道参与分析(用于主通道为空回退时仅跑次通道); nullptr=不过滤 - int Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx, const std::vector *pAllowChannels = nullptr); + int Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx); int Analysis_AD_Bind(ALL_Qx_DataList *pALLTypeqxList, int qx_idx); // 关联过滤源过滤:移除与关联通道过滤源缺陷重叠的缺陷,使其不参与后续数量/距离/S分析 diff --git a/AlgorithmModule/src/ALLImgCheckAnalysisy.cpp b/AlgorithmModule/src/ALLImgCheckAnalysisy.cpp index 4c274f1..9319eff 100644 --- a/AlgorithmModule/src/ALLImgCheckAnalysisy.cpp +++ b/AlgorithmModule/src/ALLImgCheckAnalysisy.cpp @@ -318,18 +318,18 @@ int ALLImgCheckAnalysisy::InitAIFactory() GPU_Config gpu; int num = 0; - // for (int i = 0; i < MAX_GPU_NUM; i++) - // { - // gpu.UseGPUList[i] = m_RunConfig.UseGPUList[i]; - // if (gpu.UseGPUList[i] >= 0) - // { - // num++; - // } - // } - // if (num == 0) - { - gpu.UseGPUList[0] = 1; - gpu.UseGPUList[1] = -1; + for (int i = 0; i < MAX_GPU_NUM; i++) + { + gpu.UseGPUList[i] = m_RunConfig.UseGPUList[i]; + if (gpu.UseGPUList[i] >= 0) + { + num++; + } + } + if (num == 0) + { + gpu.UseGPUList[0] = 0; + gpu.UseGPUList[1] = 1; } for (int i = 0; i < MAX_GPU_NUM; i++) { diff --git a/AlgorithmModule/src/QX_Merge_Analysis.cpp b/AlgorithmModule/src/QX_Merge_Analysis.cpp index 3ecace4..941fc0c 100644 --- a/AlgorithmModule/src/QX_Merge_Analysis.cpp +++ b/AlgorithmModule/src/QX_Merge_Analysis.cpp @@ -8,9 +8,6 @@ #include "CheckUtil.hpp" #include "CheckConfigDefine.h" -// Analysis_AD_Bind 返回码: 主通道为空(配置为空或本次无匹配通道), 调用方回退执行 Analysis_AD -static const int AD_BIND_RE_MAIN_EMPTY = 2; - QX_Merge_Analysis::QX_Merge_Analysis() { m_bExit = false; @@ -1028,35 +1025,7 @@ int QX_Merge_Analysis::Analysis_QXtype(ALL_Qx_DataList *pALLTypeqxList, int qx_i { if(m_pbaseCheckFunction->ad_check.analysis_bind.bUse) { - // 主通道为空: Analysis_AD_Bind 返回回退码, 用次通道列表里的通道走 Analysis_AD 老逻辑 - if (Analysis_AD_Bind(pALLTypeqxList, qx_idx) == AD_BIND_RE_MAIN_EMPTY) - { - // 回退过滤: 仅次通道列表(2s_second_channel + 3s_second_channel, 去重)中的通道参与 - std::vector fallback_channels; - const std::vector &fallback_sec2 = m_pbaseCheckFunction->ad_check.analysis_bind.second_channel_2s; - const std::vector &fallback_sec3 = m_pbaseCheckFunction->ad_check.analysis_bind.second_channel_3s; - fallback_channels.insert(fallback_channels.end(), fallback_sec2.begin(), fallback_sec2.end()); - for (size_t k = 0; k < fallback_sec3.size(); k++) - { - if (std::find(fallback_channels.begin(), fallback_channels.end(), fallback_sec3[k]) == fallback_channels.end()) - { - fallback_channels.push_back(fallback_sec3[k]); - } - } - std::string strFallbackChannels; - for (size_t k = 0; k < fallback_channels.size(); k++) - { - strFallbackChannels += fallback_channels[k]; - if (k + 1 < fallback_channels.size()) - { - strFallbackChannels += ","; - } - } - m_pMergedetlog->AddCheckstr(PrintLevel_1, 3, "Analysis_AD_Bind", - "main channel empty --> fallback Analysis_AD (only second channels: %s)", - fallback_channels.empty() ? "" : strFallbackChannels.c_str()); - Analysis_AD(pALLTypeqxList, qx_idx, &fallback_channels); - } + Analysis_AD_Bind(pALLTypeqxList, qx_idx); } else { @@ -1104,7 +1073,7 @@ int QX_Merge_Analysis::Judge_NG_Config() return 0; } -int QX_Merge_Analysis::Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx, const std::vector *pAllowChannels) +int QX_Merge_Analysis::Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx) { AD_list.clear(); if (!m_pbaseCheckFunction) @@ -1123,14 +1092,6 @@ int QX_Merge_Analysis::Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx, { QX_channel_List *pQXChannelList = &pALLTypeqxList->channelqxList[i]; - // 回退过滤: pAllowChannels 非空时仅允许列表内(次通道列表)的通道参与 - if (pAllowChannels && - std::find(pAllowChannels->begin(), pAllowChannels->end(), pQXChannelList->channel_name) == pAllowChannels->end()) - { - pQXChannelList->pChannelDetlog->AddCheckstr(PrintLevel_1, 3, "Analysis_AD", - "channel %s not in allow list(fallback) --> skip", pQXChannelList->channel_name.c_str()); - continue; - } if (!pAd_checkParma) { continue; @@ -1375,14 +1336,6 @@ int QX_Merge_Analysis::Analysis_AD(ALL_Qx_DataList *pALLTypeqxList, int qx_idx, { QX_channel_List *pQXChannelList = &pALLTypeqxList->channelqxList[i]; - // 回退过滤: pAllowChannels 非空时仅允许列表内(次通道列表)的通道被判定NG - if (pAllowChannels && - std::find(pAllowChannels->begin(), pAllowChannels->end(), pQXChannelList->channel_name) == pAllowChannels->end()) - { - pQXChannelList->pChannelDetlog->AddCheckstr(PrintLevel_1, 3, "Analysis_AD", - "channel %s not in allow list(fallback) --> skip NG mark", pQXChannelList->channel_name.c_str()); - continue; - } if (!pAd_checkParma->bOpen) { @@ -1593,12 +1546,6 @@ int QX_Merge_Analysis::Analysis_AD_Bind(ALL_Qx_DataList *pALLTypeqxList, int qx_ m_pMergedetlog->AddCheckstr(PrintLevel_2, 3, "Analysis_AD_Bind", "main_channel %d second_channel %d", (int)main_channel_s_qxList.size(), (int)second_channel_s_qxList.size()); - /* 主通道为空(配置为空或本次无匹配通道): 返回回退码, 由调用方改用 Analysis_AD 老逻辑 */ - if (main_channel_s_qxList.empty()) - { - return AD_BIND_RE_MAIN_EMPTY; - } - /* 画面分析 */ AD_list_bind.clear(); for(int i_main = 0; i_main < main_channel_s_qxList.size(); i_main++)