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

[BUG] Pre-processing skip only affects floating image #118

Open
jkenney9a opened this issue May 17, 2023 · 2 comments
Open

[BUG] Pre-processing skip only affects floating image #118

jkenney9a opened this issue May 17, 2023 · 2 comments
Labels
bug Something isn't working

Comments

@jkenney9a
Copy link

Describe the bug
First, I'd like to say I think what everyone is doing with BrainGlobe is fantastic. It really addresses some of the key sticking points for doing whole-brain imaging. Towards this end, we've been trying to get consistent registration of new adult zebrafish brain images using brainreg. One thing we'd like to play with is different types of pre-processing, starting with what we used before when we published our paper. However, it seems like there is a bug in the option to 'skip' pre-processing such that when I include the flag:

--pre-process skip

Only the pre-processing for the floating image is skipped, but the reference image is still processed. This strikes me as unexpected behavior, as I would have expected the 'skip' command to skip pre-processing for both images.

As an aside, it would also be helpful to be able to modify the pre-processing parameters as well.

  • OS: Linux
  • Version 0.3.1
  • Hardware specs

Thanks!

Justin

@jkenney9a jkenney9a added the bug Something isn't working label May 17, 2023
@adamltyson
Copy link
Member

Thanks @jkenney9a, this is indeed a bug. Long term we are planning on "unbundling" the pre-processing from the NiftyReg-based registration, and building napari plugins for:

  • Pre-processing (using scikit-image et al.)
  • Registration to BrainGlobe atlases using other registration backends (elastix, ANTs etc. etc.)

This way, users can chain together the most appropriate workflow for their own needs, and in some cases, we'll just provide the atlas, and maybe some utilities (e.g. assigning detected cells to brain regions). Hopefully most users can use napari alongside some kind of macro recorder, but experts can develop their own scripts with the relevant APIs.

I'm interested as to your thoughts, and whether this model would work for you? I'd also be interested to know if you think it would be worth turning your existing registration pipeline into a napari plugin that integrates with BrainGlobe? I'm afraid I don't know much about zfish registration, but I'm keen for BrainGlobe to become less mouse-focussed.

@jkenney9a
Copy link
Author

I think the idea you are proposing is excellent. The preprocessing we did for AZBA was pretty minimal (image thresholding and normalization) compared to the filtering it looks like you have as the default for the mouse brain. It looks like folks working with larval zebrafish also do minimal preprocessing.

The pipeline that Patrick built for AZBA probably wouldn't integrate well into BrainGlobe. For that he registered many individual brains together simultaneously using minctracc and then registered that average to the initial atlas average we made. I'd like to move away from that approach if possible since its computationally demanding, and so I was exploring BrainReg as a way to do this. But the way it is currently built doesn't give us the flexibility to try different backends or preprocessing and we haven't fond any parameters that work well for more than a few brain images. So having additional options would be a huge plus.

With respect to zebrafish, it looks as if the community is moving more towards using ANTs for registration, largely influenced by this excellent paper that compared ANTs to CMTK:
https://doi.org/10.1093/gigascience/gix056

So incorporating ANTs would likely increase uptake with those using zebrafish and related species where the morphology is a bit more variable than in mice.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Backlog
Development

No branches or pull requests

2 participants