Getting started¶
Install version 0.1.0¶
python -m pip install --upgrade pip
python -m pip install "radialpaths @ git+https://github.com/RafaelSdeSouza/radialpaths.git@v0.1.0"
After PyPI publication, use python -m pip install radialpaths.
The optional plotting and explorer dependencies are installed with:
python -m pip install ".[demo]"
Build geometry once¶
support is a two-dimensional boolean array. True pixels form the
connected domain in which paths may travel; holes and background are False.
Centres default to NumPy (row, column) order.
from radialpaths import build_geometry
geometry = build_geometry(
support,
centres=[(42, 31), (58, 74)],
)
The result exposes the complete construction:
geometry.distances # one in-support distance field per centre
geometry.labels # centre assignment a(x)
geometry.boundary_distance # b(x)
geometry.rho_D # relative centre-boundary depth
geometry.rho_X # normalized progression
geometry.extents # L_k for every centre
Measure registered tracers¶
from radialpaths import radial_profile
brightness = radial_profile(image, geometry, coordinate="rho_D")
colour = radial_profile(colour_map, geometry, coordinate="rho_X")
velocity = radial_profile(velocity_map, geometry, coordinate="rho_X")
Each result has shape (n_centres, n_bins) for median, p16, p84,
and count. Bins that contain fewer than six selected pixels retain their
counts but have NaN summaries.
Plot the result¶
from radialpaths.plotting import plot_overview
figure, axes = plot_overview(
image, geometry, coordinate="rho_D", profile=brightness
)
FITS and centre order¶
The optional I/O helper reads FITS data without making Astropy a core import:
from radialpaths.io import read_fits
image = read_fits("science.fits", extension="SCI")
If centre positions are supplied in (x, y) order, set
centre_order="xy" explicitly.