Skip to content

Instantly share code, notes, and snippets.

@arokem
Created April 1, 2017 00:51
Show Gist options
  • Save arokem/6ee6914074c01386ea9f977dc398a183 to your computer and use it in GitHub Desktop.
Save arokem/6ee6914074c01386ea9f977dc398a183 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": true
},
"outputs": [],
"source": [
"import numpy as np\n",
"import nibabel as nib\n",
"from dipy.align.imwarp import SymmetricDiffeomorphicRegistration\n",
"from dipy.align.imwarp import DiffeomorphicMap\n",
"from dipy.align.metrics import CCMetric\n",
"import os.path\n",
"from dipy.viz import regtools\n",
"\n",
"from dipy.align.imaffine import (transform_centers_of_mass,\n",
" AffineMap,\n",
" MutualInformationMetric,\n",
" AffineRegistration)\n",
"from dipy.align.transforms import (TranslationTransform3D,\n",
" RigidTransform3D,\n",
" AffineTransform3D)\n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dataset is already in place. If you want to fetch it again please first remove the folder /Users/arokem/.dipy/stanford_hardi \n",
"Dataset is already in place. If you want to fetch it again please first remove the folder /Users/arokem/.dipy/stanford_hardi \n"
]
}
],
"source": [
"from dipy.data import fetch_stanford_hardi, read_stanford_hardi\n",
"fetch_stanford_hardi()\n",
"nib_stanford, gtab_stanford = read_stanford_hardi()\n",
"stanford_b0 = np.squeeze(nib_stanford.get_data())[..., 0]"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Data size is approximately 12MB\n",
"Dataset is already in place. If you want to fetch it again please first remove the folder /Users/arokem/.dipy/syn_test \n",
"Data size is approximately 12MB\n",
"Dataset is already in place. If you want to fetch it again please first remove the folder /Users/arokem/.dipy/syn_test \n"
]
}
],
"source": [
"from dipy.data.fetcher import fetch_syn_data, read_syn_data\n",
"fetch_syn_data()\n",
"nib_syn_t1, nib_syn_b0 = read_syn_data()\n",
"syn_b0 = np.array(nib_syn_b0.get_data())"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from dipy.segment.mask import median_otsu\n",
"stanford_b0_masked, stanford_b0_mask = median_otsu(stanford_b0, 4, 4)\n",
"syn_b0_masked, syn_b0_mask = median_otsu(syn_b0, 4, 4)\n",
"\n",
"static = stanford_b0_masked\n",
"static_affine = nib_stanford.get_affine()\n",
"moving = syn_b0_masked\n",
"moving_affine = nib_syn_b0.get_affine()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"nbins = 32\n",
"sampling_prop = None\n",
"metric = MutualInformationMetric(nbins, sampling_prop)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"level_iters = [10000, 1000, 100]"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"sigmas = [3.0, 1.0, 0.0]"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"factors = [4, 2, 1]\n",
"\n",
"affreg = AffineRegistration(metric=metric,\n",
" level_iters=level_iters,\n",
" sigmas=sigmas,\n",
" factors=factors)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Optimizing level 2 [max iter: 10000]\n",
"Optimizing level 1 [max iter: 1000]\n",
"Optimizing level 0 [max iter: 100]\n"
]
}
],
"source": [
"transform = TranslationTransform3D()\n",
"params0 = None\n",
"translation = affreg.optimize(static, moving, transform, params0,\n",
" static_affine, moving_affine)\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"resampled = translation.transform(moving)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x104772be0>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regtools.overlay_slices(static, resampled, None, 1, 'Static', 'Moving', 'input_3d.png')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"metric = CCMetric(3)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"level_iters = [10, 10, 5]\n",
"sdr = SymmetricDiffeomorphicRegistration(metric, level_iters)"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 1. , 0. , 0. , -5.01129166],\n",
" [ 0. , 1. , 0. , 30.61644379],\n",
" [ 0. , 0. , 1. , -19.87678253],\n",
" [ 0. , 0. , 0. , 1. ]])"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"translation.affine"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Creating scale space from the moving image. Levels: 3. Sigma factor: 0.200000.\n",
"Creating scale space from the static image. Levels: 3. Sigma factor: 0.200000.\n",
"Optimizing level 2\n",
"Optimizing level 1\n",
"Optimizing level 0\n"
]
}
],
"source": [
"mapping = sdr.optimize(static, resampled, static_affine, static_affine)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"warped_moving = mapping.transform(resampled)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x125b1d978>"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"regtools.overlay_slices(static, warped_moving, None, 1, 'Static', 'Warped moving', 'warped_moving.png')"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x125ba0c88>"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"warped_static = mapping.transform_inverse(static)\n",
"regtools.overlay_slices(warped_static, resampled, None, 1, 'Warped static', 'Moving', 'warped_static.png')"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"((81, 106, 76), (81, 106, 76))"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"static.shape, resampled.shape"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import skimage.util as sku"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def diffeo_two_arrays(arr, affine):\n",
" static, moving = arr[0], arr[1]\n",
" metric = CCMetric(3)\n",
" level_iters = [10, 10, 5]\n",
" sdr = SymmetricDiffeomorphicRegistration(metric, level_iters)\n",
" mapping = sdr.optimize(static, moving)\n",
" return mapping"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"arr = np.array([static, resampled])"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(2, 81, 106, 76)"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"arr.shape"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"rr = sku.apply_parallel(diffeo_two_arrays, arr, chunks=(1, 1, 1, 2))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 1
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment