Ejemplo n.º 1
0
#main.py
from order import Order
from file_manager import FileManager

# 주문 내역 불러오고, 보여주자
# answer = input("주문 내역을 볼까요? (y/n) : ")
file_manager = FileManager("history.bin")  # __init__
# if answer == "y":
history = []
try:
    history = file_manager.load()  # load()
    sum = 0
    for h in history:
        print(h)  # 리스트에서 하나씩 뽑아서 프린트
        sum += h.price
    print("여태까지 내가 아마스빈에 쏟아부은 돈 : " + str(sum) + "원")
except FileNotFoundError:
    print("주문 내역이 없습니다.")

o = Order()
o.order_drink()

# 주문 내역 저장하자
file_manager.save(history + o.order_menu)
Ejemplo n.º 2
0
print(k1.multiply(3, 2))
print(k1.divide(3, 2))

# 6. Stwórz klasę ScienceCalculator, która dziedziczy po klasie Calculator i dodaj dodatkowe funkcje np. potęgowanie.


class ScienceCalculator(Calculator):
    def power(self, a, b):
        return a**b

    def remain(self, a, b):
        return a % b


k2 = ScienceCalculator()
print(k2.power(3, 5))
print(k2.remain(3, 5))

# 7. Stwórz funkcję, która wypisuje podany tekst od tyłu np. koteł -> łetok.


def reverse(text):
    return text[::-1]


print(reverse("Ala ma kota"))

# 9. Zaimportuj klasę FileManager w innym pliku, a następnie zademonstruj działanie klasy.

fm = FileManager("plik.txt")
fm.read_file()
Ejemplo n.º 3
0
# sc = ScienceCalculator(2,3)
# print(ScienceCalculator.__doc__)
# print(sc.add())
# print(sc.powers())
# sc2 = ScienceCalculator(8,3)
# print(sc2.root())

# Zad7


def reverse(tekst):
    """
    Funkcja wypisująca podany tekst od tyłu
    :param tekst: zmienna typu string
    :return: zmienna typu string
    """
    return tekst[::-1]


print(reverse("koteł"))

# Zad8/9

fm = FileManager("test.txt")
fm.read_file()
fm.update_file(" Nowy tekst.")

# Zad10

print(chuck("BOB"))
def main():

    superfamily = '3.20.20.70'

    # Read input
    # Embeddings for all 458 superfamilies considered in this study can be downloaded from
    # ftp://rostlab.org/FunFamsClustering/sequences_funfams_ec_all_protbert_tucker.npy
    embeddings_in = 'path_to_embeddings/sequences_funfams_ecs_all_protbert_tucker.npy'
    embedding_ids_in = 'path_to_embeddings/sequences_funfams_ecs_all_protbert_tucker_ids.txt'
    embeddings_tucker = Npy2Npz.get_dataset_uncompressed(
        embeddings_in, embedding_ids_in)

    # Read FunFam ids into a dictionary with key: superfamily, value: FunFams
    funfams = FileManager.read_funfam_ids_with_family(
        'example/funfams_ids.txt')

    # Read sequence information per FunFam
    sequence_info_in = 'example/sequences_funfams.txt'
    sequences = FileManager.read_sequence_info(sequence_info_in,
                                               embeddings_tucker.keys())

    # The FunFams and sequence information can be directly extracted from FunFams and is included here to
    # allow using the code without access to the FunFams alignments

    fm = FileManager(
        ungapped_aln_path='path_to_save_data_for_each_superfamily_to',
        dist_path_funfam='path_to_save_distances_to')
    # in the ungapped_aln_path directory, a sub-directory for each superfamily will be created.
    # In the directory for a superfamily, a director dist_path_funfam will be created to save the distances to
    # depending on the size of the FunFam, distance files can become rather large. Please make sure that enough
    # disk space is available

    # Calculate distances
    print("Calculate distances")
    dist_calculator = EmbeddingDistance(funfams, embeddings_tucker, sequences,
                                        fm)
    for f in funfams[superfamily]:
        if len(sequences[f]) > 1:
            dist_calculator.calc_distances_within_funfam(f, False)

    # Determine distance threshold
    print("Determine clustering cutoff")
    cutoff_determine = CutoffDetermination(superfamily, funfams[superfamily],
                                           None, fm)
    cutoff = cutoff_determine.determine_cutoff(0.5, 'sequence')
    print("Cutoff: {:.3f}".format(cutoff))

    # Define clustering outputs
    out_path = 'path_for_clustering_results'
    cluster_out_prefix = '{}clustering_results/'.format(out_path)
    outliers_out = '{}outliers.txt'.format(cluster_out_prefix)
    cluster_out_suffix = '_median_seq_tucker_protbert.txt'
    file_action = 'w'
    if os.path.exists(cluster_out_prefix):
        os.makedirs(cluster_out_prefix)

    # Perform clustering
    print("Perform clustering for each FunFam")
    for f in funfams[superfamily]:
        distance_file = '{}/{}/{}/{}_tucker_dist.npz'.format(
            fm.ungapped_aln_path, superfamily, fm.dist_path_funfam, f)
        if os.path.exists(distance_file):
            distances = dict(np.load(distance_file, mmap_mode='r'))['dist']
            if len(distances) > 0:
                clustering = DBSCANClustering(distances)
                cluster_results, outliers = clustering.calc_outliers_and_clustering(
                    cutoff)

                # write output
                FileManager.write_outliers(outliers_out, f, outliers,
                                           file_action)
                cluster_results.write_clustering_results(
                    f, cluster_out_prefix, cluster_out_suffix, file_action)
                file_action = 'a'  # append results to the previous file
