EVIE
Ensemble Visualization and Imaging Environment
Shape and texture in the solar corona
A worked example run end to end through EVIE — segmentation, separable shape tensors, principal geodesic analysis, and a two-sample maximum-mean-discrepancy test. Every number and every curve on this page came out of the pipeline. Nothing here is illustrative.
The question
Each frame segments into hundreds of closed level-set boundaries — the outlines of coronal structure. One image is therefore already an ensemble of shapes. Group the frames by date and a question follows naturally: does the distribution of coronal loop shapes change from one day to the next?
A separable shape tensor splits each closed curve into two independent factors — a point on the Grassmannian Gr(2, n) carrying undulation (how the outline wiggles), and a symmetric-positive-definite matrix carrying anisotropic scaling (how big and how elongated it is). The test can then ask about each factor separately, and say which kind of difference it found.
Segmented boundaries
The traced level sets, in image pixel coordinates. Colour marks the observation date. These are the actual curves the pipeline consumed.
What the shape tensors say
Singular values σk of the undulation factor, log scale. The decay says how many modes carry the ensemble's shape variation.
Each point is one boundary: dGr (undulation) against dSPD (scaling), coloured by date. The two clouds overlap.
The intrinsic mean shape (solid) over the standardized ensemble (faint). Computed on the manifold, not by averaging coordinates.
Test outcome across the analysis grid — reduced dimension r against landmark count nre. Circle = fail to reject, × = reject.
The answer, and the interesting part
A single run at one smoothing scale is a weak claim, so the pipeline sweeps the scale and re-runs the whole grid at each one. That is where this example stops being flat:
Reproducing this
The dataset ships with the code as data/sun_temporal/, and this
is one command:
evie-mmd-g2image --data-path data/sun_temporal \
--r 5 10 20 --n-re 200 500 --scale 5 --min-arc 200 \
--scales 3 5 7 --alpha 0.05 --shuff 200
EVIE also runs as an interactive terminal interface (python -m evie)
and as a local dashboard, and mirrors the same pipeline in MATLAB/Octave.