├── LICENSE ├── README.md ├── lm.ipynb ├── lm.pdf ├── lm.py └── lmfilters.jpg /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 Tony Joseph 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Leung-Malik (LM) filter bank 2 | Python code for generating Leung-Malik (LM) filter bank that is typically used in texture analysis and classification. 3 | 4 | ## Filter Bank Output: 5 | ![screenshot](https://github.com/tonyjo/LM_filter_bank_python/blob/master/lmfilters.jpg) 6 | -------------------------------------------------------------------------------- /lm.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "markdown", 5 | "metadata": {}, 6 | "source": [ 7 | "## Assignment - 3\n", 8 | "### Author: Tony Joseph" 9 | ] 10 | }, 11 | { 12 | "cell_type": "code", 13 | "execution_count": 2, 14 | "metadata": { 15 | "collapsed": true 16 | }, 17 | "outputs": [], 18 | "source": [ 19 | "'''\n", 20 | "The Leung-Malik (LM) Filter Bank, implementation in python\n", 21 | "\n", 22 | "T. Leung and J. Malik. Representing and recognizing the visual appearance of\n", 23 | "materials using three-dimensional textons. International Journal of Computer\n", 24 | "Vision, 43(1):29-44, June 2001.\n", 25 | "\n", 26 | "Reference: http://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html\n", 27 | "'''\n", 28 | "\n", 29 | "import numpy as np\n", 30 | "import cv2\n", 31 | "import matplotlib.pyplot as plt\n", 32 | "import scipy" 33 | ] 34 | }, 35 | { 36 | "cell_type": "code", 37 | "execution_count": 3, 38 | "metadata": { 39 | "collapsed": true 40 | }, 41 | "outputs": [], 42 | "source": [ 43 | "%matplotlib inline" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 4, 49 | "metadata": { 50 | "collapsed": false 51 | }, 52 | "outputs": [], 53 | "source": [ 54 | "def gaussian1d(sigma, mean, x, ord):\n", 55 | " x = np.array(x)\n", 56 | " x_ = x - mean\n", 57 | " var = sigma**2\n", 58 | "\n", 59 | " # Gaussian Function\n", 60 | " g1 = (1/np.sqrt(2*np.pi*var))*(np.exp((-1*x_*x_)/(2*var)))\n", 61 | " \n", 62 | " if ord == 0:\n", 63 | " g = g1\n", 64 | " return g\n", 65 | " elif ord == 1:\n", 66 | " g = -g1*((x_)/(var))\n", 67 | " return g\n", 68 | " else:\n", 69 | " g = g1*(((x_*x_) - var)/(var**2))\n", 70 | " return g\n" 71 | ] 72 | }, 73 | { 74 | "cell_type": "code", 75 | "execution_count": 5, 76 | "metadata": { 77 | "collapsed": true 78 | }, 79 | "outputs": [], 80 | "source": [ 81 | "def gaussian2d(sup, scales):\n", 82 | " var = scales * scales\n", 83 | " shape = (sup,sup)\n", 84 | " n,m = [(i - 1)/2 for i in shape]\n", 85 | " x,y = np.ogrid[-m:m+1,-n:n+1]\n", 86 | " g = (1/np.sqrt(2*np.pi*var))*np.exp( -(x*x + y*y) / (2*var) )\n", 87 | " return g" 88 | ] 89 | }, 90 | { 91 | "cell_type": "code", 92 | "execution_count": 6, 93 | "metadata": { 94 | "collapsed": true 95 | }, 96 | "outputs": [], 97 | "source": [ 98 | "def log2d(sup, scales):\n", 99 | " var = scales * scales\n", 100 | " shape = (sup,sup)\n", 101 | " n,m = [(i - 1)/2 for i in shape]\n", 102 | " x,y = np.ogrid[-m:m+1,-n:n+1]\n", 103 | " g = (1/np.sqrt(2*np.pi*var))*np.exp( -(x*x + y*y) / (2*var) )\n", 104 | " h = g*((x*x + y*y) - var)/(var**2)\n", 105 | " return h" 106 | ] 107 | }, 108 | { 109 | "cell_type": "code", 110 | "execution_count": 7, 111 | "metadata": { 112 | "collapsed": true 113 | }, 114 | "outputs": [], 115 | "source": [ 116 | "def makefilter(scale, phasex, phasey, pts, sup):\n", 117 | "\n", 118 | " gx = gaussian1d(3*scale, 0, pts[0,...], phasex)\n", 119 | " gy = gaussian1d(scale, 0, pts[1,...], phasey)\n", 120 | "\n", 121 | " image = gx*gy\n", 122 | "\n", 123 | " image = np.reshape(image,(sup,sup))\n", 124 | " return image" 125 | ] 126 | }, 127 | { 128 | "cell_type": "code", 129 | "execution_count": 8, 130 | "metadata": { 131 | "collapsed": false 132 | }, 133 | "outputs": [], 134 | "source": [ 135 | "def makeLMfilters():\n", 136 | " sup = 49\n", 137 | " scalex = np.sqrt(2) * np.array([1,2,3])\n", 138 | " norient = 6\n", 139 | " nrotinv = 12\n", 140 | "\n", 141 | " nbar = len(scalex)*norient\n", 142 | " nedge = len(scalex)*norient\n", 143 | " nf = nbar+nedge+nrotinv\n", 144 | " F = np.zeros([sup,sup,nf])\n", 145 | " hsup = (sup - 1)/2\n", 146 | "\n", 147 | " x = [np.arange(-hsup,hsup+1)]\n", 148 | " y = [np.arange(-hsup,hsup+1)]\n", 149 | "\n", 150 | " [x,y] = np.meshgrid(x,y)\n", 151 | "\n", 152 | " orgpts = [x.flatten(), y.flatten()]\n", 153 | " orgpts = np.array(orgpts)\n", 154 | " \n", 155 | " count = 0\n", 156 | " for scale in range(len(scalex)):\n", 157 | " for orient in range(norient):\n", 158 | " angle = (np.pi * orient)/norient\n", 159 | " c = np.cos(angle)\n", 160 | " s = np.sin(angle)\n", 161 | " rotpts = [[c+0,-s+0],[s+0,c+0]]\n", 162 | " rotpts = np.array(rotpts)\n", 163 | " rotpts = np.dot(rotpts,orgpts)\n", 164 | " F[:,:,count] = makefilter(scalex[scale], 0, 1, rotpts, sup)\n", 165 | " F[:,:,count+nedge] = makefilter(scalex[scale], 0, 2, rotpts, sup)\n", 166 | " count = count + 1\n", 167 | " \n", 168 | " count = nbar+nedge\n", 169 | " scales = np.sqrt(2) * np.array([1,2,3,4])\n", 170 | " \n", 171 | " for i in range(len(scales)):\n", 172 | " F[:,:,count] = gaussian2d(sup, scales[i])\n", 173 | " count = count + 1\n", 174 | " \n", 175 | " for i in range(len(scales)):\n", 176 | " F[:,:,count] = log2d(sup, scales[i])\n", 177 | " count = count + 1\n", 178 | " \n", 179 | " for i in range(len(scales)):\n", 180 | " F[:,:,count] = log2d(sup, 3*scales[i])\n", 181 | " count = count + 1\n", 182 | " \n", 183 | " return F" 184 | ] 185 | }, 186 | { 187 | "cell_type": "code", 188 | "execution_count": 9, 189 | "metadata": { 190 | "collapsed": false 191 | }, 192 | "outputs": [ 193 | { 194 | "name": "stdout", 195 | "output_type": "stream", 196 | "text": [ 197 | "(49, 49, 48)\n" 198 | ] 199 | } 200 | ], 201 | "source": [ 202 | "F = makeLMfilters()\n", 203 | "print F.shape" 204 | ] 205 | }, 206 | { 207 | "cell_type": "markdown", 208 | "metadata": {}, 209 | "source": [ 210 | "## First order derivative Gaussian Filter" 211 | ] 212 | }, 213 | { 214 | "cell_type": "code", 215 | "execution_count": 10, 216 | "metadata": { 217 | "collapsed": false 218 | }, 219 | "outputs": [ 220 | { 221 | "data": { 222 | "image/png": "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\nAElFTkSuQmCC\n", 223 | "text/plain": [ 224 | "" 225 | ] 226 | }, 227 | "metadata": {}, 228 | "output_type": "display_data" 229 | } 230 | ], 231 | "source": [ 232 | "for i in range(0,18):\n", 233 | " plt.subplot(3,6,i+1)\n", 234 | " plt.axis('off')\n", 235 | " plt.imshow(F[:,:,i], cmap = 'gray')" 236 | ] 237 | }, 238 | { 239 | "cell_type": "markdown", 240 | "metadata": {}, 241 | "source": [ 242 | "## Second order derivative Gaussian Filter" 243 | ] 244 | }, 245 | { 246 | "cell_type": "code", 247 | "execution_count": 11, 248 | "metadata": { 249 | "collapsed": false 250 | }, 251 | "outputs": [ 252 | { 253 | "data": { 254 | "image/png": "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\n2AH+A5fokj8pGKXzAAAAAElFTkSuQmCC\n", 255 | "text/plain": [ 256 | "" 257 | ] 258 | }, 259 | "metadata": {}, 260 | "output_type": "display_data" 261 | } 262 | ], 263 | "source": [ 264 | "for i in range(0,18):\n", 265 | " plt.subplot(3,6,i+1)\n", 266 | " plt.axis('off')\n", 267 | " plt.imshow(F[:,:,i+18], cmap = 'gray')" 268 | ] 269 | }, 270 | { 271 | "cell_type": "markdown", 272 | "metadata": {}, 273 | "source": [ 274 | "## Gaussian and Laplacian Filter" 275 | ] 276 | }, 277 | { 278 | "cell_type": "code", 279 | "execution_count": 12, 280 | "metadata": { 281 | "collapsed": false 282 | }, 283 | "outputs": [ 284 | { 285 | "data": { 286 | "image/png": "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\n", 287 | "text/plain": [ 288 | "" 289 | ] 290 | }, 291 | "metadata": {}, 292 | "output_type": "display_data" 293 | } 294 | ], 295 | "source": [ 296 | "for i in range(0,12):\n", 297 | " plt.subplot(4,4,i+1)\n", 298 | " plt.axis('off')\n", 299 | " plt.imshow(F[:,:,i+36], cmap = 'gray')" 300 | ] 301 | } 302 | ], 303 | "metadata": { 304 | "kernelspec": { 305 | "display_name": "Python 2", 306 | "language": "python", 307 | "name": "python2" 308 | }, 309 | "language_info": { 310 | "codemirror_mode": { 311 | "name": "ipython", 312 | "version": 2 313 | }, 314 | "file_extension": ".py", 315 | "mimetype": "text/x-python", 316 | "name": "python", 317 | "nbconvert_exporter": "python", 318 | "pygments_lexer": "ipython2", 319 | "version": "2.7.12" 320 | } 321 | }, 322 | "nbformat": 4, 323 | "nbformat_minor": 1 324 | } 325 | -------------------------------------------------------------------------------- /lm.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonyjo/LM_filter_bank_python/eeae480d51ecbcc039327727b175cf440d7691f0/lm.pdf -------------------------------------------------------------------------------- /lm.py: -------------------------------------------------------------------------------- 1 | ''' 2 | The Leung-Malik (LM) Filter Bank, implementation in python 3 | 4 | T. Leung and J. Malik. Representing and recognizing the visual appearance of 5 | materials using three-dimensional textons. International Journal of Computer 6 | Vision, 43(1):29-44, June 2001. 7 | 8 | Reference: http://www.robots.ox.ac.uk/~vgg/research/texclass/filters.html 9 | ''' 10 | 11 | import numpy as np 12 | import cv2 13 | import matplotlib.pyplot as plt 14 | 15 | def gaussian1d(sigma, mean, x, ord): 16 | x = np.array(x) 17 | x_ = x - mean 18 | var = sigma**2 19 | 20 | # Gaussian Function 21 | g1 = (1/np.sqrt(2*np.pi*var))*(np.exp((-1*x_*x_)/(2*var))) 22 | 23 | if ord == 0: 24 | g = g1 25 | return g 26 | elif ord == 1: 27 | g = -g1*((x_)/(var)) 28 | return g 29 | else: 30 | g = g1*(((x_*x_) - var)/(var**2)) 31 | return g 32 | 33 | def gaussian2d(sup, scales): 34 | var = scales * scales 35 | shape = (sup,sup) 36 | n,m = [(i - 1)/2 for i in shape] 37 | x,y = np.ogrid[-m:m+1,-n:n+1] 38 | g = (1/np.sqrt(2*np.pi*var))*np.exp( -(x*x + y*y) / (2*var) ) 39 | return g 40 | 41 | def log2d(sup, scales): 42 | var = scales * scales 43 | shape = (sup,sup) 44 | n,m = [(i - 1)/2 for i in shape] 45 | x,y = np.ogrid[-m:m+1,-n:n+1] 46 | g = (1/np.sqrt(2*np.pi*var))*np.exp( -(x*x + y*y) / (2*var) ) 47 | h = g*((x*x + y*y) - var)/(var**2) 48 | return h 49 | 50 | def makefilter(scale, phasex, phasey, pts, sup): 51 | 52 | gx = gaussian1d(3*scale, 0, pts[0,...], phasex) 53 | gy = gaussian1d(scale, 0, pts[1,...], phasey) 54 | 55 | image = gx*gy 56 | 57 | image = np.reshape(image,(sup,sup)) 58 | return image 59 | 60 | def makeLMfilters(): 61 | sup = 49 62 | scalex = np.sqrt(2) * np.array([1,2,3]) 63 | norient = 6 64 | nrotinv = 12 65 | 66 | nbar = len(scalex)*norient 67 | nedge = len(scalex)*norient 68 | nf = nbar+nedge+nrotinv 69 | F = np.zeros([sup,sup,nf]) 70 | hsup = (sup - 1)/2 71 | 72 | x = [np.arange(-hsup,hsup+1)] 73 | y = [np.arange(-hsup,hsup+1)] 74 | 75 | [x,y] = np.meshgrid(x,y) 76 | 77 | orgpts = [x.flatten(), y.flatten()] 78 | orgpts = np.array(orgpts) 79 | 80 | count = 0 81 | for scale in range(len(scalex)): 82 | for orient in range(norient): 83 | angle = (np.pi * orient)/norient 84 | c = np.cos(angle) 85 | s = np.sin(angle) 86 | rotpts = [[c+0,-s+0],[s+0,c+0]] 87 | rotpts = np.array(rotpts) 88 | rotpts = np.dot(rotpts,orgpts) 89 | F[:,:,count] = makefilter(scalex[scale], 0, 1, rotpts, sup) 90 | F[:,:,count+nedge] = makefilter(scalex[scale], 0, 2, rotpts, sup) 91 | count = count + 1 92 | 93 | count = nbar+nedge 94 | scales = np.sqrt(2) * np.array([1,2,3,4]) 95 | 96 | for i in range(len(scales)): 97 | F[:,:,count] = gaussian2d(sup, scales[i]) 98 | count = count + 1 99 | 100 | for i in range(len(scales)): 101 | F[:,:,count] = log2d(sup, scales[i]) 102 | count = count + 1 103 | 104 | for i in range(len(scales)): 105 | F[:,:,count] = log2d(sup, 3*scales[i]) 106 | count = count + 1 107 | 108 | return F 109 | 110 | # Call the make filter function 111 | F = makeLMfilters() 112 | print F.shape 113 | -------------------------------------------------------------------------------- /lmfilters.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tonyjo/LM_filter_bank_python/eeae480d51ecbcc039327727b175cf440d7691f0/lmfilters.jpg --------------------------------------------------------------------------------