{"nbformat_minor": 0, "worksheets": [{"cells": [{"source": ["Geodesic Medial Axsis\n", "=====================\n", "\n*Important:* Please read the [installation page](http://gpeyre.github.io/numerical-tours/installation_matlab/) for details about how to install the toolboxes.\n", "$\\newcommand{\\dotp}[2]{\\langle #1, #2 \\rangle}$\n", "$\\newcommand{\\enscond}[2]{\\lbrace #1, #2 \\rbrace}$\n", "$\\newcommand{\\pd}[2]{ \\frac{ \\partial #1}{\\partial #2} }$\n", "$\\newcommand{\\umin}[1]{\\underset{#1}{\\min}\\;}$\n", "$\\newcommand{\\umax}[1]{\\underset{#1}{\\max}\\;}$\n", "$\\newcommand{\\umin}[1]{\\underset{#1}{\\min}\\;}$\n", "$\\newcommand{\\uargmin}[1]{\\underset{#1}{argmin}\\;}$\n", "$\\newcommand{\\norm}[1]{\\|#1\\|}$\n", "$\\newcommand{\\abs}[1]{\\left|#1\\right|}$\n", "$\\newcommand{\\choice}[1]{ \\left\\{ \\begin{array}{l} #1 \\end{array} \\right. }$\n", "$\\newcommand{\\pa}[1]{\\left(#1\\right)}$\n", "$\\newcommand{\\diag}[1]{{diag}\\left( #1 \\right)}$\n", "$\\newcommand{\\qandq}{\\quad\\text{and}\\quad}$\n", "$\\newcommand{\\qwhereq}{\\quad\\text{where}\\quad}$\n", "$\\newcommand{\\qifq}{ \\quad \\text{if} \\quad }$\n", "$\\newcommand{\\qarrq}{ \\quad \\Longrightarrow \\quad }$\n", "$\\newcommand{\\ZZ}{\\mathbb{Z}}$\n", "$\\newcommand{\\CC}{\\mathbb{C}}$\n", "$\\newcommand{\\RR}{\\mathbb{R}}$\n", "$\\newcommand{\\EE}{\\mathbb{E}}$\n", "$\\newcommand{\\Zz}{\\mathcal{Z}}$\n", "$\\newcommand{\\Ww}{\\mathcal{W}}$\n", "$\\newcommand{\\Vv}{\\mathcal{V}}$\n", "$\\newcommand{\\Nn}{\\mathcal{N}}$\n", "$\\newcommand{\\NN}{\\mathcal{N}}$\n", "$\\newcommand{\\Hh}{\\mathcal{H}}$\n", "$\\newcommand{\\Bb}{\\mathcal{B}}$\n", "$\\newcommand{\\Ee}{\\mathcal{E}}$\n", "$\\newcommand{\\Cc}{\\mathcal{C}}$\n", "$\\newcommand{\\Gg}{\\mathcal{G}}$\n", "$\\newcommand{\\Ss}{\\mathcal{S}}$\n", "$\\newcommand{\\Pp}{\\mathcal{P}}$\n", "$\\newcommand{\\Ff}{\\mathcal{F}}$\n", "$\\newcommand{\\Xx}{\\mathcal{X}}$\n", "$\\newcommand{\\Mm}{\\mathcal{M}}$\n", "$\\newcommand{\\Ii}{\\mathcal{I}}$\n", "$\\newcommand{\\Dd}{\\mathcal{D}}$\n", "$\\newcommand{\\Ll}{\\mathcal{L}}$\n", "$\\newcommand{\\Tt}{\\mathcal{T}}$\n", "$\\newcommand{\\si}{\\sigma}$\n", "$\\newcommand{\\al}{\\alpha}$\n", "$\\newcommand{\\la}{\\lambda}$\n", "$\\newcommand{\\ga}{\\gamma}$\n", "$\\newcommand{\\Ga}{\\Gamma}$\n", "$\\newcommand{\\La}{\\Lambda}$\n", "$\\newcommand{\\si}{\\sigma}$\n", "$\\newcommand{\\Si}{\\Sigma}$\n", "$\\newcommand{\\be}{\\beta}$\n", "$\\newcommand{\\de}{\\delta}$\n", "$\\newcommand{\\De}{\\Delta}$\n", "$\\newcommand{\\phi}{\\varphi}$\n", "$\\newcommand{\\th}{\\theta}$\n", "$\\newcommand{\\om}{\\omega}$\n", "$\\newcommand{\\Om}{\\Omega}$\n"], "metadata": {}, "cell_type": "markdown"}, {"source": ["This tour studies the computation of the medial axis using the Fast\n", "Marching."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 2, "cell_type": "code", "language": "python", "metadata": {}, "input": ["addpath('toolbox_signal')\n", "addpath('toolbox_general')\n", "addpath('toolbox_graph')\n", "addpath('solutions/shapes_6_medialaxis')"]}, {"source": ["Voronoi Diagram\n", "---------------\n", "The Voronoi diagram is the segmentation of the image given by the region\n", "of influence of the set of starting points.\n", "\n", "\n", "Load a distance map."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 3, "cell_type": "code", "language": "python", "metadata": {}, "input": ["n = 200;\n", "W = load_image('mountain', n);\n", "W = rescale(W,.25,1);"]}, {"source": ["Select seed points."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 4, "cell_type": "code", "language": "python", "metadata": {}, "input": ["pstart = [[20;20] [120;100] [180;30] [60;160]];\n", "nbound = size(pstart,2);"]}, {"source": ["Display the map and the points."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\nzT/RY44AAAAASUVORK5CYII=\n", "output_type": "display_data"}], "prompt_number": 5, "cell_type": "code", "language": "python", "metadata": {}, "input": ["ms = 20;\n", "clf; hold on;\n", "imageplot(W);\n", "h = plot(pstart(2,:), pstart(1,:), '.r'); set(h, 'MarkerSize', ms);"]}, {"source": ["Compute the geodesic distant to the whole set of points."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 6, "cell_type": "code", "language": "python", "metadata": {}, "input": ["[D,S,Q] = perform_fast_marching(W, pstart);"]}, {"source": ["Display the geodesic distance."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\n", "output_type": "display_data"}], "prompt_number": 7, "cell_type": "code", "language": "python", "metadata": {}, "input": ["clf; hold on;\n", "imageplot(convert_distance_color(D, W));\n", "h = plot(pstart(2,:), pstart(1,:), '.r'); set(h, 'MarkerSize', ms);"]}, {"source": ["Display the Voronoi Segmentation."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\n/gYjxBnwD65DDAAAAABJRU5ErkJggg==\n", "output_type": "display_data"}], "prompt_number": 8, "cell_type": "code", "language": "python", "metadata": {}, "input": ["clf; hold on;\n", "imageplot(Q);\n", "h = plot(pstart(2,:), pstart(1,:), '.r'); set(h, 'MarkerSize', ms);\n", "colormap jet(256);"]}, {"source": ["Medial Axis from the Voronoi Map\n", "--------------------------------\n", "The medial axis is difficult to extract from the singularity of the\n", "distance map. It is much more robust to extract it from the\n", "discontinuities in the Voronoi index map |Q|.\n", "\n", "\n", "Compute the derivative, the gradient."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 9, "cell_type": "code", "language": "python", "metadata": {}, "input": ["G = grad(Q);"]}, {"source": ["Take it modulo |nbound|."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 10, "cell_type": "code", "language": "python", "metadata": {}, "input": ["G(G<-nbound/2) = G(G<-nbound/2) + nbound;\n", "G(G>nbound/2) = G(G>nbound/2) - nbound;"]}, {"source": ["Compute the norm of the gadient."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 11, "cell_type": "code", "language": "python", "metadata": {}, "input": ["G = sqrt(sum(G.^2,3));"]}, {"source": ["Compute the medial axis by thresholding the gradient magnitude."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 12, "cell_type": "code", "language": "python", "metadata": {}, "input": ["B = 1 - (G>.1);"]}, {"source": ["Display."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\nTkSuQmCC\n", "output_type": "display_data"}], "prompt_number": 13, "cell_type": "code", "language": "python", "metadata": {}, "input": ["clf; hold on;\n", "imageplot(B);\n", "h = plot(pstart(2,:), pstart(1,:), '.r'); set(h, 'MarkerSize', ms);"]}, {"source": ["Skeleton of a Shape \n", "--------------------\n", "The sekeleton, also called Medial Axis, is the set of points where the\n", "geodesic distance is singular.\n", "\n", "\n", "A binary shape is represented as a binary image."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 14, "cell_type": "code", "language": "python", "metadata": {}, "input": ["n = 200;\n", "name = 'chicken';\n", "M = load_image(name,n);\n", "M = perform_blurring(M,5);\n", "M = double( rescale( M )>.5 );\n", "if M(1)==1 \n", " M = 1-M;\n", "end"]}, {"source": ["Compute its boundary, that is going to be the set of starting points."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 15, "cell_type": "code", "language": "python", "metadata": {}, "input": ["pstart = compute_shape_boundary(M);\n", "nbound = size(pstart,2);"]}, {"source": ["Display the metric."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\n", "output_type": "display_data"}], "prompt_number": 16, "cell_type": "code", "language": "python", "metadata": {}, "input": ["lw = 2;\n", "clf; hold on;\n", "imageplot(-M);\n", "h = plot(pstart(2,:), pstart(1,:), 'r'); set(h, 'LineWidth', lw); axis ij;"]}, {"source": ["Parameters for the Fast Marching: constant speed |W|, but retricted using |L| to the\n", "inside of the shape."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 17, "cell_type": "code", "language": "python", "metadata": {}, "input": ["W = ones(n);\n", "L = zeros(n)-Inf; L(M==1) = +Inf;"]}, {"source": ["Compute the fast marching, from the boundary points."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [], "prompt_number": 18, "cell_type": "code", "language": "python", "metadata": {}, "input": ["options.constraint_map = L;\n", "[D,S,Q] = perform_fast_marching(W, pstart, options);\n", "D(M==0) = Inf;"]}, {"source": ["Display the distance function to the boundary."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\n", "output_type": "display_data"}], "prompt_number": 19, "cell_type": "code", "language": "python", "metadata": {}, "input": ["clf;\n", "hold on;\n", "display_shape_function(D);\n", "h = plot(pstart(2,:), pstart(1,:), 'r'); set(h, 'LineWidth', lw); axis ij;"]}, {"source": ["Display the index of the closest boundary point."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\n", "output_type": "display_data"}], "prompt_number": 20, "cell_type": "code", "language": "python", "metadata": {}, "input": ["clf;\n", "hold on;\n", "display_shape_function(Q);\n", "h = plot(pstart(2,:), pstart(1,:), 'r'); set(h, 'LineWidth', lw); axis ij;"]}, {"source": ["__Exercise 1__\n", "\n", "Compute the norm of the gradient |G| modulo |nbound|. Be careful to remove the boundary\n", "of the shape from this indicator. Display the thresholded gradient map.\n", "radient\n", "ompute the norm of the gadient.\n", "emove the boundary to the skeletton."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\nC+jbsWKewWlgAETSwNhiffea/Lcq1oimy4A0MAAiaWCssv7SfqFsma3ZbOH4mwljWBoYAJE0sN5c\nMgvyevm/vAHr/yZ/DhEs0sAAiHQzdN6Hky/V9zzW6G9dDxv2nblhunHzv4JohhDjnRNdOxNrou91\nBy1eEV9fCe8MIQIQyRBisG3r1H+9B3n9v2oh4v15yMFZ3tMTfgXE0cAAiGQOrCtrlrAf1dIGt2fd\nyiE/ENDAAIikgQ3ENf5RJkdSqYVLCDD4wWx01Q8nyzfokiFEACJpYMEuvPzfeUVfv7Ks1M2OQCIN\nDIBIGli80x4ydOA8SuIz6Vtv5/rDm3LEoDUNDIBIHiXVv50X7Ce8Q2a3sNo7s2CpXblJ1Y4kHEWA\nDcf3bmyzcNwcKLiEIUQAImlgAETSwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgk\nwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTA\nAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAA\niCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACI\nJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgkwACIJMAAiCTAAIgk\nwACIJMAAiCTAAIgkwACIJMAAiPQ/C4RCLsPdlhoAAAAASUVORK5CYII=\n", "output_type": "display_data"}], "prompt_number": 21, "cell_type": "code", "language": "python", "metadata": {}, "input": ["exo1()"]}, {"collapsed": false, "outputs": [], "prompt_number": 22, "cell_type": "code", "language": "python", "metadata": {}, "input": ["%% Insert your code here."]}, {"source": ["__Exercise 2__\n", "\n", "Display the Skeleton obtained for different threshold values."], "metadata": {}, "cell_type": "markdown"}, {"collapsed": false, "outputs": [{"metadata": {}, "png": "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\nAyCl/wJjKQJ8+eYJ5QAAAABJRU5ErkJggg==\n", "output_type": "display_data"}], "prompt_number": 23, "cell_type": "code", "language": "python", "metadata": {}, "input": ["exo2()"]}, {"collapsed": false, "outputs": [], "prompt_number": 24, "cell_type": "code", "language": "python", "metadata": {}, "input": ["%% Insert your code here."]}, {"source": ["Skeletton\n", "---------"], "metadata": {}, "cell_type": "markdown"}], "metadata": {}}], "nbformat": 3, "metadata": {"kernelspec": {"name": "matlab_kernel", "language": "matlab", "display_name": "Matlab"}, "language_info": {"mimetype": "text/x-matlab", "name": "matlab", "file_extension": ".m", "help_links": [{"url": "https://github.com/calysto/metakernel/blob/master/metakernel/magics/README.md", "text": "MetaKernel Magics"}]}}}