Skip to content

Instantly share code, notes, and snippets.

@ahartikainen
Last active April 29, 2019 20:58
Show Gist options
  • Save ahartikainen/c7c2152c4d32c880f82c72793900eba6 to your computer and use it in GitHub Desktop.
Save ahartikainen/c7c2152c4d32c880f82c72793900eba6 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from scipy import signal"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"nx, ny = 100, 100\n",
"rng = np.random.RandomState(seed=24)\n",
"z = rng.rand(nx, ny)\n",
"\n",
"sizex, sizey = 30, 30\n",
"x, y = np.mgrid[-sizex:sizex+1, -sizey:sizey+1]\n",
"g = np.exp(-0.333*(x**2/float(sizex)+y**2/float(sizey)))\n",
"f = g/g.sum()\n",
"\n",
"z = signal.convolve(z, f, mode='valid')\n",
"z = (z - z.min())/(z.max() - z.min())"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"cmap = 'viridis' # Perceptual\n",
"cmap = 'spectral' # Classic rainbow\n",
"cmap = 'seismic' # Classic diverging\n",
"cmap = 'Accent' # Needs coolinearity constraint\n",
"cmap = 'Dark2' # Needs coolinearity constraint\n",
"cmap = 'Paired' # Needs coolinearity constraint, ultimate test!\n",
"cmap = 'gist_ncar' # Works with new cool-point start location\n",
"cmap = 'Pastel1' # Amazing that it works for start point\n",
"cmap = 'Set2' # Difficult\n",
"\n",
"#cmap = 'Dark2'"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x14bf4cf1160>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 360x360 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"fig = plt.figure(frameon=False)\n",
"fig.set_size_inches(5,5)\n",
"\n",
"ax = plt.Axes(fig, [0., 0., 1., 1.])\n",
"ax.set_axis_off()\n",
"fig.add_axes(ax)\n",
"\n",
"# Note: interpolation introduces new colours.\n",
"plt.imshow(z, cmap=\"jet\", aspect='auto', interpolation=\"bicubic\")\n",
"#plt.imshow(z, cmap=cmap, interpolation='none')\n",
"fig.savefig('test2.png', dpi=100)\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(40, 40)"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"z.shape"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"cmaps = [('Perceptually Uniform Sequential',\n",
" ['viridis', 'inferno', 'plasma', 'magma']),\n",
" ('Sequential', ['Blues', 'BuGn', 'BuPu',\n",
" 'GnBu', 'Greens', 'Greys', 'Oranges', 'OrRd',\n",
" 'PuBu', 'PuBuGn', 'PuRd', 'Purples', 'RdPu',\n",
" 'Reds', 'YlGn', 'YlGnBu', 'YlOrBr', 'YlOrRd']),\n",
" ('Sequential (2)', ['afmhot', 'autumn', 'bone', 'cool',\n",
" 'copper', 'gist_heat', 'gray', 'hot',\n",
" 'pink', 'spring', 'summer', 'winter']),\n",
" ('Diverging', ['BrBG', 'bwr', 'coolwarm', 'PiYG', 'PRGn', 'PuOr',\n",
" 'RdBu', 'RdGy', 'RdYlBu', 'RdYlGn', 'Spectral',\n",
" 'seismic']),\n",
" ('Qualitative', ['Accent', 'Dark2', 'Paired', 'Pastel1',\n",
" 'Pastel2', 'Set1', 'Set2', 'Set3']),\n",
" ('Miscellaneous', ['gist_earth', 'terrain', 'ocean', 'gist_stern',\n",
" 'brg', 'CMRmap', 'cubehelix',\n",
" 'gnuplot', 'gnuplot2', 'gist_ncar',\n",
" 'nipy_spectral', 'jet', 'rainbow',\n",
" 'gist_rainbow', 'hsv', 'flag', 'prism'])]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Read an image"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x14bf4db0358>"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"img = plt.imread('test2.png')\n",
"plt.imshow(img)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"img_ = img[..., :-1]"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(500, 500, 3)"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"img_.shape"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"253"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"unique_colors = set()\n",
"for c in img_.reshape(-1, 3):\n",
" unique_colors.add(tuple(c))\n",
"unique_colors = {c : i for i, c in enumerate(unique_colors)}\n",
"unique_colors_reverse = {val : key for key, val in unique_colors.items()}\n",
"len(unique_colors)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"from collections import defaultdict"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [],
"source": [
"differences = {\"top\" : defaultdict(lambda: defaultdict(int)),\n",
" \"bottom\" : defaultdict(lambda: defaultdict(int)),\n",
" \"left\" : defaultdict(lambda: defaultdict(int)),\n",
" \"right\" : defaultdict(lambda: defaultdict(int)),\n",
" }\n",
"rows, cols = img_.shape[:2]\n",
"for row in range(rows):\n",
" for col in range(cols):\n",
" cval = unique_colors[tuple(img_[row, col])]\n",
" if (row != 0):\n",
" val = unique_colors[tuple(img_[row-1, col])]\n",
" differences[\"top\"][f\"from_{cval}\"][f\"to_{val}\"] += 1\n",
" if (row != rows-1):\n",
" val = unique_colors[tuple(img_[row+1, col])]\n",
" differences[\"bottom\"][f\"from_{cval}\"][f\"to_{val}\"] += 1\n",
" if (col != 0):\n",
" val = unique_colors[tuple(img_[row, col-1])]\n",
" differences[\"left\"][f\"from_{cval}\"][f\"to_{val}\"] += 1\n",
" if (col != cols-1):\n",
" val = unique_colors[tuple(img_[row, col+1])]\n",
" differences[\"right\"][f\"from_{cval}\"][f\"to_{val}\"] += 1"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
"MM = sum([pd.DataFrame(differences[key]).fillna(0).astype(int) for key in differences]).sort_index().sort_index(axis=1).T\n",
"for i in range(len(MM)):\n",
" MM.iloc[i, i] = 0"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
"MM_ = MM.copy()\n",
"cfrom = MM_.astype(bool).sum(1).idxmin()\n",
"order = [cfrom]\n",
"last_sum = 0\n",
"while MM_.sum().sum() and (last_sum != MM_.sum().sum()):\n",
" last_sum = MM_.sum().sum()\n",
" \n",
" cto = MM_.loc[cfrom, :].idxmax()\n",
" MM_.loc[cfrom, cto] = 0\n",
" cfrom, cto = f'from_{cto.split(\"_\")[-1]}', f'to_{cfrom.split(\"_\")[-1]}'\n",
" order.append(cfrom)\n",
" MM_.loc[cfrom, cto] = 0"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [],
"source": [
"my_cmap_list = [unique_colors_reverse[int(key.split(\"_\")[-1])] for key in order]"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [],
"source": [
"my_cmap = plt.matplotlib.colors.LinearSegmentedColormap.from_list(\"my_cmap\", my_cmap_list, N=len(my_cmap_list))"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'MY CMAP')"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x108 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"a = np.array([[0,1]])\n",
"plt.figure(figsize=(9, 1.5))\n",
"img = plt.imshow(a, cmap=my_cmap)\n",
"plt.gca().set_visible(False)\n",
"cax = plt.axes([0.1, 0.2, 0.8, 0.6])\n",
"plt.colorbar(orientation=\"horizontal\", cax=cax)\n",
"plt.title(\"MY CMAP\")"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'JET')"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 648x108 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"a = np.array([[0,1]])\n",
"plt.figure(figsize=(9, 1.5))\n",
"img = plt.imshow(a, cmap=\"jet\")\n",
"plt.gca().set_visible(False)\n",
"cax = plt.axes([0.1, 0.2, 0.8, 0.6])\n",
"plt.colorbar(orientation=\"horizontal\", cax=cax)\n",
"plt.title(\"JET\")"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x14bf9720eb8>]"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(np.sum((plt.cm.jet(np.linspace(0,1,256))[..., :-1] - my_cmap(np.linspace(0,1,256))[..., :-1])**2, axis=1)**0.5)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"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.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Display the source blob
Display the rendered blob
Raw
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment