@staticmethod
    def preprocess(img):
        img = img.resize((50, 50), Image.ANTIALIAS)
        return np.transpose(np.array(img), (2, 0, 1)) / 255




if __name__ == "__main__":
    import time
    env = McsEnv()

    domain_file = "planner/domains/Playroom_domain.pddl"
    facts_file = "planner/sample_problems/playroom_facts.pddl"

    parser = PlanParser()
    replay_buffer = []
    metaController = MetaController(env)
    episode = 0
    while episode < 100:
        print("Episode: {}".format(episode))
        env.reset()
        PlanParser.scene_config_to_pddl(env.scene_config, random_pick_up(env.scene_config), facts_file)
        result_plan = parser.get_plan_from_file(domain_file, facts_file)
        epsd_collector = Episode_collector()
        for action in result_plan:
            print(action)
            metaController.step(action, epsd_collector)

        if len(epsd_collector) < 10:
            continue
 def plan_on_current_state(self):
     planner = PlanParser(self.plannerState)
     planner.planner_state_to_pddl(self.plannerState)
     return planner.get_plan()