一个处理3d地标的python包

Scyland3D的Python项目详细描述


scyland3d:处理3d地标

Scyland3D是一个python工具,用于将从地标采集软件(例如Landmark Editor 3.6 from IDAV, UC Davis)导出的3d原始地标和半地标坐标转换为最适合几何形态分析的csv格式。 为了解决进一步的对称性问题,提供了对这些点进行镜像和重新排序的处理方案。

签署人:

安装

使用pip安装和更新:

pip install -U Scyland3D

依赖关系:

  • Python2或3。scyland3d已经用python 2.7.16和3.6.3进行了测试,should应该用python的旧版本。
  • Numpy>;=1.13.3。scyland3d已经用numpy 1.13.3和1.16.2进行了测试,should应该用旧版本的numpy工作。

如果遇到其他版本的错误,请submit an issue

用例示例

要快速处理地标文件,可以给scyland3d包含.pts文件的文件夹的路径(格式在http://www.idav.ucdavis.edu/research/projects/EvoMorph/supplement/LandmarkDoc_v3_b6.pdf的第37页定义),如提供的示例文件所示:

import Scyland3D
Scyland3D.pts2csv("example/")

这将创建一个名为landmarks.csv的文件,您可以用任何语言/软件进行统计分析。 提供的示例文件来自我们的数据集的一个子集,该数据集用于研究小型斑点猫鲨scyliorhinus canicula的牙齿。 我们为2颗上牙和3颗下牙提供7个地标和31个半地标坐标,存储在描述它们所属样本的两个文件夹中。 地标是一个手动设置的点,而不是一个半地标,它是由计算机根据所研究的形状的曲率在两个地标之间插值的。

API文档

函数pts2csv()scyland3d的核心,当使用来自终端的带有以下参数的脚本时也会调用该函数:

  • indir(必需)
    • 包含存储文件的输入目录的字符串。文件名可以指定由_分隔的功能模式(例如speciesa_agex_sex1.pts)。
    • 默认:使用“example/”文件夹
    • 示例:Scyland3D.pts2csv("path/")
    • 命令行:python -m Scyland3D.Scyland3D -i "path/"
  • outdir(可选)
    • 包含将在其中生成文件的输出目录的字符串。
    • 默认:使用当前文件夹。
    • 示例:Scyland3D.pts2csv(outdir="path/")
    • 命令行:python -m Scyland3D.Scyland3D -o "path/"
  • order(可选)
    • 一个整数列表,指示应用于地标的新顺序。还必须提供order_factor参数。
    • 默认值:无
    • 示例:Scyland3D.pts2csv(order_factor="upper", order=[36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 37])
    • 命令行:python -m Scyland3D.Scyland3D -f "upper" -r "36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 37"
  • 顺序因子(可选)
    • 一个字符串,包含需要重新排序其地标和半地标的项的关键字。还必须提供order参数。
    • 默认值:无
    • 示例:如果数据集包含只需要重新排序上牙的下牙和上牙,则可以使用:Scyland3D.pts2csv(order_factor="upper", order=[36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 37])
    • 命令行:python -m Scyland3D.Scyland3D -f "upper" -o "36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, 37"。只有在文件名中存在关键字upper时,此选项才有效。
  • 功能名称(可选)
    • 包含要素名称的字符串列表。
    • 默认值:无
    • 示例:Scyland3D.pts2csv(feature_names=["identifier", "species", "location", "length", "sex", "stage", "jaw", "position", "generation"])
    • 命令行:python -m Scyland3D.Scyland3D -n "identifier,species,location,length,sex,stage,jaw,position,generation"
  • verbose(可选)
    • 指示进程是否应在控制台上打印信息的布尔值。
    • 默认值:真
    • 示例:Scyland3D.pts2csv(verbose=False)
    • 命令行:python -m Scyland3D.Scyland3D -v False,用于删除控制台的信息显示。
  • 镜像因子(可选)
    • 包含keywo的字符串要在三维空间中镜像的项的RD。
    • 默认值:无
    • 示例:Scyland3D.pts2csv(mirror_factor="upper")
    • 命令行:python -m Scyland3D.Scyland3D -m "upper"将在3d中镜像包含关键字upper的文件,然后使用下图所示的其余lower项对其进行处理:

Landmarks on a tooth

更多信息可以在related article上找到。

如何贡献

欢迎投稿! 请参阅CONTRIBUTING.md文件。

许可证

scyland3d根据license file中描述的麻省理工学院许可证获得许可。请使用以下引文:

@article{Berio2019,
    author  = {Berio, Fidji and Bayle, Yann},
    title   = {{Scyland3D: Processing 3D landmarks}},
    journal = {{The Journal of Open Source Software}},
    page    = {1153--1155},
    volume  = {4},
    issue   = {33},
    doi     = {10.21105/joss.01153},
    note    = {Review pending}
}

致谢

我们感谢SFR Biosciences(UMS3444/CNRS,US8/INSERM,ENS de Lyon,UCBL)设施:Anira Immos和Mathilde Bouchet对X射线显微断层扫描的帮助。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ArrayList中实体对象上的JAVA泛型   带Redis的爪哇芹菜vs单用Redis   java在设备面向横向时隐藏标题栏/通知栏   java JXTreeTable:如何使用ComponentProvider为一列设置渲染器   java创建异常的成本与记录异常的成本相比   java在方法参数中使用setter传递新对象   java在一个类中的方法与另一个类中的方法交互时遇到问题   java如何迭代2个大小相等的ArrayList   Java getDesktop()。open在Windows中工作,但在Mac中不工作   从tomcat切换到jetty后的java“无法启动嵌入式容器”,Spring引导   java如何使用void方法   java如何在解组时在JAXB的ValidationEventHandler中获取节点值?   如何使用Akka Java API创建不响应的TCP接收器   JavaScriptjQuery在java中将记录上传到数据库时的进度条   如何在重新绘制时在java小程序中显示上一个图像