def create_config_from_template(config_template_ifp, config_fp): config_template_ifp = os.path.abspath(config_template_ifp) config_fp = os.path.abspath(config_fp) if not os.path.isfile(config_fp): copyfile(config_template_ifp, config_fp) return SSRConfig(config_fp=config_fp)
def __init__(self, pm): self.pm = pm self.ssr_config = SSRConfig.get_instance() colmap_vissat_exe_fp = self.ssr_config.get_option_value( "colmap_vissat_exe_fp", str ) self.colmap_vissat_exe_fp = colmap_vissat_exe_fp assert os.path.isfile(colmap_vissat_exe_fp) self.colmap_vissat_exe_dp = os.path.dirname(colmap_vissat_exe_fp)
def __init__(self, pm, bm): # path manager self.pm = pm # backend manager self.bm = bm # task manager self.tm = TaskManager(pm, bm) self.ssr_config = SSRConfig.get_instance()
def __init__(self): ssr_config = SSRConfig.get_instance() self.executable_fp = ssr_config.get_option_value( "meshlab_server_fp", str) self.meshlab_temp_dp = ssr_config.get_option_value_or_None( "meshlab_temp_dp", str) if self.meshlab_temp_dp is not None: if not os.path.isdir(self.meshlab_temp_dp): logger.vinfo("meshlab_temp_dp", self.meshlab_temp_dp) assert False, "Choose a valid path (in the config file) for Meshlab's temp directory"
def __init__(self): self.ssr_config = SSRConfig.get_instance() self.texrecon_apps_dp = self.ssr_config.get_option_value( "texrecon_apps_dp", str) assert self.texrecon_apps_dp is not None if platform.system() == "Windows": self.texrecon_executable = os.path.join(self.texrecon_apps_dp, "texrecon.exe") else: self.texrecon_executable = os.path.join(self.texrecon_apps_dp, "texrecon", "texrecon")
def __init__(self): self.NAME_OCTREE_FILE = "octree" self.ssr_config = SSRConfig.get_instance() self.gdmr_bin_dp = self.ssr_config.get_option_value("gdmr_bin_dp", str) self.octree_executable_fp = os.path.join(self.gdmr_bin_dp, "pointfusion_octree") assert os.path.isfile(self.octree_executable_fp) self.surface_executable_fp = os.path.join(self.gdmr_bin_dp, "pointfusion_surface") assert os.path.isfile(self.surface_executable_fp)
def __init__(self): self.ssr_config = SSRConfig.get_instance() self.openmvs_bin_dp = self.ssr_config.get_option_value( "openmvs_bin_dp", str) self.interface_visualsfm_fp = os.path.join(self.openmvs_bin_dp, "InterfaceVisualSFM") self.interface_colmap_fp = os.path.join(self.openmvs_bin_dp, "InterfaceCOLMAP") self.densify_point_cloud_fp = os.path.join( self.openmvs_bin_dp, "DensifyPointCloud", ) self.reconstruct_mesh_fp = os.path.join(self.openmvs_bin_dp, "ReconstructMesh") self.refine_mesh_fp = os.path.join(self.openmvs_bin_dp, "RefineMesh") self.texture_mesh_fp = os.path.join(self.openmvs_bin_dp, "TextureMesh")
def __init__(self, workspace_dp=None): self.ssr_config = SSRConfig.get_instance() self.mve_apps_dp = self.ssr_config.get_option_value("mve_apps_dp", str) self.workspace_folder = workspace_dp if platform.system() == "windows": self.make_scene_fp = os.path.join(self.mve_apps_dp, "makescene") self.sfm_recon_fp = os.path.join(self.mve_apps_dp, "sfmrecon") self.dm_recon_fp = os.path.join(self.mve_apps_dp, "dmrecon") self.scene2pset_fp = os.path.join(self.mve_apps_dp, "scene2pset") self.fssrecon_fp = os.path.join(self.mve_apps_dp, "fssrecon") self.meshclean_fp = os.path.join(self.mve_apps_dp, "meshclean") else: # assume linux self.make_scene_fp = os.path.join( self.mve_apps_dp, "makescene", "makescene" ) self.sfm_recon_fp = os.path.join( self.mve_apps_dp, "sfmrecon", "sfmrecon" ) self.dm_recon_fp = os.path.join( self.mve_apps_dp, "dmrecon", "dmrecon" ) self.scene2pset_fp = os.path.join( self.mve_apps_dp, "scene2pset", "scene2pset" ) self.fssrecon_fp = os.path.join( self.mve_apps_dp, "fssrecon", "fssrecon" ) self.meshclean_fp = os.path.join( self.mve_apps_dp, "meshclean", "meshclean" ) assert os.path.isfile(self.make_scene_fp) assert os.path.isfile(self.dm_recon_fp) assert os.path.isfile(self.scene2pset_fp) assert os.path.isfile(self.fssrecon_fp) assert os.path.isfile(self.meshclean_fp)
def __init__(self, pm): self.pm = pm self.ssr_config = SSRConfig.get_instance()
def __init__(self): self.ssr_config = SSRConfig.get_instance() self.colmap_exe_dp = self.ssr_config.get_option_value( "colmap_exe_dp", str)
def create_backend_manager(ssr_config): bm = BackendManager() bm.set_meshing_backends( ssr_config.get_option_value("meshing_backends", list)) bm.set_texturing_backends( ssr_config.get_option_value("texturing_backends", list)) return bm if __name__ == "__main__": ssr_config_template_ifp = "./configs/pipeline_template.cfg" ssr_config_fp = "./configs/pipeline.cfg" ssr_config = create_config_from_template(ssr_config_template_ifp, ssr_config_fp) SSRConfig.set_instance(ssr_config) pm = create_path_manager(ssr_config) bm = create_backend_manager(ssr_config) # ===== # Gather options from the config file # ===== lazy = ssr_config.get_option_value("lazy", bool) # === SfM / MVS Options === reconstruct_sfm_mvs = ssr_config.get_option_value("reconstruct_sfm_mvs", bool) # === Preparation Options === extract_pan = ssr_config.get_option_value("extract_pan", bool) extract_msi = ssr_config.get_option_value("extract_msi", bool) pan_sharpening = ssr_config.get_option_value("pan_sharpening", bool)