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

Zernike reconstruction function and OpenCV images #1

Open
fredericoschardong opened this issue Oct 18, 2015 · 2 comments
Open

Zernike reconstruction function and OpenCV images #1

fredericoschardong opened this issue Oct 18, 2015 · 2 comments

Comments

@fredericoschardong
Copy link

You came up with a nice implementation of Zernike moments but more important you coded the reconstruction part, which is fantastic!

It would be awesome if you could wrap your Zernike decomposition code into a function or two and the reconstruction logic into another function/class. I was using mahotas to apply Zernike moments to my images but it doesn't provide any reconstruction functionality. On the other hand, it is ready to be used on openCV's images. Would it be possible to wrap your code to accept such images?

@fredericoschardong fredericoschardong changed the title Zernike reconstruction function Zernike reconstruction function and OpenCV images Oct 18, 2015
@rjonnal
Copy link
Owner

rjonnal commented Oct 18, 2015

Frederico,

Thanks for the tip. Do you think you could give me a couple of use cases?
That is, could you tell me exactly how you'd wish to be able to call the
functions? I'm happy to oblige and modify the code. Unfortunately, I'm not
really a software engineer, so some of the architectural subtleties are
beyond me.

Or, better yet, if you want to work on it yourself, I'd be happy to have a
collaborator. I've been sort of fantasizing about re-implementing it in d3
(or maybe bokeh), and building a dynamic web page, maybe on github, where
users could adjust coefficients and observe changes in the wavefront (and
MTF, PSF, etc.).

Sincerely,

Ravi

On Sat, Oct 17, 2015 at 7:49 PM, Frederico Schardong <
[email protected]> wrote:

You came up with a nice implementation of Zernike moments but more
important you coded the reconstruction part, which is fantastic!

It would be awesome if you could wrap your Zernike decomposition code into
a function or two and the reconstruction logic into another function/class.


Reply to this email directly or view it on GitHub
#1.

Ravi Sankar Jonnal, Ph.D.
Werner Lab / http://vsri.ucdavis.edu
University of California at Davis
+1 812 391 0588 (cell)
+1 916 734 4541 (office)

@fredericoschardong
Copy link
Author

Ravi,

From a software engineer concerned with Computer Vision only, reconstructing an image based on its Zernike moments can be very useful. For example, the project I am working right now uses quadtrees to "break" an image into smaller chunks until the Zernike moments of a given chunk is similar enough (Euclidean distance) to its Zernike reconstruction. It will only hold in the database a few Zernike moments (there is a separated logic to tell which moments are the most important) and considering that those moments can recompose their original sub-images with acceptable similarity I have got myself an image search engine. I am not the author of all this, though. It has been proposed in this paper and my project is about trying to reproduce it.

OpenCV images are simply 2-ndarray. Here is the mahotas implementation I was referring in my first comment. It is as high level as a software engineer could expect. If your module could provide a function to evaluate the Zernike moments and another to recompose the image somewhat on the lines of mahotas, it would be fantastic.

However, if you think that's not suitable for this module perhaps I can persuade you to contribute to mahotas as the author already stated that he won't write any reconstruction code.

Thank you.

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

No branches or pull requests

2 participants