Ejemplo n.º 5
0
 def test_create_logs(self):
     test_manager = FileManager("")
     test_manager.create_logs("test", True, ["test"])
     self.assertTrue(pathlib.Path("logs.txt").exists())
     os.remove("logs.txt")
Ejemplo n.º 6
0
 def test_create_dir_if_dosent_exist(self):
     test_manager = FileManager("")
     test_manager.create_dir_if_dosent_exist(test_manager.tmp_download_dir)
     self.assertTrue(os.path.exists(test_manager.tmp_download_dir))
     os.rmdir(test_manager.tmp_download_dir)
Ejemplo n.º 7
0
import logging

base_url = 'https://honourlogs.joachimveulemans.be'

origin = os.getenv('ORIGIN')
if origin is None:
    origin = base_url

app = Flask(__name__)

CORS(app, supports_credentials=True, resources={
    r"/*": {"origins": [base_url + ":443/*"]}})

logging.getLogger('flask_cors').level = logging.DEBUG

file_manager = FileManager("/var/www/public/current/logs.txt", "/var/www/public/deleted/")


@app.route("/")
def hello():
    return "Logger is up & running!"


@app.route("/logs", methods=['GET', 'OPTIONS', 'DELETE'])
def call_get_logs():
    if request.method == "OPTIONS":
        return _build_cors_prelight_response()
    if request.method == "GET":
        return _build_cors_actual_response(jsonify(file_manager.get_json()))
    if request.method == 'DELETE':
        file_manager.clear()
