waveorder assumes square pixels (single yx_pixel_size scalar). DaXi (and sometimes mantis) produce data where y != x, and we want to reconstruct it without resampling first.
Scope. Fluorescence (2D + 3D) and phase (2D + 3D) get full anisotropic support.
Config (backwards compatible).
yx_pixel_size: 0.3
yx_pixel_size:
y: 0.3
x: 0.25
The scalar form parses to an isotropic value internally, so existing configs are unchanged.
De-risking. Anisotropic call with y == x produces identical transfer functions and reconstructions to the legacy scalar call. New anisotropic tests cover each modality. Regression benchmark suite still passes.
Sri will validate on DaXi zebrafish data before merge.
waveorder assumes square pixels (single
yx_pixel_sizescalar). DaXi (and sometimes mantis) produce data wherey != x, and we want to reconstruct it without resampling first.Scope. Fluorescence (2D + 3D) and phase (2D + 3D) get full anisotropic support.
Config (backwards compatible).
The scalar form parses to an isotropic value internally, so existing configs are unchanged.
De-risking. Anisotropic call with
y == xproduces identical transfer functions and reconstructions to the legacy scalar call. New anisotropic tests cover each modality. Regression benchmark suite still passes.Sri will validate on DaXi zebrafish data before merge.