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

registration pipeline for seqFISH #1644

Closed
pdichiaro opened this issue Nov 8, 2019 · 3 comments
Closed

registration pipeline for seqFISH #1644

pdichiaro opened this issue Nov 8, 2019 · 3 comments
Labels
question Questions from the community

Comments

@pdichiaro
Copy link

As image registration approach I use 2d similarity transformation to learn translation linear shifts (reference stack is DAPI) and then apply it for re-sampling of images across imaging rounds. While nuclei are perfect aligned, spots arising from the same target are distant across rounds; to match them during spot decoding I need to increase a lot the search radius (>7 pixel) and in case of crowded data it could be complex and problematic.

I was wondering if I should add a different spot registration approach like affine transformation to have a more accurate spot alignment across rounds.

Which registration pipeline do you suggest for seqFISH?

@ambrosejcarr
Copy link
Member

ambrosejcarr commented Nov 18, 2019

Hey @pdichiaro If I'm understanding your question properly, which is to say that you've observed that nuclei images taken in each round are perfectly aligned by a translational registration, it suggests to me that you don't have any rotation/scale/shear transformations on your tissue. This implies that your spots are moving locally across rounds, that an affine transformation would not improve upon the spot alignment, and that you are in fact using the correct registration pipeline. Please let me know if I interpreted this properly.

If I did, there are three solutions I see, one of which is to continue as you've been doing:

  1. Continue as you are doing. Do you have concerns with this approach? Are there spots that are being missed?
  2. Find spots separately in each (round, channel) pair, then run an iterative closest point algorithm based on an arbitrary start round to identify alignment -- this is similar to the local search, except that you don't have a maximum search radius
  3. We are also working on a graph based solution that attempts to optimize in cases where there are multiple possible assignments for a point, that's currently in PR: 9.) graph based decoding #1613

cc @dganguli

@ambrosejcarr ambrosejcarr removed their assignment Nov 18, 2019
@pdichiaro
Copy link
Author

pdichiaro commented Nov 19, 2019

Hi @ambrosejcarr, you interpreted that well because spots are moving locally across rounds. Do you think that it is not so necessary to use fiduciary beads for learning any rotation/scale/shear transformations and so for improving spot registration?
If I continue as I am doing I have to increase a lot the search radius to detect the majority of spots.

@neuromusic neuromusic added the question Questions from the community label Nov 27, 2019
@neuromusic
Copy link
Collaborator

Hi @pdichiaro! I'm going to close this issue since its not a bug or feature request. We're starting to point users to image.sc for user support. If you're still facing this challenge, can you ask over there and tag the post with "starfish"?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Questions from the community
Projects
None yet
Development

No branches or pull requests

3 participants