2023-03-16 voting scheme,對(duì)多個(gè)subarray的檢測(cè)結(jié)果取視窗閾值保留

對(duì)4個(gè)subarray的檢測(cè)結(jié)果設(shè)置閾值,做判斷,保留其中至少2個(gè)subarray能夠檢測(cè)到的結(jié)果。思路是對(duì)于1來(lái)說(shuō),其余三個(gè)結(jié)果合并做差小于閾值,即滿足條件;然而還有2和3或者4,同時(shí)排出和1,這時(shí)候先做判斷,排除掉1和2已經(jīng)append的結(jié)果,然后做2和3、4;以此類推,3就只和4

def voting_scheme(arr1, arr2, arr3, arr4, thre=10):
    valid_values = []
    #-----------arr1 with arr2 or arr3 or arr4 ar all of them------------#
    for i, num in enumerate(arr1):
        other = np.hstack((arr2, arr3, arr4))
        other = np.sort(other)
        diff = abs(num - other)
        
#         f_data = np.where(np.abs(f_data)<np.abs(thre_amp), f_data, thre_amp)
        if np.any(diff <= thre):
            valid_values.append(num)
    #-----------arr2 with arr3 or arr4 or all of them------------#
    arr2_ = arr2.copy()
    J = []
    for j, num in enumerate(arr2):
        diff_arr1 = abs(num - arr1)
        if np.any(diff_arr1 <=thre):
            J.append(j)
    arr2_ = np.delete(arr2_, J)
    for j, num in enumerate(arr2_):
        other = np.hstack((arr3, arr4))
        other = np.sort(other)
        diff = abs(num - other)
        if np.any(diff <= thre):
            valid_values.append(num)
    #-----------arr3 with arr4------------#
    arr3_ = arr3.copy()
    K = []
    for k, num in enumerate(arr3):
        diff_arr12 = abs(num - np.hstack((arr1, arr2)))
        if np.any(diff_arr12 <=thre):
            K.append(k)
    arr3_ = np.delete(arr3_, K)
    for k, num in enumerate(arr3_):
        other = arr4
        diff = abs(num - other)
        if np.any(diff <= thre):
            valid_values.append(num)
    return valid_values

def drop_elements(arr, threshold):
    # Initialize a new empty list to store the indices of elements to keep
    keep_indices = [0]

    # Iterate through the array, starting from the second element
    for i in range(1, len(arr)):
        # If the difference between the current element and the last kept element is greater than the threshold,
        # add the index of the current element to the list of indices to keep
        if arr[i] - arr[keep_indices[-1]] > threshold:
            keep_indices.append(i)

    # Use the numpy indexing syntax to return the elements at the selected indices
    return arr[keep_indices]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 雜念越多的人命越苦 簡(jiǎn)單,念頭純粹的人容易幸福 掛礙少,擔(dān)心事情少 如果解決當(dāng)下這個(gè)事情很痛苦大概率這個(gè)事情現(xiàn)在不...
    莫忘小寒閱讀 161評(píng)論 0 1
  • 今天工作挺忙的!中午準(zhǔn)備午休接到一位學(xué)友的電話,聊了下她初中兒子前段時(shí)間不想上學(xué)的問(wèn)題。 說(shuō)是孩子這次上學(xué)是爺爺出...
    付萍霏_8427閱讀 111評(píng)論 0 0
  • 靜思語(yǔ):用心聽、用心看、用心做,終身都受用。 上周做環(huán)保時(shí),到了十時(shí)左右,就帶小朋友們?nèi)ブ苓吷啼佇麑?dǎo)環(huán)保,學(xué)物資分...
    禾日日耕閱讀 121評(píng)論 0 0
  • 第41講,精神自由?還是向上流動(dòng)? 士大夫(在朝)=士紳(在野) 西周“大夫士”——西漢“士大夫” 卿大夫與士結(jié)合...
    荒原蒼狼閱讀 151評(píng)論 0 0
  • 感覺(jué)突然就沒(méi)有了快樂(lè),沒(méi)追求了,現(xiàn)在 我的生活除了想賺點(diǎn)錢就是想獨(dú)處..
    完美雨神閱讀 90評(píng)論 0 3

友情鏈接更多精彩內(nèi)容