skimage-tutorials icon indicating copy to clipboard operation
skimage-tutorials copied to clipboard

Image moments tutorial

Open lmmx opened this issue 3 years ago • 3 comments

As discussed a couple months back I've put together a tutorial on image moments from some notes for a particular project. I've put it in its own repo here for now and can submit a PR when it's improved and meets the format for this repo.

Tutorial outline

  • The tutorial gives a background introducing what image moments are and then shows how to calculate them in scikit-image.
    • Since it's reasonable(?) to assume images are going to be discrete when working with scikit-image, I quickly dropped the integral notation for summation
  • After the technical intro, there's a practical extension on drawing a "clock" and showing how it's possible to "tell the time" (or not quite!) by using the orientation obtained from SVD on the covariance matrix formed from the 2nd order central moments matrix.
  • Lastly there's a brief note on some further reading where the topic can be explained in greater depth

Interactivity

I used ipywidgets to make an interactive slider so the "clock hand" could be moved around and the effect on the image moment-derived orientation could be observed directly by the reader, however all the web platforms I've looked at seem to remove this functionality and I've saved the widget state so it's now viewable on nbviewer

Screenshot from 2021-06-23 15-33-37 Screenshot from 2021-06-23 15-33-16

The interactive widgets are usable in Binder (I used f strings so it requires 3.8 and binder default is 3.7 so I had to specify that in an environment.yml file) after a bit of investigation!

It's just a first draft and I'll take a look at the style guides for how to clean this up for publishing, thoughts welcome! :smiley:

lmmx avatar Jun 23 '21 14:06 lmmx

Very nice, thanks @lmmx!

Perhaps @alexdesiqueira would be interested too. Alex, how far are we from porting notebooks like these to markdown for inclusion in the tutorials repo?

stefanv avatar Jun 23 '21 18:06 stefanv

Thank you @lmmx, it's a great tutorial already! @stefanv not that far, according to what we discussed last week. It would require a couple of hands-on hours, though; I'll schedule a couple of hours for that tomorrow.

alexdesiqueira avatar Jun 23 '21 18:06 alexdesiqueira

So cool! ❤️

jni avatar Jun 29 '21 01:06 jni