Ejemplo n.º 8
0
def openpose_liftnet_other(current_state, pose_client, airsim_client,
                           potential_states_fetcher, file_manager, parameters):

    potential_states_fetcher.reset(pose_client, airsim_client, current_state)
    potential_states_fetcher.get_potential_positions(airsim_client.linecount)
    num_of_loc = len(potential_states_fetcher.potential_trajectory_list)
    len_of_sim = 80
    validation_anims = ["28_19", "06_13", "13_06"]

    openpose_array = np.zeros(
        [len(validation_anims) * len_of_sim * num_of_loc, 2, 15])
    gt_2d_array = np.zeros(
        [len(validation_anims) * len_of_sim * num_of_loc, 2, 15])
    lift_array = np.zeros(
        [len(validation_anims) * len_of_sim * num_of_loc, 3, 15])
    gt_lift_array = np.zeros(
        [len(validation_anims) * len_of_sim * num_of_loc, 3, 15])

    for anim_num in range(len(validation_anims)):
        parameters["ANIMATION_NUM"] = validation_anims[anim_num]
        file_manager = FileManager(parameters,
                                   get_bone_len_file_name(pose_client.modes))
        current_state.update_animation_gt_array(file_manager.f_anim_gt_array)

        airsim_client.changeAnimation(ANIM_TO_UNREAL[file_manager.anim_num])
        current_state.init_anim_time(airsim_client.default_initial_anim_time,
                                     file_manager.anim_num)
        set_animation_to_frame(airsim_client, pose_client, current_state,
                               airsim_client.default_initial_anim_time)
        prev_drone_pose = torch.zeros([3, 1])
        airsim_client.linecount = 0

        while airsim_client.linecount < len_of_sim and anim_num != 0:
            airsim_retrieve_gt(airsim_client, pose_client, current_state,
                               file_manager)
            pose_client.immediate_future_pose = current_state.bone_pos_gt
            pose_client.current_pose = current_state.bone_pos_gt
            potential_states_fetcher.reset(pose_client, airsim_client,
                                           current_state)
            potential_states_fetcher.get_potential_positions(
                airsim_client.linecount)
            anim_time = airsim_client.getAnimationTime()

            for trajectory_ind in range(num_of_loc):
                # print("  ** traj ind", trajectory_ind)
                index = anim_num * len_of_sim * num_of_loc + airsim_client.linecount * num_of_loc + trajectory_ind
                #move
                potential_states_fetcher.restart_trajectory()
                goal_traj = potential_states_fetcher.choose_trajectory_using_trajind(
                    trajectory_ind)
                set_position(goal_traj,
                             airsim_client,
                             current_state,
                             pose_client,
                             potential_states_fetcher,
                             loop_mode=potential_states_fetcher.loop_mode)

                #update state values read from AirSim and take picture
                take_photo(airsim_client, pose_client, current_state,
                           file_manager)
                new_drone_pose = current_state.C_drone_gt.clone()
                assert not torch.allclose(prev_drone_pose, new_drone_pose)
                prev_drone_pose = new_drone_pose.clone()

                #find 2d pose (using openpose and gt)
                pose_2d_cropped, pose_2d_gt_cropped, heatmap_2d, cropped_image = determine_2d_positions(
                    pose_client=pose_client,
                    current_state=current_state,
                    my_rng=None,
                    file_manager=file_manager,
                    linecount=airsim_client.linecount)

                openpose_array[index, :, :] = pose_2d_cropped.numpy().copy()
                gt_2d_array[index, :, :] = pose_2d_gt_cropped.numpy().copy()

                #find relative 3d pose using liftnet
                pose_client.modes["mode_lift"] = "lift"  #set this back
                pose3d_lift_directions = determine_relative_3d_pose(
                    pose_client=pose_client,
                    current_state=current_state,
                    my_rng=None,
                    pose_2d=pose_2d_cropped,
                    cropped_image=cropped_image,
                    heatmap_2d=heatmap_2d,
                    file_manager=file_manager)
                lift_array[index, :, :] = pose3d_lift_directions.numpy().copy()
                pose_client.modes["mode_lift"] = "gt"
                #find relative 3d pose using gt
                pose3d_lift_directions_gt = determine_relative_3d_pose(
                    pose_client=pose_client,
                    current_state=current_state,
                    my_rng=None,
                    pose_2d=pose_2d_cropped,
                    cropped_image=cropped_image,
                    heatmap_2d=heatmap_2d,
                    file_manager=file_manager)
                gt_lift_array[
                    index, :, :] = pose3d_lift_directions_gt.numpy().copy()

            file_manager.save_openpose_and_gt2d(openpose_array, gt_2d_array)
            file_manager.save_lift_and_gtlift(lift_array, gt_lift_array)

            update_animation(airsim_client,
                             pose_client,
                             current_state,
                             delta_t=0.2)
            airsim_client.increment_linecount(
                pose_client.is_calibrating_energy)
