Key: - todo, + done, o pending, ! attention, x ignore

+ swc-check: detect soma nodes (type 1) separated by other nodes (see  Ilaria's 210525_s6_v4.swc)
+ swc-repair: assumes centered input morphology; should do this internally if needed and return original root coordinates unless -n explicitly applied
+ swc-repair: centering -n not applied after shrinkage correction
+ swc-repair: add --seed for reproducible results
+ swc-view: color options
+ swc-measure: add optional features (-a {sholl,dist,path,sec})
+ swc-find: distance to origin
+ swc-repair: add neurite to root if id=1 is in the list of the cut points
! swc-view: run gdk-pixbuf-register to enable matplotlib backends
+ morph (get_segdata): extract extended segment data (two-pass parsing)
+ swc-view: add dendrogram view
+ swc-view: add axes limits
+ swc-modify: scaling with positive factors only
+ swc-repair: add flip option (-f {x,y,z}); flip around root, not origin
+ swc-find: change distance-to-origin to distance-to-root
+ swc-measure (Node.dist): evaluate distance to root, not origin
+ swc-measure: rewrite for parallel execution (see experimental swc-meter)
+ swc-measure: make dist a standard feature (-a dist)
+ swc-measure: add segment data option (-a seg) (see morph.py:get_segdata()), remove exp swc-meter
+ treem: add scripts/swc2pts.py
+ treem: release v1.1.0
+ swc-view: distance to object setting is ignored (-d) if 'ortho' projection is used (default)
+ swc-measure: wrong values of segment order (-a seg) limited to 1 and 2
+ swc-modify: swap 2 nodes at a time, randomly selected from the input list
! swc-render: 'no valid context' error in wayland, set PYOPENGL_PLATFORM='glx'
+ swc-render (W, write image to file): TypeError
+ treem: release v1.1.1
o treem: refactor code to resolve SonarQube issues
+ treem: replace legacy setup.py bdist_wheel mechanism with pyproject.toml
+ treem: run tests with 'hatch run pytest ...' command
+ treem: use tox to test against several python versions and os platforms
- treem: cleanup tox/hatch configs
