Skip to content

Instantly share code, notes, and snippets.

@philippemiron
Last active August 12, 2020 02:02
Show Gist options
  • Save philippemiron/aa80424946235892e552f95a3b7845cf to your computer and use it in GitHub Desktop.
Save philippemiron/aa80424946235892e552f95a3b7845cf to your computer and use it in GitHub Desktop.
seminf_haxby
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from matplotlib.colors import LinearSegmentedColormap"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# If the following cell is put into a file `cmcustom.py`, it can be later imported with:\n",
"- `import cmcustom`\n",
"- `cmap = cmcustom.seminf_haxby` or `cmcustom.seminf_haxby_r`"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"# Simple conversion of J.M. Lilly's MATLAB code\n",
"# https://www.dropbox.com/s/y9sh2enm1dfu90m/seminfhaxby.m?dl=0\n",
"\n",
"seminf_haxby_data = [[255, 255, 255], \n",
" [208, 216, 251],\n",
" [186, 197, 247],\n",
" [143, 161, 241],\n",
" [97, 122, 236],\n",
" [0, 39, 224],\n",
" [25, 101, 240],\n",
" [12, 129, 248],\n",
" [24, 175, 255],\n",
" [49, 190, 255],\n",
" [67, 202, 255],\n",
" [96, 225, 240],\n",
" [105, 235, 225],\n",
" [123, 235, 200],\n",
" [138, 236, 174],\n",
" [172, 245, 168],\n",
" [205, 255, 162],\n",
" [223, 245, 141],\n",
" [240, 236, 120],\n",
" [247, 215, 103],\n",
" [255, 189, 86],\n",
" [255, 160, 68],\n",
" [244, 116, 74],\n",
" [238, 79, 77]]\n",
"\n",
"seminf_haxby_data = np.array(seminf_haxby_data) / 255.\n",
"seminf_haxby_data[0] *= 0.95 #JML modifcation\n",
"\n",
"seminf_haxby = LinearSegmentedColormap.from_list('seminf-haxby', seminf_haxby_data)\n",
"seminf_haxby_r = seminf_haxby.reversed()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"cm = [seminf_haxby, seminf_haxby_r] \n",
"for i in range(0, len(cm)):\n",
" plt.subplot(len(cm), 1, i + 1)\n",
" plt.imshow(np.linspace(0, 100, 256)[None, :], aspect='auto', cmap=cm[i])\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment