Skip to content

v1.2.1

Choose a tag to compare

@vanandrew vanandrew released this 25 Apr 22:40
· 12 commits to main since this release
0a5377f

v1.2.1

Added

  • Typed Python API for all seven wk-* operations (#21). Each
    warpkit.scripts.<name> module now exports a typed function
    (medic, unwrap_phase, compute_fieldmap, apply_warp,
    convert_warp, convert_fieldmap, compute_jacobian) alongside a
    frozen Result dataclass. The new warpkit.api module re-exports all
    seven functions for from warpkit.api import medic usage by library
    integrators (nipype, fmriprep, etc.). Functions accept paths or
    nib.Nifti1Image inputs and raise ValueError instead of
    SystemExit; CLI behaviour is preserved exactly.
  • BIDS sidecar resolution, mutex acquisition validation, image coercion,
    and noise-frame trimming consolidated into a new private
    warpkit.scripts._metadata module (previously duplicated across
    three scripts).

Changed

  • ROMEO weights.h and voxel_quality.h kernels streamlined into
    single-pass (k, j, i) loops — boundary edges are skipped by
    construction, and the masked_mag shadow buffer is gone (#22).
    Per-edge FP arithmetic is unchanged, so the ROMEO goldens remain
    bit-exact.
  • Ship the ROMEO MIT notice with binary distributions (#22). Declared
    via PEP 639 license-files = ["LICENSE", "include/romeo/LICENSE"],
    so wheels now carry both notices under *.dist-info/licenses/. The
    standalone wk-* bundles drop both LICENSE files into a LICENSES/
    directory.

Full diff: v1.2.0...v1.2.1