jni / affinder

Quickly find the affine matrix mapping one image to another using manual correspondence points annotation
https://jni.github.io/affinder/
BSD 3-Clause "New" or "Revised" License
17 stars 13 forks source link

Extend affinder to 3D #72

Open marbre2 opened 1 year ago

marbre2 commented 1 year ago

Hello @jni I recently installed Napari in the context of the NEUBIAS Pasteur course (30/05-02/06/2023). We got a very nice introduction and tutorial on creating our own Napari plugins by Robert Haase and Kevin Yamauchi. In my case, I am really interested in using Napari for a project about 3D microscopy image registration. I discovered your plugin "affinder" and like it a lot. However, as far as I understand, so far it is only available for 2D, while I would definitely be interested in a 3D version. Thus, I have the following questions:

Thank you very much by advance for your reply.

Best regards,

jni commented 1 year ago

Hello @marbre2!

Thanks for opening this issue!

So, in theory, it should actually already work in 3D: all of the alignment and callback code makes no assumptions about the dimensionality of the underlying images. The three issues are that:

So, in summary, those are the challenges, but the alignment stuff should basically work; contributions would be super super welcome and I would be happy to help, give you a tour of the code if anything's unclear (😬) (omg just saw that the main function doesn't even have a docstring yet πŸ˜‚ 😭), etc!

PS: You might also be interested in @thanushipeiris's in-progress PR to allow mixed-dimension registration, #58.

marbre2 commented 1 year ago

Hello @jni, First I'd like to thank you for your kind and detailed reply. So far I just wanted to give you a feedback on the fact that I managed to use affinder with my 3D images in the 3D view mode (MIP). I first added landmark "points" in the dorsal plane, then a few others in transverse and median plane.

This gave a first rough alignment. I will check on the details of your answer to see how I could contribute to this plugin.

Best regards, Marine