def generate_xml_from_all_seq(self): clear_scene_file_startswith(self.seq_name) SceneGenerate.write_range_num_for_RT(self._cfgFile) self.readParameterFileList() for filename in self.parameter_file_list: tcfgfile = os.path.join(session.get_input_dir(), filename) prifix = os.path.splitext(filename)[0] + "_" SceneGenerate.terr_generate(tcfgfile, prifix) SceneGenerate.generate_objects_file(tcfgfile, prifix) SceneGenerate.forest_generate(tcfgfile, prifix) # if len(self.parameter_file_list) > 0: # SceneGenerate.generate_objects_file(self._cfgFile, self.seq_name + "_") # SceneGenerate.forest_generate(self._cfgFile, self.seq_name + "_") # log("INFO: Generating view and illuminations.") # 输出irridiance fi = open( os.path.join(session.get_output_dir(), self.seq_name + "_" + irradiance_file), 'w') sp = SceneParser() for filename in self.parameter_file_list: tcfgfile = os.path.join(session.get_input_dir(), filename) prifix = os.path.splitext(filename)[0] + "_" irrstr = sp.parse(tcfgfile, prifix, prifix) fi.write(os.path.splitext(filename)[0] + "\n" + irrstr + "\n") log("INFO: view and illuminations generated.") fi.close()
if mode == "n": Simulation.do_simulation_multi_spectral(args.cores, distFile) if args.generate is not None: gvalue = args.generate[0] session.checkproj() cfgfile = session.get_config_file() # generate all if gvalue in ("a", "all"): clear_input("forest") clear_input("terrain") SceneGenerate.write_range_num_for_RT(cfgfile) SceneGenerate.terr_generate(cfgfile) SceneGenerate.generate_objects_file(cfgfile) SceneGenerate.forest_generate(cfgfile) sp = SceneParser() irrstr = sp.parse(cfgfile) sp.write_irr_to_file(irrstr) if gvalue in ("v", "view"): sp = SceneParser() irrstr = sp.parse(cfgfile) sp.write_irr_to_file(irrstr) # combine forest generation and terrain generation if gvalue in ("s", "scene"): SceneGenerate.write_range_num_for_RT(cfgfile) clear_input("terrain") SceneGenerate.terr_generate(cfgfile) clear_input("forest") SceneGenerate.generate_objects_file(cfgfile) SceneGenerate.forest_generate(cfgfile)
def main(filename): scene = SceneParser(filename).scene ## to disable showing images in matplotlib uncomment the following line #scene.render.bShowImage = False scene.renderScene()
# dataset directory DATASET_DIR = './scenes/' filterStr = '*.xml' # xml file filter pattern if not os.path.exists(OUTDIR_REL_PATH): os.makedirs(OUTDIR_REL_PATH) for root, subDirs, files in os.walk(DATASET_DIR): scene_files = fnmatch.filter(os.listdir(root), filterStr) for scene_file in scene_files: scene_file_path = os.path.join(root, scene_file) print(scene_file_path) try: scene = SceneParser(scene_file_path).scene scene.render.OUTDIR_REL_PATH = OUTDIR_REL_PATH scene.render.bShowImage = False camera = scene.render.camera print(camera.imageSize, max(camera.imageSize)) scale_factor = min(float(MAXDIM) / max(camera.imageSize), 1.) camera.imageWidth = int(camera.imageWidth * scale_factor) camera.imageHeight = int(camera.imageHeight * scale_factor) camera.imageSize = (camera.imageWidth, camera.imageHeight) print(scene.render.camera.imageSize) scene.renderScene() except: print('failed to render ' + scene_file + ' moving on...')