コード例 #1
0
ファイル: check.py プロジェクト: jasonmharper/zfismooth
def check_map(orig_map, outlier_indicator, min_rpm_pos, max_rpm_pos, min_tps_pos, max_tps_pos):
    for rpm in mapmod.RPM_POS:
        for tps in mapmod.TPS_POS:
            if min_rpm_pos <= rpm <= max_rpm_pos and min_tps_pos <= tps <= max_tps_pos: # don't check map outside of this range
                current_val = orig_map[(rpm, tps)]
                adjacent_vals = mapmod.get_adjacent_values_ex(orig_map, tps, rpm, min_rpm_pos, max_rpm_pos, min_tps_pos, max_tps_pos)
                adjacent_average = sum(adjacent_vals) / len(adjacent_vals)
                
                if current_val > adjacent_average + outlier_indicator or current_val + outlier_indicator < adjacent_average:
                    print "Outlier -> RPM: %5d, TPS: %3d, VAL: %3d, AVG: %3d" % (mapmod.RPM[rpm], mapmod.TPS[tps], current_val, adjacent_average)        
コード例 #2
0
ファイル: smooth.py プロジェクト: jasonmharper/zfismooth
def smooth_map(original_map, weight, iterations, min_rpm_pos, max_rpm_pos, min_tps_pos, max_tps_pos):
    orig_map = original_map.copy()
    new_map = {}
    for i in range(0, iterations):
        for rpm in mapmod.RPM_POS:
            for tps in mapmod.TPS_POS:
                if min_rpm_pos <= rpm <= max_rpm_pos and min_tps_pos <= tps <= max_tps_pos: # don't change map outside of this range
                    new_map[(rpm, tps)] = smooth_map_value(orig_map[(rpm, tps)], mapmod.get_adjacent_values_ex(orig_map, tps, rpm, min_rpm_pos, max_rpm_pos, min_tps_pos, max_tps_pos), weight)
                else:
                    new_map[(rpm, tps)] = orig_map[(rpm, tps)]
        orig_map = new_map.copy()
    
    return new_map