MultiScaleTreeGraph
Read, analyse, compute, write and convert MTG files
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (12.0%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Read, analyse, compute, write and convert MTG files
Basic Info
- Host: GitHub
- Owner: VEZY
- License: mit
- Language: Julia
- Default Branch: master
- Homepage: https://vezy.github.io/MultiScaleTreeGraph.jl/stable
- Size: 3.85 MB
Statistics
- Stars: 10
- Watchers: 3
- Forks: 1
- Open Issues: 24
- Releases: 26
Topics
Metadata Files
README.md
MultiScaleTreeGraph
The goal of MultiScaleTreeGraph.jl is to read, write, analyse and plot MTG (Multi-scale Tree Graph) files. These files describe the plant topology (i.e. structure) along with some attributes for each node (e.g. geometry, colors, state...).
The package is under intensive development and is in a very early version. The functions may heavily change from one version to another until a more stable version is released.
1. Installation
You can install the latest stable version of MultiScaleTreeGraph.jl using this command:
julia
] add MultiScaleTreeGraph
Or if you prefer the development version:
julia
using Pkg
Pkg.add(url="https://github.com/VEZY/MultiScaleTreeGraph.jl", rev="master")
2. Example
Read a simple MTG file:
```julia using MultiScaleTreeGraph
file = joinpath(dirname(dirname(pathof(MultiScaleTreeGraph))),"test","files","simple_plant.mtg")
mtg = read_mtg(file) ```
Then you can compute new variables in the MTG using a DataFrame.jl's alike syntax:
julia
transform!(mtg, :Length => (x -> x * 1000.) => :length_mm)
And then write the MTG back to disk:
julia
write_mtg("test.mtg",mtg)
3. Conversion
You can convert an MTG into a DataFrame and select the variables you need:
julia
DataFrame(mtg, [:length_mm, :XX])
Or convert it to a MetaGraph:
julia
MetaGraph(mtg)
4. Compatibility
We can plot the MTG using the companion package PlantGeom.jl.
MultiScaleTreeGraph.jl trees are compatible with the AbstractTrees.jl package, which means you can use all functions from that package, e.g.:
```julia using AbstractTrees
node = get_node(mtg, 4)
nodevalue(node) parent(node) nextsibling(node) prevsibling(nextsibling(node)) childrentype(node) childtype(node) childstatetype(node) getdescendant(mtg, (1, 1, 1, 2)) collect(PreOrderDFS(mtg)) collect(PostOrderDFS(mtg)) collect(Leaves(mtg)) collect(nodevalues(PreOrderDFS(mtg))) print_tree(mtg) ```
You can learn more about MultiScaleTreeGraph.jl in the documentation of the package.
3. Acknowledgments
Several tree-related functions in use are adapted from DataTrees.jl.
This package is heavily inspired by OpenAlea's MTG implementation in Python.
4. Similar packages
Owner
- Name: Rémi Vezy
- Login: VEZY
- Kind: user
- Location: Montpellier
- Company: CIRAD
- Website: https://www.remivezy.com/
- Twitter: VezyRemi
- Repositories: 44
- Profile: https://github.com/VEZY
I am a researcher in plant modelling at the AMAP lab in CIRAD.
Citation (CITATION.bib)
@misc{MultiScaleTreeGraph.jl,
author = {remi.vezy <VEZY@users.noreply.github.com> and contributors},
title = {MultiScaleTreeGraph.jl},
url = {https://github.com/VEZY/MultiScaleTreeGraph.jl},
version = {v0.7.0},
year = {2022},
month = {08}
}
GitHub Events
Total
- Create event: 3
- Commit comment event: 4
- Release event: 3
- Issues event: 2
- Issue comment event: 1
- Member event: 1
- Push event: 16
- Pull request event: 1
Last Year
- Create event: 3
- Commit comment event: 4
- Release event: 3
- Issues event: 2
- Issue comment event: 1
- Member event: 1
- Push event: 16
- Pull request event: 1
Committers
Last synced: about 2 years ago
Top Committers
| Name | Commits | |
|---|---|---|
| remi.vezy | V****Y | 307 |
| github-actions[bot] | 4****] | 19 |
| CompatHelper Julia | c****y@j****g | 14 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 44
- Total pull requests: 34
- Average time to close issues: 2 months
- Average time to close pull requests: 19 days
- Total issue authors: 4
- Total pull request authors: 4
- Average comments per issue: 0.95
- Average comments per pull request: 0.47
- Merged pull requests: 31
- Bot issues: 0
- Bot pull requests: 29
Past Year
- Issues: 3
- Pull requests: 1
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 1
- Pull request authors: 1
- Average comments per issue: 0.0
- Average comments per pull request: 0.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- VEZY (34)
- bspanoghe (3)
- thomasarsouze (2)
- JuliaTagBot (1)
Pull Request Authors
- github-actions[bot] (30)
- bspanoghe (4)
- VEZY (3)
- Samuel-amap (2)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- julia 11 total
- Total dependent packages: 3
- Total dependent repositories: 0
- Total versions: 26
juliahub.com: MultiScaleTreeGraph
Read, analyse, compute, write and convert MTG files
- Homepage: https://vezy.github.io/MultiScaleTreeGraph.jl/stable
- Documentation: https://docs.juliahub.com/General/MultiScaleTreeGraph/stable/
- License: MIT
-
Latest release: 0.14.4
published 8 months ago
Rankings
Dependencies
- actions/checkout v2 composite
- codecov/codecov-action v2 composite
- julia-actions/cache v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-docdeploy v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- julia-actions/RegisterAction latest composite