Skip to content

Releases: 123VincentB/eulumdat-plot

v1.0.0

18 Mar 14:19

Choose a tag to compare

[1.0.0] — 2026

Added

  • plot_ldt() — main public API: EULUMDAT .ldt → SVG polar diagram
  • Layout dataclass — all visual parameters in one place
  • Layout.for_size(n) — proportional scaling from 1181 px reference
  • make_svg() — low-level SVG renderer, decoupled from LDT parsing
  • polar_to_nat() — polar to NAT Cartesian coordinate conversion
  • svg_to_png() / svg_to_jpg() — raster export via vl-convert-python
    (cross-platform, no native DLL required)
  • Optional I(γ) resampling: linear (numpy) and cubic spline (scipy)
  • Dynamic radial scale: 3–6 concentric circles with round values
  • Dominant-hemisphere detection for automatic scale label placement
  • Debug mode: colour-coded C-planes for visual validation
  • SVG clip path: curves and grid clipped to the plot area
  • Smoke tests: 46 real EULUMDAT files, all ISYM types (0–4)
  • Scaling tests: proportionality and pixel-exact PNG export

Architecture

  • plot.py — LDT reading and C-plane extraction via eulumdat-py;
    ISYM handling fully delegated to pyldt.LdtReader
  • renderer.py — pure SVG generation, no LDT dependency
  • export.py — raster export, lazy dependency loading