Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Various tools for de-streaking #196

Open
wants to merge 46 commits into
base: newsolver
Choose a base branch
from
Open

Conversation

minnerbe
Copy link
Collaborator

@minnerbe minnerbe commented Oct 3, 2024

This PR can be split into two major contributions:

  • Improvements of the inpainting functionality
    • The inpainter is now more flexible by taking a DirectionalStatistic as an argument. Implementations of this interface specify how rays are cast by sampling from a distribution on the unit circle.
    • There are currently two implementations of DirectionalStatistic: one that yields a completely random direction, and one that prefers a certain direction (e.g., for inpainting streaks).
  • Tools for streak detection
    • A StreakFinder class that generates a mask of the streaks (which can be used to de-streak, or just to compile statistics about streaking).
    • A StreakStatisticsClient: a spark client that computes the streak mask for every tile in a stack, transforms the mask according to the transformations stored in the tile's TileSpec, and accumulates streak severity over a grid of the layers (similar to cross-correlation). Processing a single tile takes about 20s on the slower nodes of the Janelia cluster.

The changes in this PR are mostly additive, so it doesn't clash with any existing code. However, I'm happy about any comments regarding duplication of functionality or hints about how to improve the spark parallelization of StreakStatisticsClient.

Those are the parameters that are worth keeping after some experimental
tests
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