Skip to content

Instantly share code, notes, and snippets.

@bamford
Last active March 23, 2021 16:42
Show Gist options
  • Save bamford/19e446a494fbe5b5ad4c4384c23a55a9 to your computer and use it in GitHub Desktop.
Save bamford/19e446a494fbe5b5ad4c4384c23a55a9 to your computer and use it in GitHub Desktop.
Test application of a 2D convolution to a stack of multi-channel images
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {},
"cell_type": "markdown",
"source": "Test application of a 2D convolution to a stack of multi-channel images"
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "%matplotlib inline",
"execution_count": 1,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "import numpy as np\nfrom matplotlib import pyplot as plt",
"execution_count": 2,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "from astropy import convolution as conv\n# astropy convolve does not accept arrays with more than 3 dimensions,\n# so use scipy instead. Note that here we are doing Gaussian convolution,\n# so \nfrom scipy.ndimage import convolve",
"execution_count": 3,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# create a stack of multi-channel images,\n# containing dots in different places\na = np.zeros([9, 60, 60, 3])\nfor i in range(a.shape[0]):\n a[i, 10+i, 10, 0] = 1\n a[i, 25+i, 30, 1] = 1\n a[i, 40+i, 50, 2] = 1",
"execution_count": 4,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "kernel = conv.Gaussian2DKernel(3.0)",
"execution_count": 5,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "fig, ax = plt.subplots(1, 3, figsize=(15, 5))\nax[0].imshow(a[2])\nax[1].imshow(a[4])\nax[2].imshow(a[6]);",
"execution_count": 6,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1080x360 with 3 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "plt.imshow(kernel);",
"execution_count": 7,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 432x288 with 1 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# add additional (empty) dimensions to kernel, so it will broadcast over a stack of images\nkernel_4d = kernel.array[None, ..., None]",
"execution_count": 8,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "b = convolve(a, kernel_4d, mode='constant')",
"execution_count": 9,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "# normalise for colour imshow\nbn = b / b.max()",
"execution_count": 10,
"outputs": []
},
{
"metadata": {
"trusted": true
},
"cell_type": "code",
"source": "fig, ax = plt.subplots(1, 3, figsize=(15, 5))\nax[0].imshow(bn[2])\nax[1].imshow(bn[4])\nax[2].imshow(bn[6]);",
"execution_count": 11,
"outputs": [
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1080x360 with 3 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
},
{
"metadata": {
"trusted": true,
"scrolled": true
},
"cell_type": "code",
"source": "# Check results match the case when we just convolve one image in isolation\nc = a[3, ..., 1]\nd = convolve(c, kernel, mode='constant')\ne = b[3, ..., 1]\nfig, ax = plt.subplots(1, 3, figsize=(15, 5))\nax[0].imshow(d)\nax[1].imshow(e)\nax[2].imshow(d - e)\nnp.allclose(d, e)",
"execution_count": 12,
"outputs": [
{
"output_type": "execute_result",
"execution_count": 12,
"data": {
"text/plain": "True"
},
"metadata": {}
},
{
"output_type": "display_data",
"data": {
"text/plain": "<Figure size 1080x360 with 3 Axes>",
"image/png": "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\n"
},
"metadata": {
"needs_background": "light"
}
}
]
}
],
"metadata": {
"hide_input": false,
"kernelspec": {
"name": "conda-env-ARG-py",
"display_name": "Python [conda env:ARG]",
"language": "python"
},
"language_info": {
"name": "python",
"version": "3.8.5",
"mimetype": "text/x-python",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"pygments_lexer": "ipython3",
"nbconvert_exporter": "python",
"file_extension": ".py"
},
"gist": {
"id": "19e446a494fbe5b5ad4c4384c23a55a9",
"data": {
"description": "Test application of a 2D convolution to a stack of multi-channel images",
"public": true
}
},
"_draft": {
"nbviewer_url": "https://gist.github.com/19e446a494fbe5b5ad4c4384c23a55a9"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment