{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Gabor Filters\n", "\n", "Gabor filters are used to extract features from an image. They extract spatial frequency content in a certain direction. Brainlit's Gabor implementation can be used for nD images" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from brainlit.preprocessing import gabor_filter\n", "from skimage import data\n", "import matplotlib.pyplot as plt\n", "\n", "img = data.brick()\n", "\n", "frequencies = [0.1, 0.1, 0.25, 0.25]\n", "phi = [0, np.pi / 2, 0, np.pi / 2]\n", "\n", "plt.figure()\n", "plt.imshow(img, cmap=\"gray\")\n", "plt.axis(\"off\")\n", "plt.title(\"Original Image\")\n", "plt.show()\n", "\n", "plt.figure()\n", "for i in range(4):\n", " plt.subplot(2, 2, i + 1)\n", " filtered = gabor_filter(img, 5, phi[i], frequencies[i], truncate=3)\n", " plt.imshow(filtered[0], cmap=\"gray\")\n", " plt.xticks([])\n", " plt.yticks([])\n", " if i == 0:\n", " plt.title(\"Orientation=0\")\n", " plt.ylabel(\"Frequency=0.1\")\n", " elif i == 1:\n", " plt.title(\"Orientation=\\u03C0/2\")\n", " elif i == 2:\n", " plt.ylabel(\"Frequency=0.25\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "file_extension": ".py", "kernelspec": { "display_name": "Python 3.7.6 64-bit ('scipydev': conda)", "name": "python37664bitscipydevcondaa561a5f26f384a3d8eec296dbbf704a7" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "name": "python", "version": "3.7.6-final" }, "mimetype": "text/x-python", "name": "python", "npconvert_exporter": "python", "pygments_lexer": "ipython3", "version": 3 }, "nbformat": 4, "nbformat_minor": 2 }