Skip to content

Comments

feat: Add pixel size estimation from registration#20

Open
Alpaca233 wants to merge 7 commits intoCephla-Lab:mainfrom
Alpaca233:pixel-size-estimation-upstream
Open

feat: Add pixel size estimation from registration#20
Alpaca233 wants to merge 7 commits intoCephla-Lab:mainfrom
Alpaca233:pixel-size-estimation-upstream

Conversation

@Alpaca233
Copy link
Contributor

Summary

  • Add estimate_pixel_size() method to TileFusion that estimates true pixel size from registration results
  • Compare expected shifts (from stage positions) vs measured shifts (from cross-correlation)
  • Use median ratio across all pairs to filter outliers
  • Add "Use estimated pixel size" checkbox in GUI
  • Log estimated pixel size and deviation percentage after registration

How it works

For each registered tile pair:

  • Expected shift (pixels) = stage_distance / metadata_pixel_size
  • Measured shift (pixels) = cross-correlation result
  • Ratio = expected / measured

Estimated pixel size = metadata_pixel_size × median(ratios)

Test plan

  • Unit tests for estimate_pixel_size() (3 tests)
  • All tests pass (71/71)
  • Linting passes
  • Manual testing with real dataset

🤖 Generated with Claude Code

Alpaca233 and others added 7 commits February 20, 2026 00:39
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Fix silent failure in PreviewWorker: log error instead of pass
- Add bounds check for expected shifts in ratio calculation
- Add sanity check before applying estimated pixel size (within 50%)
- Remove unused self.estimated_pixel_size variable

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add docstring entries for registration_z and registration_t parameters
- Fix type hints: z_level and time_idx now Optional[int] instead of int
- Update read_zarr_tile and read_zarr_region to accept z_level and time_idx
- Zarr reads now respect z-level and timepoint selection instead of hardcoding

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Extract duplicated arr[np.newaxis] to single return statement in read_zarr_region
- Extract pixel size application logic to helper method _apply_estimated_pixel_size

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant