Skip to content

v0.1.1

Pre-release
Pre-release

Choose a tag to compare

@hdt5kt hdt5kt released this 31 Jul 21:56
· 169 commits to main since this release
e41fedc

Fixed

  • HEDM stitching noise model is now physically consistent. Synthetic
    measurement error was previously injected as a single fractional noise_level
    applied multiplicatively to all of X, Y, Z, GrainRadius, and the three Euler
    angles. For centroids this made the absolute error scale with distance from
    the origin (zero at the origin, large far away) and put it in different units
    than the stitcher's absolute position_tolerance. Noise is now split into
    three independent, physically meaningful channels.
  • Fixed a latent cost-normalization bug in ScanStitchingComparison: the -1
    "disable" sentinel was used as a divisor, which could invert the sign of a
    weighted cost term. Normalizers now guard on > 0, matching
    RegionBaseStitching.

Changed

CrystalGenerator.write_to_csv and hedm_zscan no longer accept
apply_noise, apply_noise_method, or noise_level. Use instead:

Old New
noise_level (fractional, all columns) position_noise_std (absolute, length units, additive on X/Y/Z)
orientation_noise_std (degrees, proper misorientation)
radius_noise (relative fraction of GrainRadius)
apply_noise=True/False set any std > 0 to enable; all-zero = noiseless
(none) noise_seed for reproducible noise

Each channel is applied only when its value is > 0, so the default is
noiseless (equivalent to the old apply_noise=False).

Added

  • orientation_helper.perturb_orientation(euler, sigma_deg, ...): applies a
    proper random misorientation of a given angular std about a uniformly random
    axis (gimbal-free), replacing the old per-Euler fractional perturbation.

Migration

# before
cg.hedm_zscan(..., apply_noise=True, noise_level=0.01)

# after (physical units; tune to your experiment)
cg.hedm_zscan(
    ...,
    position_noise_std=3.0,      # micrometers
    orientation_noise_std=0.5,   # degrees
    radius_noise=0.05,           # 5% relative
    noise_seed=42,
)