User Manual: Code: Misc: fluxon placement hilbert

From FLUX

Jump to: navigation, search

fluxon_placement_hilbert is a PDL routine that uses simple linear error-propagation dithering along a Hilbert curve to place fluxons on a boundary image; it is similar to Riemersma dithering, but omits Riemersma's error decay term. It works well for most fields: it is not awful for crowded fields (where Floyd-Steinberg does somewhat better), and it really shines for smooth fields (where Floyd-Steinberg chokes and introduces a lot of structure). See also fluxon_placement_fs.


Usage:

  $points = fluxon_placement_hilbert($mag, $est_count)
-or-
  $points = fluxon_placement_hilbert($mag, -$flux)

You supply a magnetogram image and either a desired total fluxon count or a desired flux per fluxon (in magnetogram count-pixels), and you get back a 3xn array of point locations and some ancillary information. The total fluxon count is an upper bound on the number of fluxons placed; typical fluxon counts are close to half of the specified count.

Below: fluxon placements for a global solar model of the May 12, 1997 CME, as cross-eyed stereograms on the unit sphere. The top image is with Floyd-Steinberg, the bottom image is with the Hilbert diffusion.

Floyd-Steinberg diffusion chokes on the smooth field used for this global model.

Hilbert curve diffusion works very well.

Performance at resolving solar features

Here are some sample frames showing the effect of endpoint count on resolution in a full-sphere simulation of a simple solar flux system (a simplified mockup of the May 12, 1997 event, using the potential field from a central dipole and a small oblique dipole under the active region). With just 125 fluxons requested (104 found), the active region (which contains about 1/20 of the total unsigned flux on the surface of the Sun) is barey resolved. By 1000 endpoints, te active region is reasonably well resolved, and by 4000 it is quite well resolved.

Note that weak, mixed field gets "averaged over" to zero. In all panels, there is a broad empty zone between the red side of the active region and the surrounding weak background field. In the analytic model, the red side of the active region is an island surrounded by a closed neutral line; even with 4000 endpoints, the dithered image is not clearly distinguished from a weak red peninsula.