synth op• Data kinds: none → image2d (an op determined by its arguments alone — it takes no image or data input)
• Call: import fullseye as fs; fs.ledger.piv_synth_particles(shape, density=0.02, diameter_px=2.5, seed=0, intensity=(0.6, 1.0), background=0.0) (to call the implementation directly, import pivops; pivops.piv_synth_particles(shape, density=0.02, diameter_px=2.5, seed=0, intensity=(0.6, 1.0), background=0.0); from the registry, opspiv.get("piv_synth_particles"))
• Return value through the ledger: fullseye.ledger.piv_synth_particles(...) returns only the declared out type image2d (the underlying function also returns auxiliary values). When you need what was dropped, use fullseye.ledger.piv_synth_particles.raw(...) or call pivops.piv_synth_particles directly.
• Underlying return: (image, positions) -> image2d
Creates 1 image seeded with tracer particles. Returns (image, positions).
Particles are Gaussian bright spots (by PIV convention, diameter_px denotes 2 times the standard deviation, not the 1/e^2 width). Positions are continuous, so images with subpixel ground truth can be made.
density is the number of particles per pixel. The PIV rule of thumb is 5-10 per window as a guideline, which for a 32x32 window corresponds to 0.005-0.01. Too few and no correlation peak stands out; too many and particle images overlap so that individual correspondences are lost.
Args:
shape: (H, W).
density: particles per pixel (> 0).
diameter_px: diameter of a particle image [px] (> 0).
seed: random seed.
intensity: brightness range of the particles (lo, hi).
background: uniform offset.
Returns:
(image (H, W) float64, positions (N, 2) as (row, col)).
• piv_displacement family guide
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• piv_field_analysis_tour — py -3.11 examples/piv_field_analysis_tour.py
image2d as input)piv_cross_correlate · piv_multipass · piv_deform_pass · strain_from_displacement · correlation_quality · speckle_quality
synth)piv_synth_pair · piv_synth_sequence
*Provenance: pivops.py — PIV operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.