Morphological Trees Visualization
Project description
MorphoTreeViz – Morphological Trees Visualization
Interactive visualization of morphological trees.
Quick Start (import mtviz as viz)
import mtviz as viz
class Node:
def __init__(self, id, level, area, children=None):
self.id = id
self.level = level
self.area = area
self.children = children or []
root = Node(1, 0, 10, [
Node(2, 1, 5, [Node(4, 2, 3), Node(5, 2, 2)]),
Node(3, 1, 5, [Node(6, 2, 1)])
])
pt = viz.PrintTree(lambda n: n.children, lambda n: f"{n.id}: {n.level}: {n.area}")
pt(root)
Color (optional)
- Pass ANSI codes in
color(e.g.,"\x1b[40m\x1b[37m"for black background + white text). - If you use
coloramain your project, you can passBack.BLACK + Fore.WHITE.
Interactive Tree (viz.makePlotTree)
Use Bokeh to visualize and interact with the tree: hover tooltips, click actions, flood tools, and size/zoom controls.
import mtviz as viz
from bokeh.io import show, output_notebook
output_notebook() # inline in Jupyter; use show(p) to open in browser
class Node:
def __init__(self, id, level, area, children=None):
self.id = id
self.level = level
self.area = area
self.children = children or []
root = Node(1, 0, 10, [
Node(2, 1, 5, [Node(4, 2, 3), Node(5, 2, 2)]),
Node(3, 1, 5, [Node(6, 2, 1)])
])
p = viz.makePlotTree(
root,
lambda n: n.children,
{
"id:": lambda n: n.id,
"level:": "level",
"area:": lambda n: n.area,
"repCNPs": lambda n: getattr(n, 'repCnps', []),
},
lambda n: n.id,
node_size=18,
flood_use=None,
)
show(p.panel)
Image Overlay + Flood
You can compose a figure with a grayscale image and an RGBA overlay, then link DrawTree’s flood tools.
import mtviz as viz
from bokeh.layouts import row, column
img = ... # 2D numpy array (grayscale)
bundle_img = viz.makePlotImage(img)
p_img = bundle_img.panel
img_source = bundle_img.source
alpha_slider = bundle_img.controls[0]
p_tree = viz.makePlotTree(
root,
lambda n: n.children,
{ "id:": lambda n: n.id, "repCNPs": lambda n: getattr(n, 'repCnps', []) },
lambda n: n.id,
image_source=img_source,
alpha_slider=alpha_slider,
flood_use='floodThreshold',
flood_params={'polarity': 255},
)
show(row(p_tree, column(alpha_slider, p_img)))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file morphotreeviz-0.0.2.tar.gz.
File metadata
- Download URL: morphotreeviz-0.0.2.tar.gz
- Upload date:
- Size: 53.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3cd2514a25b0492cefd1316e9792454b18be4a339d9afe4553357326d08abb21
|
|
| MD5 |
6845de3526941d6d3cc1ee3cb0db322b
|
|
| BLAKE2b-256 |
9564463f28de90c628d503d4b633f6aed96665fa65ed4c1280e552f6fa544c2e
|
File details
Details for the file morphotreeviz-0.0.2-py3-none-any.whl.
File metadata
- Download URL: morphotreeviz-0.0.2-py3-none-any.whl
- Upload date:
- Size: 43.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e8a271da4fe52e898f64f79819771f311b0be0aab6ee192935d767eaf96c98c
|
|
| MD5 |
0721d9a4e28a72ded97d5db700e43bef
|
|
| BLAKE2b-256 |
c6c3b8fcd5cff4ad7c0f585715f2995afb40cbdec57386e4dacd412c67c3e87a
|