Python library for working with webKnossos skeleton annotation files (NML).
wknml requires Python 3.6+
pip install wknml
See docs/wknml.md for an API documentation.
Some examples to get you started. Make sure to also check the examples
directory:
# Load an NML file
with open("input.nml", "rb") as f:
nml = wknml.parse_nml(f)
# Access the most important properties
print(nml.parameters)
print(nml.trees)
print(nml.branchpoints)
print(nml.comments)
print(nml.groups)
# Iterate over all nodes
for tree in nml.trees:
for node in tree.nodes:
print(tree, node)
# Write a new NML file to disk
with open("out.nml", "wb") as f:
wknml.write_nml(f, nml)
# Convert an NML file with unlinked nodes to one with connected trees
python -m examples.fix_unlinked_nml <unlinked>.nml <fixed>.nml
Make sure to install all the required dependencies using Poetry:
pip install poetry
poetry install
Please, format and test your code changes before merging them.
poetry run black wknml tests examples
poetry run pytest tests
PyPi releases are automatically pushed when creating a new Git tag/Github release. Make sure to bump the package version number manually:
poetry version <patch, minor, major>
If necessary, rebuild the documentation and commit to repository:
poetry run pydoc-markdown -m wknml -m wknml.nml_generation -m wknml.nml_utils --render-toc > docs/wknml.md
MIT License