easyidp.pix4d.parse_p4d_project

easyidp.pix4d.parse_p4d_project(project_path: str, param_folder=None)

一个函数,用于自动分析pix4d项目文件夹中的相关子文件

参数:

project_path (str) --

pix4d项目文件的路径,该文件夹应包含以下子文件夹:

\project_path
|--- 1_initial\
|--- 2_densification\
|--- 3_dsm_ortho\

param_folder:str,默认值为None
如果未给出,它将作为标准pix4d项目进行解析,并尝试
从``1_initial/param``文件夹获取项目名称
如果它不是标准的pix4d项目(重新组织的文件夹),需要手动
指定param文件夹的路径,以解析project_name
以供后续使用。
返回:

p4d -- 一个包含每个文件路径的python字典。

{
    "project_name": the prefix of whole project file.
    "param": the folder of parameters
    "pcd": the point cloud file
    "dom": the digital orthomosaic file
    "dsm": the digital surface model file
    "undist_raw": the undistorted images corrected by the pix4d software (when original image unable to find)
}

返回类型:

dict

备注

项目名称可以从easyidp 2.0中的参数文件夹前缀中提取,无需手动指定。要查找输出,它将选择第一个符合预期文件格式的文件。

示例

数据准备

>>> import easyidp as idp
>>> test_data = idp.data.TestData()

>>> test_folder = test_data.pix4d.maize_folder
PosixPath('/Users/<user>/Library/Application Support/easyidp.data/data_for_tests/pix4d/maize_tanashi/maize_tanashi_3NA_20190729_Ins1Rgb_30m_pix4d')
>>> proj_name1 = "maize_tanashi_3NA_20190729_Ins1Rgb_30m_pix4d"

然后使用此函数解析给定的pix4d:

>>> p4d_p = idp.pix4d.parse_p4d_project(test_folder)
>>> p4d_p.keys()
dict_keys(['param', 'pcd', 'dom', 'dsm', 'undist_raw', 'project_name'])

>>> p4d_p['project_name']
'maize_tanashi_3NA_20190729_Ins1Rgb_30m_pix4d'

>>> p4d_p['dom']
PosixPath('/Users/<user>/Library/Application Support/easyidp.data/data_for_tests/pix4d/maize_tanashi/maize_tanashi_3NA_20190729_Ins1Rgb_30m_pix4d/3_dsm_ortho/2_mosaic/maize_tanashi_3NA_20190729_Ins1Rgb_30m_pix4d_transparent_mosaic_group1.tif')