Skip to main content

Joint differentiable powder + FF-HEDM detector calibration for MIDAS. Breaks single-distance per-panel rank-1 degeneracy by combining a powder calibrant pseudo-strain residual with HEDM grain spot residuals in one Bayesian MAP + Laplace inference. Pure-Python, fully autograd-traced; consumes the shared midas_peakfit substrate (ParameterSpec, lm_minimise, laplace_at_map, TPSpline, zero_sum_residual) plus midas_calibrate_v2 (powder forward + pseudo_strain) and midas_fit_grain (HEDM spot forward).

Project description

midas-joint-ff-calibrate

Joint differentiable powder + FF-HEDM detector calibration.

The single-image powder calibration problem (Wright, Giacobbe & Lawrence Bright 2022 § 3; midas_calibrate_v2 paper § 9) is rank-deficient on per-panel (δy, δz) shifts: each panel's η coverage is too narrow to break the radial-vs-azimuthal degeneracy without translating the detector to multiple distances. For a ~100 kg detector on a translation stage that's impractical.

This package solves the same problem at a single distance by combining the calibrant powder image with a co-located HEDM grain-fit dataset. HEDM spots are determinate in (R, η) and distribute across all panels at varied azimuth, so the joint Fisher block on per-panel shifts becomes full rank. The same machinery generalises to refining any subset of the unified spec — geometry, distortion, panels, wavelength, per-grain orientation/position/ strain, or arbitrary user-defined blocks.

Notebooks

Worked-example Jupyter notebooks live in notebooks/. They are not shipped with pip install — get them by cloning the MIDAS repository.

Architecture

                   midas_peakfit  (shared substrate)
                   ParameterSpec / pack / lm / laplace / TPSpline / Σ=0
                          ▲                       ▲
                          │                       │
              midas_calibrate_v2          midas_fit_grain
              (powder forward + loss)     (HEDM forward + loss)
                          ▲                       ▲
                          └──────────┬────────────┘
                                     │
                       midas_joint_ff_calibrate
                       (joint spec / loss / drivers)

Pure-Python, fully autograd-traced. No legacy C code (FitMultipleGrains.c is not used).

Drivers

  • pipelines.alternating.AlternatingDriver — the recommended default. Outer loop alternates between (geometry + grain orientation/position) and (grain strain) passes. Cheap, robust.
  • pipelines.full_joint.FullJointDriver — refine every refined parameter at once with a single LM call; report MAP plus Laplace covariance.
  • pipelines.identifiability.fisher_block_rank — diagnostic that reports rank, condition number, and σ per parameter on a user-chosen Fisher block under powder-only, HEDM-only, or joint evidence.

Status

Pre-alpha. Companion paper to the J. Appl. Cryst. submission of midas_calibrate_v2 (paper 3); see dev/paper/.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

midas_joint_ff_calibrate-0.1.5.tar.gz (66.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

midas_joint_ff_calibrate-0.1.5-py3-none-any.whl (72.4 kB view details)

Uploaded Python 3

File details

Details for the file midas_joint_ff_calibrate-0.1.5.tar.gz.

File metadata

  • Download URL: midas_joint_ff_calibrate-0.1.5.tar.gz
  • Upload date:
  • Size: 66.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for midas_joint_ff_calibrate-0.1.5.tar.gz
Algorithm Hash digest
SHA256 d68556147cf3b6d811d34af99b258b8a8e0e1a5848878e8c9a45da0247f5a62a
MD5 bc2be7b6ede89d1652423b47635d9ff9
BLAKE2b-256 002f4bcdb1e1b373e131175508986fe85135a3c3ad70fb8d37600f349aa9731b

See more details on using hashes here.

Provenance

The following attestation bundles were made for midas_joint_ff_calibrate-0.1.5.tar.gz:

Publisher: python-packages.yml on marinerhemant/MIDAS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file midas_joint_ff_calibrate-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for midas_joint_ff_calibrate-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 b4956f1d3534f03aecb7725e56acb24d200aed8cef8fd78092c85242adffc895
MD5 e686336cd7a28e90f3c18595639ba555
BLAKE2b-256 ab1160ebea1fb8bbb8cc841ab350044545dfb87d212a998dde82ce10c7b3cdfc

See more details on using hashes here.

Provenance

The following attestation bundles were made for midas_joint_ff_calibrate-0.1.5-py3-none-any.whl:

Publisher: python-packages.yml on marinerhemant/MIDAS

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page