{ "metadata": { "celltoolbar": "Slideshow", "name": "", "signature": "sha256:8eb981ff25accbb4a0c5114979ede572dffe93ad16340adb9319f92459465434" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "skip" } }, "source": [ "<style type=\"text/css\">\n", " .input, .output_prompt {\n", " display:none !important;\n", " }\n", " \n", " table, th, tr, td {\n", " border: none;\n", " text-align: center;\n", " align-items: center;\n", " align-content: center;\n", " background-color: orange;\n", " }\n", " \n", " figure {\n", " border: none;\n", " text-align: center;\n", " display: inline;\n", " }\n", " \n", " figcaption {\n", " border: none;\n", " text-align: center;\n", " }\n", "</style>" ] }, { "cell_type": "code", "collapsed": false, "input": [ "from IPython.display import display, HTML, Image\n", "from wand.image import Image as WImage" ], "language": "python", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "s = \"\"\"\n", "\n", "<style>\n", "\n", "div.cell, div.text_cell_render {\n", " width:100%;\n", " margin-left:1%;\n", " margin-right:auto;\n", "}\n", "\n", ".rendered_html {\n", " font-family: \"proxima-nova\", helvetica;\n", " font-size: 150%;\n", " line-height: 1.3;\n", "}\n", "\n", ".rendered_html h1 {\n", " margin: 0.25em 0em 0.5em;\n", " # color: #015C9C;\n", " color: #CC3300;\n", " text-align: center;\n", " line-height: 1.2; \n", " page-break-before: always;\n", " font-size: 250%;\n", "}\n", "\n", ".rendered_html h2 {\n", " margin: 1.1em 0em 0.5em;\n", " color: black;\n", " line-height: 1.2;\n", " text-align: center;\n", "}\n", "\n", ".rendered_html h3 {\n", " margin: 1.1em 0em 0.5em;\n", " color: black;\n", " line-height: 1.2;\n", "}\n", "\n", ".rendered_html li {\n", " font-size: 120%\n", " line-height: 1.5;\n", "}\n", "\n", ".prompt {\n", " font-size: 120%; \n", "}\n", "\n", ".CodeMirror-lines {\n", " font-size: 120%; \n", "}\n", "\n", ".output_area {\n", " font-size: 120%; \n", "}\n", "\n", "#notebook {\n", "# background-image: url('files/images/witewall_3.png');\n", "# }\n", "\n", "h1.bigtitle {\n", " margin: 4cm 1cm 4cm 1cm;\n", " font-size: 300%;\n", "}\n", "\n", "h3.point {\n", " font-size: 200%;\n", " text-align: center;\n", " margin: 2em 0em 2em 0em;\n", " color: #26465D;\n", "}\n", "\n", ".logo {\n", " margin: 20px 0 20px 0;\n", "}\n", "\n", "a.anchor-link {\n", " display: none;\n", "}\n", "\n", "h1.title { \n", " font-size: 250%;\n", "}\n", "\n", "# div.cell{\n", "# max-width:750px;\n", "# margin-left:auto;\n", "# margin-right:auto;\n", "# }\n", "\n", "\n", "</style>\n", "\"\"\"\n", "\n", "display(HTML(s))" ], "language": "python", "metadata": { "slideshow": { "slide_type": "skip" } }, "outputs": [ { "html": [ "\n", "\n", "<style>\n", "\n", "div.cell, div.text_cell_render {\n", " width:100%;\n", " margin-left:1%;\n", " margin-right:auto;\n", "}\n", "\n", ".rendered_html {\n", " font-family: \"proxima-nova\", helvetica;\n", " font-size: 150%;\n", " line-height: 1.3;\n", "}\n", "\n", ".rendered_html h1 {\n", " margin: 0.25em 0em 0.5em;\n", " # color: #015C9C;\n", " color: #CC3300;\n", " text-align: center;\n", " line-height: 1.2; \n", " page-break-before: always;\n", " font-size: 250%;\n", "}\n", "\n", ".rendered_html h2 {\n", " margin: 1.1em 0em 0.5em;\n", " color: black;\n", " line-height: 1.2;\n", " text-align: center;\n", "}\n", "\n", ".rendered_html h3 {\n", " margin: 1.1em 0em 0.5em;\n", " color: black;\n", " line-height: 1.2;\n", "}\n", "\n", ".rendered_html li {\n", " font-size: 120%\n", " line-height: 1.5;\n", "}\n", "\n", ".prompt {\n", " font-size: 120%; \n", "}\n", "\n", ".CodeMirror-lines {\n", " font-size: 120%; \n", "}\n", "\n", ".output_area {\n", " font-size: 120%; \n", "}\n", "\n", "#notebook {\n", "# background-image: url('files/images/witewall_3.png');\n", "# }\n", "\n", "h1.bigtitle {\n", " margin: 4cm 1cm 4cm 1cm;\n", " font-size: 300%;\n", "}\n", "\n", "h3.point {\n", " font-size: 200%;\n", " text-align: center;\n", " margin: 2em 0em 2em 0em;\n", " color: #26465D;\n", "}\n", "\n", ".logo {\n", " margin: 20px 0 20px 0;\n", "}\n", "\n", "a.anchor-link {\n", " display: none;\n", "}\n", "\n", "h1.title { \n", " font-size: 250%;\n", "}\n", "\n", "# div.cell{\n", "# max-width:750px;\n", "# margin-left:auto;\n", "# margin-right:auto;\n", "# }\n", "\n", "\n", "</style>\n" ], "metadata": {}, "output_type": "display_data", "text": [ "<IPython.core.display.HTML at 0x3498250>" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "<center>\n", "<h1 class='title'> Comprehensive Bifurcation Analysis<br>in a Neuromuscularly-Controlled <br>In Vivo Canine Larynx </h1>\n", "\n", "<h2 > Juergen Neubauer and Dinesh K. Chhetri </h2>\n", "\n", "<h3 > Simon Levin MCMSC @ ASU <br> Head and Neck Surgery @ UCLA </h3>\n", "\n", "<h4 > ICVPB Salt Lake City, 2014 </h4>\n", "\n", "<h4> Supported by NIH RO1 DC011300 </h4>\n", "</center>" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Wanted\n", "\n", "## Complete description of the vocal fold dynamics in an *in vivo* model" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "We have been working on a method in the last couple of years to measure, record, and catalog the complete vocal fold dynamics in an in vivo dog experiment." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Why\n", "## Neuro-muscular control of F0, loudness, voice quality, pathologies\n", "## Dynamic equivalence of larynges of different species\n", "## Model validation" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "So why is this necessary? \n", "\n", "We need such a complete description to understand fundamental mechanisms of the neuromuscular control of fundamental frequency, control of loudness, voice quality and control of pathological voice production. \n", "\n", "We need it to assess the dynamic equivalence of larynges of different species. \n", "\n", "We also need it to validate theoretical and computational models." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bifurcation analysis in *in vivo* dog experiment\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/bifurcation.png\" width=900 />\n", "</center>\n", "\n", "## Phonation onset, a Hopf bifurcation during air flow ramp" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "How are we actually doing this? \n", "\n", "We apply experimental bifurcation analysis for a comprehensive and systematic set of laryngeal conditions.\n", "\n", "For example, here I'm showing a experimental spectrogram which demonstrates the most important bifurcation, the phonation onset, a Hopf bifurcation. \n", "\n", "In this spectrogram of the subglottal acoustic signal, a transition occurs from aphonia to vocal fold vibration. This transition happens where the stack of harmonics appear on the right side of the spectrogram. \n", "\n", "Here, I used an increasing subglottal pressure as the bifurcation parameter. So phonation onset happened when the subglottal pressure was sufficiently high.\n", "\n", "I will call this kind of spectrogram a 'spectral bifurcation diagram'. \n", "\n", "I will use these spectral bifurcation diagrams as the basic building blocks to characterize the vocal fold dynamics of all kinds of laryngeal conditions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Observed bifurcations\n", "\n", "## Hopf bifurcation\n", "## Subharmonic bifurcation\n", "## Frequency jumps\n", "## Secondary Hopf bifurcation\n", "## Sudden transition to chaotic vibrations" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "The phonation onset is only one example of bifurcations that we typcially see in our experiments. \n", "\n", "We also observe all other kinds of bifurcations that typically occur in nonlinear systems. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bifurcations induced by neuromuscular control\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/postures.png\" width=800 />\n", "</center>\n", "\n", "## Computer-controlled, automated pulse train sequences (1500 ms)" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Different bifurcations appear for different kinds of manipulations of the laryngeal muscles. \n", "\n", "Muscles are like actuators, they deform the larynx. So they set the vocal fold posture and the internal stiffnesses. \n", "\n", "When we blow air through such a deformed larynx, all kinds of bifurcations can appear.\n", "\n", "In our experiments we control the muscles by stimulating their nerves. \n", "\n", "These are the SLN, RLN, and branches of the RLN." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Bifurcations induced by air flow ramp\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 02-16, Dog Experiment CHS/DSC_0039.mod.png\" width=800 />\n", "</center>\n", "\n", "## Computer-controlled linear flow ramp -- Increasing subglottal pressure\n" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Bifurcations also occur when we apply an air flow ramp to each of the muscle manipulations. \n", "\n", "Due to some glottal flow resistance, this causes the subglottal pressure to increase. \n", "\n", "Then, usually, phonation onset occurs, or, for even high pressures, all other kinds of bifurcations can occur." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Left-right asymmetric stimulation\n", "\n", "\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/asymmetricSLN_MidRLN.pout.specgram.600Hz.mod.png\" width=1000 />\n", "</center>\n", "\n", "## right SLN versus left SLN, constant mid RLN" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "There are a two particularly interesting manipulations of the larynx. \n", "\n", "First I'll show an example of a left-right asymmetric stimulation experiment. \n", "\n", "This manipulation simulates a unilateral paresis or a unilateral vocal fold paralysis.\n", "\n", "Here I show a whole array of spectral bifurcation diagrams: \n", "Along each row, the left SLN level increases in 7 steps. \n", "Along each column, the right SLN level increases also in 7 steps.\n", "\n", "The overall array of spectral bifurcation diagrams looks pretty symmetric with respect to the diagonal. That's what we would expect if the true activation of the muscles was symmetric and the larynx did not have any intrinsic tissue asymmetries." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Agonist-antagonist imbalance\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/trunkRLN_TA_NoSLN Wed Mar 21 2012 17 18 17.psub.specgram.1000Hz.mod.png\" width=1000 />\n", "</center>\n", "\n", "## TA versus trunk RLN (LCA/IA), constant No SLN" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "The second case is an example for an agonist-antagonist imbalance. Here the left and right side were stimulated symmetrically, but different TA levels were paired with different trunk RLN levels.\n", "\n", "Here, trunk RLN stimulation levels increasing along the rows and TA levels increase along the columns.\n", "\n", "This kind of muscle manipulation is of fundamental importance to study the influence of vocal fold posture on phonation. What we want to know is how muscle synergies create elemental postures and how these elemental postures are linked to the different kinds of bifurcations.\n", "\n", "In the shown array of spectral bifurcation diagrams I want to point out two features. One is the appearance of more broadband chaotic vibrations for high TA and high trunk RLN levels, shown in the upper right corner. The other is the fact that TA activation decreases the fundamental frequency at onset." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# F0 for SLN-TA-trunk RLN manipulation\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Figure1.png\" width=600 />\n", "<!--\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Figure1_alt.png\" width=450 />\n", "-->\n", "</center>\n", "\n", "## chest and falsetto-like clusters at phonation onset" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "Now when we analyzed the phonation onset behavior for the entire set of TA, trunk RLN and SLN manipulations, we found the following:\n", "\n", "At phonation onset, we measure the onset frequency, subglottal pressure and flow, and we measure vocal fold strain and adduction from the high speed videos of the larynx.\n", "\n", "Here, I show the very surprising finding that onset frequencies cluster in two branches as a function of vocal fold strain. It's surprising because it's reminiscent of chest and falsetto registers at phonation onset." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Tight experimental control. Fast and automated setup and experiments.\n", "\n", "<table>\n", "<tr>\n", "<td>\n", "<figure>\n", " <img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 03-14, Dog Experiment CHS/DSC_0008.mod.png\" width=600 />\n", " <figcaption>Controller</figcaption>\n", "</figure>\n", "</td>\n", "<td>\n", "<figure>\n", " <img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 11-14 Dog Experiment CHS/DSC_0014.mod.png\" width=600 />\n", " <figcaption>In vivo dog model</figcaption>\n", "</figure>\n", "</td>\n", "<td>\n", "<figure>\n", " <img src=\"files/ICVPB2014_Salt_Lake_City.images/cables.mod.png\" width=600 />\n", " <figcaption>Extensive control and<br> recording infrastructure</figcaption>\n", "<!--\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 02-22, Dog experiment CHS/DSC_0001.jpg\" width=300 />\n", "-->\n", "</figure>\n", "</td>\n", "</tr>\n", "</table>" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "The data that I've shown so far was only possible to get with a well-controlled experiment.\n", "\n", "We have spent a lot of effort building an in vivo dog experiment with tight experimental controls, that we can execute quickly and that runs experiments automatically." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Computer-controlled, automated sequences of nerve stimulation pulse trains (8 nerves)\n", "\n", "<center>\n", "<!--\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 11-14 Dog Experiment CHS/DSC_0004.jpg\" width=500 />\n", "-->\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 11-14 Dog Experiment CHS/DSC_0009.mod.png\" width=700 />\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/2013-10-29 LabView control setup for dog phonation experiments/dog_experiment_nerve_settings.png\" width=700 />\n", "</center>" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "I have shown already that the air flow ramp is automatically generated and controlled by a computer.\n", "\n", "Also the stimulation pulse trains that we apply to the nerves are fully computer-controlled and the level selection is fully automated." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Rapid setup\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/2013-10-29 LabView control setup for dog phonation experiments/search_excitation_threshold.png\" width=1000 />\n", "</center>\n", "\n", "## Binary search for threshold of nerve excitation (one threshold in 10 seconds)\n" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "We can get the in vivo experiments set up quickly.\n", "\n", "For example, we use a binary search to determine the stimulation thresholds of the nerves very quickly." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Fast experiments: New recording every 5 seconds\n", "\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 02-22, Dog experiment CHS/DSC_0008.mod.png\" width=800 />\n", "<!--\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/Lab UCLA 2012 03-14, Dog Experiment CHS/DSC_0005.mod.png\" width=800 />\n", "-->\n", "</center>\n", "\n", "## High speed video: prephonatory posturing, vocal fold vibration\n", "## 5:20 min for 64 stimulation conditions" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "And we measure relevant variables every five seconds.\n", "\n", "That includes subglottal pressure and flow rate, subglottal acoustics, outside acoustics, EMG from laryngeal muscles, the electrode-nerve impedances, and, last but not least, high speed video data of the prephonatory posturing behavior and vocal fold vibration.\n", "\n", "So for example in 5 minutes and 20 seconds we can record a complete set of 8 times 8 , so 64, different stimulation conditions." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Replication possible!\n", "\n", "## First take ---- Second take\n", "<center>\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/SLN versus right RLN No implant Repeats.png\" width=1000 />\n", "<!--\n", "<img src=\"files/ICVPB2014_Salt_Lake_City.images/SLN versus right RLN No implant repeat Wed Oct 30 2013 16 05 22.pout.specgram.1000Hz.mod.png\" width=350 />\n", "-->\n", "</center>\n", "\n", "## Left recurrent nerve paralysis: both SLN versus right RLN" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "As a result, we are now able to replicate bifurcation behaviors when we repeat experiments in the same dog.\n", "\n", "What I show here is a repeat experiment of a paralysis condition in the same dog. You can see that the arrays of spectral bifurcation diagrams are similar for the first and the second take of this repeat experiment.\n", "\n", "So now we are able to use this bifurcation behavior, symbolized by the spectral bifurcation diagrams, to compare and quantify the overall dynamic behavior, either in the same dog, or between dogs, or across species, and so on." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Complete bifurcation behavior provides a metric to compare dynamical systems\n", "\n", "## Metric to measure dynamical equivalence of different larynes: human, dog, bats, etc\n", "## Metric to evaluate intervention procedures for voice pathologies: implants, arytenoid adduction, injection" ] }, { "cell_type": "raw", "metadata": { "slideshow": { "slide_type": "notes" } }, "source": [ "What this means is that we can now collect consistent dynamic data from our in vivo dog experiment with high confidence and at high speed. That allows us to systematically catalog the complete bifurcation behavior.\n", "\n", "So now it makes sense to use these sets of bifurcation behaviors as a metric to compare different dynamical systems.\n", "\n", "Different dynamical systems could be different dogs, or different species (either human or dog or bats). So we can now quantitatively answer the question how dynamically equivalent the vocal folds of these different species really are.\n", "\n", "And finally, we can use this bifurcation metric also to decide how effective different intervention procedures are to correct voice pathologies by using vocal fold implants or arytenoid adduction or mass injection." ] } ], "metadata": {} } ] }