Skip to content

Instantly share code, notes, and snippets.

@lkluft
Created May 23, 2016 18:50
Show Gist options
  • Save lkluft/6806fa53c8ac8ec5cb59adb24158826e to your computer and use it in GitHub Desktop.
Save lkluft/6806fa53c8ac8ec5cb59adb24158826e to your computer and use it in GitHub Desktop.
Reduce array size by averaging over blocks
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"metadata": {
"trusted": true,
"collapsed": false,
"ExecuteTime": {
"start_time": "2016-05-23T20:50:09.196958",
"end_time": "2016-05-23T20:50:09.913176"
}
},
"cell_type": "code",
"source": "%matplotlib inline\nimport matplotlib.pyplot as plt\nimport numpy as np\nfrom skimage.measure import block_reduce\n\n# define high resolution array\nM = np.linspace(0, 1, 60) + np.linspace(0, 1, 180)[:, np.newaxis]\n\n# mean over 6x6 chunks to reduce array dimension\nM_reduced = block_reduce(M, (6, 6), func=np.nanmean)\n\n# plot both arrays\nfig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))\nax1.pcolormesh(M)\nax2.pcolormesh(M_reduced)",
"execution_count": 1,
"outputs": [
{
"output_type": "execute_result",
"data": {
"text/plain": "<matplotlib.collections.QuadMesh at 0x7f3f5a75f390>"
},
"metadata": {},
"execution_count": 1
},
{
"output_type": "display_data",
"data": {
"text/plain": "<matplotlib.figure.Figure at 0x7f3f65830518>",
"image/png": "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\n"
},
"metadata": {}
}
]
}
],
"metadata": {
"kernelspec": {
"name": "python3",
"display_name": "Python 3",
"language": "python"
},
"_draft": {
"nbviewer_url": "https://gist.github.com/4f597b8e545023f779e6b32b9253e410"
},
"language_info": {
"file_extension": ".py",
"mimetype": "text/x-python",
"nbconvert_exporter": "python",
"version": "3.5.1",
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"name": "python",
"pygments_lexer": "ipython3"
},
"toc": {
"toc_window_display": false,
"toc_cell": false,
"toc_number_sections": true,
"toc_threshold": 6
},
"gist": {
"id": "4f597b8e545023f779e6b32b9253e410",
"data": {
"description": "Reduce array size by averaging over blocks",
"public": true
}
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment