# Does Nupic have a wavelet encoder?

**URL:** <https://discourse.numenta.org/t/does-nupic-have-a-wavelet-encoder/3117>\
**Category:** NuPIC\
**Created:** [November 29, 2017, 9:35pm UTC](https://discourse.numenta.org/t/does-nupic-have-a-wavelet-encoder/3117 "2017-11-29T21:35:40Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![jakebruce](https://yyz2.discourse-cdn.com/flex030/user_avatar/discourse.numenta.org/jakebruce/32/996_2.png) [@jakebruce](https://discourse.numenta.org/u/jakebruce)\
**Post date:** [November 29, 2017, 10:07pm UTC](https://discourse.numenta.org/t/does-nupic-have-a-wavelet-encoder/3117/3 "2017-11-29T22:07:03Z")

</div>

It’s one of the vision encoding methods I mentioned [here](https://discourse.numenta.org/t/encoding-vision-for-htm/2780). Usually referred to as “Gabor filters” in computer vision.

I’ve tried it, by doing a winner-take-all over Gabor filters for every local patch in a sliding window over the image using standard OpenCV tools (and it’s trivial to roll your own).

It works okay. Doing the same thing with winner-take-all over ConvNet features works better in my experience (on place recognition from video). ConvNet features are similar to wavelets/Gabors, except they’re learned end-to-end on challenging natural image tasks, and are inherently hierarchical if you want a richer multi-scale image encoding than a set of local descriptors would allow.

I didn’t interface any of this with NuPIC I’m afraid, so I can’t help you there. But it would be a good thing to have in the pool of community encoders if someone wanted to write one. It was pretty easy, you just convolve the image with N filters, then report the filter ID with the highest activation at every pixel, and there’s your SDR.

---

_[View the full topic](https://discourse.numenta.org/t/does-nupic-have-a-wavelet-encoder/3117)._