Ejemplo n.º 9
0
def run_simulation(kalman_arguments, parameters, energy_parameters,
                   active_parameters):
    """
    Description: 
        Main function that runs simulation

    Inputs: 
        kalman_arguments: dict of kalman filter parameters that are now useless
        parameters: dict of general parameters
        energy_parameters: dict of pose estimation parameters
        active_parameters: dict of active mode parameters
    Returns:
        errors: dict of errors
    """
    # energy_parameters["MODES"]["mode_2d"] = "gt_with_noise"
    bone_len_file_name = get_bone_len_file_name(energy_parameters["MODES"])
    file_manager = FileManager(parameters, bone_len_file_name)

    date_time_name = time.strftime("%Y-%m-%d-%H-%M")
    print("experiment began at:", date_time_name)

    length_of_simulation = parameters["LENGTH_OF_SIMULATION"]
    loop_mode = parameters["LOOP_MODE"]
    calibration_mode = parameters["CALIBRATION_MODE"]
    port = parameters["PORT"]
    simulation_mode = parameters["SIMULATION_MODE"]
    experiment_ind = parameters["EXPERIMENT_NUMBER"]

    #set random seeds once and for all
    my_rng = rng_object(parameters["SEED"], file_manager.saved_vals_loc,
                        active_parameters["DRONE_POS_JITTER_NOISE_STD"],
                        energy_parameters["NOISE_3D_INIT_STD"])

    #connect to the AirSim simulator
    if simulation_mode == "use_airsim":
        airsim_client = airsim.MultirotorClient(length_of_simulation,
                                                port=port)
        airsim_client.confirmConnection()
        airsim_client.reset()
        if loop_mode == "flight_simulation" or loop_mode == "try_controller_control":
            airsim_client.enableApiControl(True)
            airsim_client.armDisarm(True)
            camera_offset_x = 45 / 100
        else:
            camera_offset_x = 0
        airsim_client.initInitialDronePos()
        airsim_client.changeAnimation(ANIM_TO_UNREAL[file_manager.anim_num])
        if loop_mode == "flight_simulation" or loop_mode == "try_controller_control":
            airsim_client.takeoffAsync(timeout_sec=15).join()
            airsim_client.simSetCameraOrientation(
                str(0), airsim.to_quaternion(0, 0, 0))
    elif simulation_mode == "saved_simulation":
        camera_offset_x = 0
        if file_manager.anim_num == "drone_flight":
            airsim_client = DroneFlightClient(
                length_of_simulation, file_manager.anim_num,
                file_manager.non_simulation_files)
        elif file_manager.anim_num == "mpi_inf_3dhp":
            airsim_client = MPI_Dataset_Client(length_of_simulation,
                                               file_manager.test_sets_loc,
                                               experiment_ind)
        elif file_manager.anim_num == "cmu_panoptic_pose_1" or file_manager.anim_num == "cmu_panoptic_dance_3":
            airsim_client = CMU_Panoptic_Dataset_Client(
                file_manager.anim_num, length_of_simulation,
                file_manager.test_sets_loc, experiment_ind)
        else:
            airsim_client = Synth_Dataset_Client(length_of_simulation,
                                                 file_manager.test_sets_loc,
                                                 file_manager.anim_num,
                                                 experiment_ind)
        file_manager.init_photo_loc_dir(airsim_client.image_main_dir)

        #file_manager.label_list = airsim_client.label_list
    #pause airsim until we set stuff up
    airsim_client.simPause(True, loop_mode)

    pose_client = PoseEstimationClient(param=energy_parameters,
                                       general_param=parameters,
                                       intrinsics=airsim_client.intrinsics)
    current_state = State(use_single_joint=pose_client.USE_SINGLE_JOINT,
                          active_parameters=active_parameters,
                          model_settings=pose_client.model_settings(),
                          anim_gt_array=file_manager.f_anim_gt_array,
                          future_window_size=pose_client.FUTURE_WINDOW_SIZE,
                          initial_drone_pos=airsim_client.DRONE_INITIAL_POS,
                          camera_offset_x=camera_offset_x)
    potential_states_fetcher = PotentialStatesFetcher(
        airsim_client=airsim_client,
        pose_client=pose_client,
        active_parameters=active_parameters,
        loop_mode=loop_mode)

    current_state.init_anim_time(airsim_client.default_initial_anim_time,
                                 file_manager.anim_num)
    set_animation_to_frame(airsim_client, pose_client, current_state,
                           airsim_client.default_initial_anim_time)
    if airsim_client.is_using_airsim and not (loop_mode == "flight_simulation"
                                              or loop_mode
                                              == "try_controller_control"):
        move_drone_to_front(airsim_client, pose_client, current_state.radius,
                            current_state.C_cam_torch)

    airsim_retrieve_gt(airsim_client, pose_client, current_state, file_manager)
    time.sleep(0.5)
    if not calibration_mode:
        pose_client.read_bone_lengths_from_file(file_manager,
                                                current_state.bone_pos_gt)

    file_manager.save_initial_drone_pos(airsim_client)

    #shoulder_vector = initial_positions[R_SHOULDER_IND, :] - initial_positions[L_SHOULDER_IND, :] #find initial human orientation!
    #INITIAL_HUMAN_ORIENTATION = np.arctan2(-shoulder_vector[0], shoulder_vector[1]) #in unreal coordinates

    ################
    if loop_mode == "flight_simulation" or loop_mode == "teleport_simulation" or loop_mode == "toy_example":
        general_simulation_loop(current_state, pose_client, airsim_client,
                                potential_states_fetcher, file_manager,
                                parameters, my_rng)
    elif loop_mode == "openpose":
        openpose_loop(current_state, pose_client, airsim_client,
                      potential_states_fetcher, file_manager, my_rng)
    #elif loop_mode == "teleport":
    #   teleport_loop(current_state, pose_client, airsim_client, potential_states_fetcher, file_manager, loop_mode, parameters)
    elif loop_mode == "save_gt_poses":
        save_gt_poses_loop(current_state, pose_client, airsim_client,
                           file_manager)
    elif loop_mode == "create_dataset":
        create_test_set(current_state, pose_client, airsim_client,
                        potential_states_fetcher, file_manager, my_rng)
    elif loop_mode == "try_controller_control":
        try_controller_control_loop(current_state, pose_client, airsim_client,
                                    file_manager, potential_states_fetcher,
                                    loop_mode)
    elif loop_mode == "openpose_liftnet":
        openpose_liftnet(current_state, pose_client, airsim_client,
                         potential_states_fetcher, file_manager, parameters,
                         my_rng)
    ################

    #calculate errors
    airsim_client.simPause(False, loop_mode)
    average_errors = pose_client.average_errors
    ave_current_error, ave_middle_error, ave_pastmost_error, ave_overall_error = pose_client.average_errors[
        pose_client.CURRENT_POSE_INDEX], pose_client.average_errors[
            pose_client.MIDDLE_POSE_INDEX], pose_client.average_errors[
                pose_client.PASTMOST_POSE_INDEX], pose_client.ave_overall_error
    plot_distance_values(current_state.distances_travelled,
                         file_manager.plot_loc)

    if calibration_mode:
        file_manager.save_bone_lengths(pose_client.boneLengths)

    print('End it!')
    pose_client.reset(file_manager.plot_loc)
    file_manager.close_files()

    return ave_current_error, ave_middle_error, ave_pastmost_error, ave_overall_error
Ejemplo n.º 10
0
from file_manager import FileManager
from states import StartState, ExitState

if __name__ == "__main__":
    manager = FileManager(url="http://127.0.0.1:8000", state=StartState())
    while type(manager.curr_state) != ExitState:
        manager.execute()
    manager.execute()
Ejemplo n.º 11
0
#메뉴 보여주자
#음료주문하자
#주문한 음료 보여주자
#총금앱 계산하자
# 1. 음료 이름 가격
# 2. 컵 사이즈 레귤러 점보
# 3. 얼음량 0,50,100,150
# 4. 당도 0,50,100,150
# 5. 펄 타피오카, 코코,젤리, 알로에

from order import order
from file_manager import FileManager

#주문내역 불러오고 보여주자

file_manager = FileManager("history.bin")
# answer = input("주문내역을 볼까요?(y or n)")
# if answer == "y":
history = []
try:
    history = file_manager.load()
    sum = 0
    for h in history:
        print(h)
        sum += h.price
    print("여태까지 내가 아마스빈에 쏟아부은 돈: " + str(sum) + "원")
except FileNotFoundError:
    print("주문 내역이 없습니다.")

o = order()
o.order_drink()