1{
2 "cells": [
3  {
4   "cell_type": "markdown",
5   "metadata": {},
6   "source": [
7    "# Using SPICE kernels to study HERA trajectory\n",
8    "In this tutorial we will use the spice kernels available for download at ftp://spiftp.esac.esa.int/data/SPICE/ to study the interplanetary trajectory of the HERA mission\n"
9   ]
10  },
11  {
12   "cell_type": "code",
13   "execution_count": 1,
14   "metadata": {},
15   "outputs": [],
16   "source": [
17    "# We need to import some toolboxes \n",
18    "import pykep as pk\n",
19    "from matplotlib import pyplot as plt\n",
20    "import numpy as np\n",
21    "%matplotlib notebook"
22   ]
23  },
24  {
25   "cell_type": "markdown",
26   "metadata": {},
27   "source": [
28    "## Loading the SPICE kernels"
29   ]
30  },
31  {
32   "cell_type": "code",
33   "execution_count": 2,
34   "metadata": {},
35   "outputs": [],
36   "source": [
37    "# Assuming the kernels have been downloaded and\n",
38    "# placed in the same directory of this notebook\n",
39    "# 1 - We load the solar system ephemerides\n",
40    "pk.util.load_spice_kernel(\"de432s.bsp\")\n",
41    "# 2 - We load the ephemerides for HERA trajectory\n",
42    "pk.util.load_spice_kernel(\"HERA_sc_LPC_EMA_2024c.bsp\")\n",
43    "# 3 - We load the ephemerides for the Didymos position\n",
44    "pk.util.load_spice_kernel(\"didymos_hor_200101_300101_v01.bsp\")"
45   ]
46  },
47  {
48   "cell_type": "markdown",
49   "metadata": {},
50   "source": [
51    "## A simple use"
52   ]
53  },
54  {
55   "cell_type": "code",
56   "execution_count": 3,
57   "metadata": {},
58   "outputs": [
59    {
60     "name": "stdout",
61     "output_type": "stream",
62     "text": [
63      "2026-Jan-04 12:00:00\n"
64     ]
65    }
66   ],
67   "source": [
68    "# We now need to define an epoch (date) to query for positions of the various bodies\n",
69    "# Keep in mind that the kernels do not contain the information for all epochs, only for some\n",
70    "# ranges. You will get an error if you query outside of these bounds\n",
71    "ep = pk.epoch_from_string(\"2026-Jan-04 12:00:00\")\n",
72    "print(ep)"
73   ]
74  },
75  {
76   "cell_type": "code",
77   "execution_count": 4,
78   "metadata": {},
79   "outputs": [],
80   "source": [
81    "# The code assigned to HERA seems to be -999, so we stick to it. Here we create a fake \"planet\"\n",
82    "# describing the position of HERA w.r.t. the SUN in the J2000 ecliptic frame and no aberration.\n",
83    "# (ignore the parameters 100 .. 100 and 100 they describe [in pykep syntax] the mass, dimensions and safe\n",
84    "# distance of planets which in this case makes no sense)\n",
85    "hera = pk.planet.spice('-999', 'SUN', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100, 100) "
86   ]
87  },
88  {
89   "cell_type": "code",
90   "execution_count": 5,
91   "metadata": {},
92   "outputs": [
93    {
94     "name": "stdout",
95     "output_type": "stream",
96     "text": [
97      "Position vector at epoch:  (-270759976042.35202, -224408729981.53754, 11161707384.613232)\n",
98      "Velocity vector at epoch:  (10603.550394243548, -10862.635786874001, -424.0057060846829)\n"
99     ]
100    }
101   ],
102   "source": [
103    "r, v = hera.eph(ep)\n",
104    "print(\"Position vector at epoch: \", r)\n",
105    "print(\"Velocity vector at epoch: \", v)"
106   ]
107  },
108  {
109   "cell_type": "code",
110   "execution_count": 6,
111   "metadata": {},
112   "outputs": [],
113   "source": [
114    "# We want also the position with respect to didymos? The code assigned to Didymos seems \n",
115    "# to be 2065803 (apparently using names is not fashionable). So we define a new fake planet object\n",
116    "hera_wrt_didymos = pk.planet.spice('-999', '2065803', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100, 100) "
117   ]
118  },
119  {
120   "cell_type": "code",
121   "execution_count": 7,
122   "metadata": {},
123   "outputs": [
124    {
125     "name": "stdout",
126     "output_type": "stream",
127     "text": [
128      "Position vector at epoch:  (1847403369.0042496, -22574976660.978043, -865934834.397764)\n",
129      "Velocity vector at epoch:  (861.9916442662294, 1239.5955464098067, 342.97888719149586)\n"
130     ]
131    }
132   ],
133   "source": [
134    "r, v = hera_wrt_didymos.eph(ep)\n",
135    "print(\"Position vector at epoch: \", r)\n",
136    "print(\"Velocity vector at epoch: \", v)"
137   ]
138  },
139  {
140   "cell_type": "code",
141   "execution_count": 8,
142   "metadata": {},
143   "outputs": [],
144   "source": [
145    "# We want also the position with respect to the Earth? We define a new fake planet object\n",
146    "hera_wrt_earth = pk.planet.spice('-999', 'EARTH', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100, 100) "
147   ]
148  },
149  {
150   "cell_type": "code",
151   "execution_count": 9,
152   "metadata": {},
153   "outputs": [
154    {
155     "name": "stdout",
156     "output_type": "stream",
157     "text": [
158      "Position vector at epoch:  (-235735253271.4893, -367278379081.661, 11170314994.444817)\n",
159      "Velocity vector at epoch:  (40007.68764017193, -3663.4004080195828, -425.42168268912485)\n"
160     ]
161    }
162   ],
163   "source": [
164    "r, v = hera_wrt_earth.eph(ep)\n",
165    "print(\"Position vector at epoch: \", r)\n",
166    "print(\"Velocity vector at epoch: \", v)"
167   ]
168  },
169  {
170   "cell_type": "markdown",
171   "metadata": {},
172   "source": [
173    "## Visualizing the whole trajectory"
174   ]
175  },
176  {
177   "cell_type": "code",
178   "execution_count": 10,
179   "metadata": {},
180   "outputs": [],
181   "source": [
182    "# The documentation of HERA_sc_LPC_EMA_2024c.bsp kernel reveals that the kernel contains the following data:\n",
183    "#\n",
184    "# HERA_sc_LPC_EMA_2024c.bsp\n",
185    "# Bodies                                    Start of Interval (UTC)         End of Interval (UTC)\n",
186    "# -------                                   -----------------------------   -----------------------------\n",
187    "# -999 HERA w.r.t. 4 MARS BARYCENTER        2025-MAR-17 10:05:00.284        2025-MAR-18 22:29:36.525\n",
188    "# -999 HERA w.r.t. 10 SUN                   2024-OCT-27 11:26:16.873        2025-MAR-17 10:05:00.284\n",
189    "#                                           2025-MAR-18 22:29:36.525        2026-DEC-28 11:58:50.816\n",
190    "# -999 HERA w.r.t. 399 EARTH                2024-OCT-25 11:58:50.817        2024-OCT-27 11:26:16.873\n",
191    "#\n",
192    "# In reality it seems the data starts at 2024-OCT-25 12:00:00. So we use that as launch date (anything before seems\n",
193    "# to be absent in the data)\n",
194    "\n",
195    "launch = pk.epoch_from_string(\"2024-OCT-25 12:00:00\")\n",
196    "arrival = pk.epoch_from_string(\"2026-DEC-28 11:58:50.816\")\n",
197    "flyby = pk.epoch_from_string(\"2025-MAR-17 10:05:00.284\")\n"
198   ]
199  },
200  {
201   "cell_type": "code",
202   "execution_count": 11,
203   "metadata": {},
204   "outputs": [
205    {
206     "data": {
207      "application/javascript": [
208       "/* Put everything inside the global mpl namespace */\n",
209       "window.mpl = {};\n",
210       "\n",
211       "\n",
212       "mpl.get_websocket_type = function() {\n",
213       "    if (typeof(WebSocket) !== 'undefined') {\n",
214       "        return WebSocket;\n",
215       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
216       "        return MozWebSocket;\n",
217       "    } else {\n",
218       "        alert('Your browser does not have WebSocket support. ' +\n",
219       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
220       "              'Firefox 4 and 5 are also supported but you ' +\n",
221       "              'have to enable WebSockets in about:config.');\n",
222       "    };\n",
223       "}\n",
224       "\n",
225       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
226       "    this.id = figure_id;\n",
227       "\n",
228       "    this.ws = websocket;\n",
229       "\n",
230       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
231       "\n",
232       "    if (!this.supports_binary) {\n",
233       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
234       "        if (warnings) {\n",
235       "            warnings.style.display = 'block';\n",
236       "            warnings.textContent = (\n",
237       "                \"This browser does not support binary websocket messages. \" +\n",
238       "                    \"Performance may be slow.\");\n",
239       "        }\n",
240       "    }\n",
241       "\n",
242       "    this.imageObj = new Image();\n",
243       "\n",
244       "    this.context = undefined;\n",
245       "    this.message = undefined;\n",
246       "    this.canvas = undefined;\n",
247       "    this.rubberband_canvas = undefined;\n",
248       "    this.rubberband_context = undefined;\n",
249       "    this.format_dropdown = undefined;\n",
250       "\n",
251       "    this.image_mode = 'full';\n",
252       "\n",
253       "    this.root = $('<div/>');\n",
254       "    this._root_extra_style(this.root)\n",
255       "    this.root.attr('style', 'display: inline-block');\n",
256       "\n",
257       "    $(parent_element).append(this.root);\n",
258       "\n",
259       "    this._init_header(this);\n",
260       "    this._init_canvas(this);\n",
261       "    this._init_toolbar(this);\n",
262       "\n",
263       "    var fig = this;\n",
264       "\n",
265       "    this.waiting = false;\n",
266       "\n",
267       "    this.ws.onopen =  function () {\n",
268       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
269       "            fig.send_message(\"send_image_mode\", {});\n",
270       "            if (mpl.ratio != 1) {\n",
271       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
272       "            }\n",
273       "            fig.send_message(\"refresh\", {});\n",
274       "        }\n",
275       "\n",
276       "    this.imageObj.onload = function() {\n",
277       "            if (fig.image_mode == 'full') {\n",
278       "                // Full images could contain transparency (where diff images\n",
279       "                // almost always do), so we need to clear the canvas so that\n",
280       "                // there is no ghosting.\n",
281       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
282       "            }\n",
283       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
284       "        };\n",
285       "\n",
286       "    this.imageObj.onunload = function() {\n",
287       "        fig.ws.close();\n",
288       "    }\n",
289       "\n",
290       "    this.ws.onmessage = this._make_on_message_function(this);\n",
291       "\n",
292       "    this.ondownload = ondownload;\n",
293       "}\n",
294       "\n",
295       "mpl.figure.prototype._init_header = function() {\n",
296       "    var titlebar = $(\n",
297       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
298       "        'ui-helper-clearfix\"/>');\n",
299       "    var titletext = $(\n",
300       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
301       "        'text-align: center; padding: 3px;\"/>');\n",
302       "    titlebar.append(titletext)\n",
303       "    this.root.append(titlebar);\n",
304       "    this.header = titletext[0];\n",
305       "}\n",
306       "\n",
307       "\n",
308       "\n",
309       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
310       "\n",
311       "}\n",
312       "\n",
313       "\n",
314       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
315       "\n",
316       "}\n",
317       "\n",
318       "mpl.figure.prototype._init_canvas = function() {\n",
319       "    var fig = this;\n",
320       "\n",
321       "    var canvas_div = $('<div/>');\n",
322       "\n",
323       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
324       "\n",
325       "    function canvas_keyboard_event(event) {\n",
326       "        return fig.key_event(event, event['data']);\n",
327       "    }\n",
328       "\n",
329       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
330       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
331       "    this.canvas_div = canvas_div\n",
332       "    this._canvas_extra_style(canvas_div)\n",
333       "    this.root.append(canvas_div);\n",
334       "\n",
335       "    var canvas = $('<canvas/>');\n",
336       "    canvas.addClass('mpl-canvas');\n",
337       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
338       "\n",
339       "    this.canvas = canvas[0];\n",
340       "    this.context = canvas[0].getContext(\"2d\");\n",
341       "\n",
342       "    var backingStore = this.context.backingStorePixelRatio ||\n",
343       "\tthis.context.webkitBackingStorePixelRatio ||\n",
344       "\tthis.context.mozBackingStorePixelRatio ||\n",
345       "\tthis.context.msBackingStorePixelRatio ||\n",
346       "\tthis.context.oBackingStorePixelRatio ||\n",
347       "\tthis.context.backingStorePixelRatio || 1;\n",
348       "\n",
349       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
350       "\n",
351       "    var rubberband = $('<canvas/>');\n",
352       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
353       "\n",
354       "    var pass_mouse_events = true;\n",
355       "\n",
356       "    canvas_div.resizable({\n",
357       "        start: function(event, ui) {\n",
358       "            pass_mouse_events = false;\n",
359       "        },\n",
360       "        resize: function(event, ui) {\n",
361       "            fig.request_resize(ui.size.width, ui.size.height);\n",
362       "        },\n",
363       "        stop: function(event, ui) {\n",
364       "            pass_mouse_events = true;\n",
365       "            fig.request_resize(ui.size.width, ui.size.height);\n",
366       "        },\n",
367       "    });\n",
368       "\n",
369       "    function mouse_event_fn(event) {\n",
370       "        if (pass_mouse_events)\n",
371       "            return fig.mouse_event(event, event['data']);\n",
372       "    }\n",
373       "\n",
374       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
375       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
376       "    // Throttle sequential mouse events to 1 every 20ms.\n",
377       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
378       "\n",
379       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
380       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
381       "\n",
382       "    canvas_div.on(\"wheel\", function (event) {\n",
383       "        event = event.originalEvent;\n",
384       "        event['data'] = 'scroll'\n",
385       "        if (event.deltaY < 0) {\n",
386       "            event.step = 1;\n",
387       "        } else {\n",
388       "            event.step = -1;\n",
389       "        }\n",
390       "        mouse_event_fn(event);\n",
391       "    });\n",
392       "\n",
393       "    canvas_div.append(canvas);\n",
394       "    canvas_div.append(rubberband);\n",
395       "\n",
396       "    this.rubberband = rubberband;\n",
397       "    this.rubberband_canvas = rubberband[0];\n",
398       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
399       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
400       "\n",
401       "    this._resize_canvas = function(width, height) {\n",
402       "        // Keep the size of the canvas, canvas container, and rubber band\n",
403       "        // canvas in sync.\n",
404       "        canvas_div.css('width', width)\n",
405       "        canvas_div.css('height', height)\n",
406       "\n",
407       "        canvas.attr('width', width * mpl.ratio);\n",
408       "        canvas.attr('height', height * mpl.ratio);\n",
409       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
410       "\n",
411       "        rubberband.attr('width', width);\n",
412       "        rubberband.attr('height', height);\n",
413       "    }\n",
414       "\n",
415       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
416       "    // upon first draw.\n",
417       "    this._resize_canvas(600, 600);\n",
418       "\n",
419       "    // Disable right mouse context menu.\n",
420       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
421       "        return false;\n",
422       "    });\n",
423       "\n",
424       "    function set_focus () {\n",
425       "        canvas.focus();\n",
426       "        canvas_div.focus();\n",
427       "    }\n",
428       "\n",
429       "    window.setTimeout(set_focus, 100);\n",
430       "}\n",
431       "\n",
432       "mpl.figure.prototype._init_toolbar = function() {\n",
433       "    var fig = this;\n",
434       "\n",
435       "    var nav_element = $('<div/>');\n",
436       "    nav_element.attr('style', 'width: 100%');\n",
437       "    this.root.append(nav_element);\n",
438       "\n",
439       "    // Define a callback function for later on.\n",
440       "    function toolbar_event(event) {\n",
441       "        return fig.toolbar_button_onclick(event['data']);\n",
442       "    }\n",
443       "    function toolbar_mouse_event(event) {\n",
444       "        return fig.toolbar_button_onmouseover(event['data']);\n",
445       "    }\n",
446       "\n",
447       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
448       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
449       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
450       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
451       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
452       "\n",
453       "        if (!name) {\n",
454       "            // put a spacer in here.\n",
455       "            continue;\n",
456       "        }\n",
457       "        var button = $('<button/>');\n",
458       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
459       "                        'ui-button-icon-only');\n",
460       "        button.attr('role', 'button');\n",
461       "        button.attr('aria-disabled', 'false');\n",
462       "        button.click(method_name, toolbar_event);\n",
463       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
464       "\n",
465       "        var icon_img = $('<span/>');\n",
466       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
467       "        icon_img.addClass(image);\n",
468       "        icon_img.addClass('ui-corner-all');\n",
469       "\n",
470       "        var tooltip_span = $('<span/>');\n",
471       "        tooltip_span.addClass('ui-button-text');\n",
472       "        tooltip_span.html(tooltip);\n",
473       "\n",
474       "        button.append(icon_img);\n",
475       "        button.append(tooltip_span);\n",
476       "\n",
477       "        nav_element.append(button);\n",
478       "    }\n",
479       "\n",
480       "    var fmt_picker_span = $('<span/>');\n",
481       "\n",
482       "    var fmt_picker = $('<select/>');\n",
483       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
484       "    fmt_picker_span.append(fmt_picker);\n",
485       "    nav_element.append(fmt_picker_span);\n",
486       "    this.format_dropdown = fmt_picker[0];\n",
487       "\n",
488       "    for (var ind in mpl.extensions) {\n",
489       "        var fmt = mpl.extensions[ind];\n",
490       "        var option = $(\n",
491       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
492       "        fmt_picker.append(option);\n",
493       "    }\n",
494       "\n",
495       "    // Add hover states to the ui-buttons\n",
496       "    $( \".ui-button\" ).hover(\n",
497       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
498       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
499       "    );\n",
500       "\n",
501       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
502       "    nav_element.append(status_bar);\n",
503       "    this.message = status_bar[0];\n",
504       "}\n",
505       "\n",
506       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
507       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
508       "    // which will in turn request a refresh of the image.\n",
509       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
510       "}\n",
511       "\n",
512       "mpl.figure.prototype.send_message = function(type, properties) {\n",
513       "    properties['type'] = type;\n",
514       "    properties['figure_id'] = this.id;\n",
515       "    this.ws.send(JSON.stringify(properties));\n",
516       "}\n",
517       "\n",
518       "mpl.figure.prototype.send_draw_message = function() {\n",
519       "    if (!this.waiting) {\n",
520       "        this.waiting = true;\n",
521       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
522       "    }\n",
523       "}\n",
524       "\n",
525       "\n",
526       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
527       "    var format_dropdown = fig.format_dropdown;\n",
528       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
529       "    fig.ondownload(fig, format);\n",
530       "}\n",
531       "\n",
532       "\n",
533       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
534       "    var size = msg['size'];\n",
535       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
536       "        fig._resize_canvas(size[0], size[1]);\n",
537       "        fig.send_message(\"refresh\", {});\n",
538       "    };\n",
539       "}\n",
540       "\n",
541       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
542       "    var x0 = msg['x0'] / mpl.ratio;\n",
543       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
544       "    var x1 = msg['x1'] / mpl.ratio;\n",
545       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
546       "    x0 = Math.floor(x0) + 0.5;\n",
547       "    y0 = Math.floor(y0) + 0.5;\n",
548       "    x1 = Math.floor(x1) + 0.5;\n",
549       "    y1 = Math.floor(y1) + 0.5;\n",
550       "    var min_x = Math.min(x0, x1);\n",
551       "    var min_y = Math.min(y0, y1);\n",
552       "    var width = Math.abs(x1 - x0);\n",
553       "    var height = Math.abs(y1 - y0);\n",
554       "\n",
555       "    fig.rubberband_context.clearRect(\n",
556       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
557       "\n",
558       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
559       "}\n",
560       "\n",
561       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
562       "    // Updates the figure title.\n",
563       "    fig.header.textContent = msg['label'];\n",
564       "}\n",
565       "\n",
566       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
567       "    var cursor = msg['cursor'];\n",
568       "    switch(cursor)\n",
569       "    {\n",
570       "    case 0:\n",
571       "        cursor = 'pointer';\n",
572       "        break;\n",
573       "    case 1:\n",
574       "        cursor = 'default';\n",
575       "        break;\n",
576       "    case 2:\n",
577       "        cursor = 'crosshair';\n",
578       "        break;\n",
579       "    case 3:\n",
580       "        cursor = 'move';\n",
581       "        break;\n",
582       "    }\n",
583       "    fig.rubberband_canvas.style.cursor = cursor;\n",
584       "}\n",
585       "\n",
586       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
587       "    fig.message.textContent = msg['message'];\n",
588       "}\n",
589       "\n",
590       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
591       "    // Request the server to send over a new figure.\n",
592       "    fig.send_draw_message();\n",
593       "}\n",
594       "\n",
595       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
596       "    fig.image_mode = msg['mode'];\n",
597       "}\n",
598       "\n",
599       "mpl.figure.prototype.updated_canvas_event = function() {\n",
600       "    // Called whenever the canvas gets updated.\n",
601       "    this.send_message(\"ack\", {});\n",
602       "}\n",
603       "\n",
604       "// A function to construct a web socket function for onmessage handling.\n",
605       "// Called in the figure constructor.\n",
606       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
607       "    return function socket_on_message(evt) {\n",
608       "        if (evt.data instanceof Blob) {\n",
609       "            /* FIXME: We get \"Resource interpreted as Image but\n",
610       "             * transferred with MIME type text/plain:\" errors on\n",
611       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
612       "             * to be part of the websocket stream */\n",
613       "            evt.data.type = \"image/png\";\n",
614       "\n",
615       "            /* Free the memory for the previous frames */\n",
616       "            if (fig.imageObj.src) {\n",
617       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
618       "                    fig.imageObj.src);\n",
619       "            }\n",
620       "\n",
621       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
622       "                evt.data);\n",
623       "            fig.updated_canvas_event();\n",
624       "            fig.waiting = false;\n",
625       "            return;\n",
626       "        }\n",
627       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
628       "            fig.imageObj.src = evt.data;\n",
629       "            fig.updated_canvas_event();\n",
630       "            fig.waiting = false;\n",
631       "            return;\n",
632       "        }\n",
633       "\n",
634       "        var msg = JSON.parse(evt.data);\n",
635       "        var msg_type = msg['type'];\n",
636       "\n",
637       "        // Call the  \"handle_{type}\" callback, which takes\n",
638       "        // the figure and JSON message as its only arguments.\n",
639       "        try {\n",
640       "            var callback = fig[\"handle_\" + msg_type];\n",
641       "        } catch (e) {\n",
642       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
643       "            return;\n",
644       "        }\n",
645       "\n",
646       "        if (callback) {\n",
647       "            try {\n",
648       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
649       "                callback(fig, msg);\n",
650       "            } catch (e) {\n",
651       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
652       "            }\n",
653       "        }\n",
654       "    };\n",
655       "}\n",
656       "\n",
657       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
658       "mpl.findpos = function(e) {\n",
659       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
660       "    var targ;\n",
661       "    if (!e)\n",
662       "        e = window.event;\n",
663       "    if (e.target)\n",
664       "        targ = e.target;\n",
665       "    else if (e.srcElement)\n",
666       "        targ = e.srcElement;\n",
667       "    if (targ.nodeType == 3) // defeat Safari bug\n",
668       "        targ = targ.parentNode;\n",
669       "\n",
670       "    // jQuery normalizes the pageX and pageY\n",
671       "    // pageX,Y are the mouse positions relative to the document\n",
672       "    // offset() returns the position of the element relative to the document\n",
673       "    var x = e.pageX - $(targ).offset().left;\n",
674       "    var y = e.pageY - $(targ).offset().top;\n",
675       "\n",
676       "    return {\"x\": x, \"y\": y};\n",
677       "};\n",
678       "\n",
679       "/*\n",
680       " * return a copy of an object with only non-object keys\n",
681       " * we need this to avoid circular references\n",
682       " * http://stackoverflow.com/a/24161582/3208463\n",
683       " */\n",
684       "function simpleKeys (original) {\n",
685       "  return Object.keys(original).reduce(function (obj, key) {\n",
686       "    if (typeof original[key] !== 'object')\n",
687       "        obj[key] = original[key]\n",
688       "    return obj;\n",
689       "  }, {});\n",
690       "}\n",
691       "\n",
692       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
693       "    var canvas_pos = mpl.findpos(event)\n",
694       "\n",
695       "    if (name === 'button_press')\n",
696       "    {\n",
697       "        this.canvas.focus();\n",
698       "        this.canvas_div.focus();\n",
699       "    }\n",
700       "\n",
701       "    var x = canvas_pos.x * mpl.ratio;\n",
702       "    var y = canvas_pos.y * mpl.ratio;\n",
703       "\n",
704       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
705       "                             step: event.step,\n",
706       "                             guiEvent: simpleKeys(event)});\n",
707       "\n",
708       "    /* This prevents the web browser from automatically changing to\n",
709       "     * the text insertion cursor when the button is pressed.  We want\n",
710       "     * to control all of the cursor setting manually through the\n",
711       "     * 'cursor' event from matplotlib */\n",
712       "    event.preventDefault();\n",
713       "    return false;\n",
714       "}\n",
715       "\n",
716       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
717       "    // Handle any extra behaviour associated with a key event\n",
718       "}\n",
719       "\n",
720       "mpl.figure.prototype.key_event = function(event, name) {\n",
721       "\n",
722       "    // Prevent repeat events\n",
723       "    if (name == 'key_press')\n",
724       "    {\n",
725       "        if (event.which === this._key)\n",
726       "            return;\n",
727       "        else\n",
728       "            this._key = event.which;\n",
729       "    }\n",
730       "    if (name == 'key_release')\n",
731       "        this._key = null;\n",
732       "\n",
733       "    var value = '';\n",
734       "    if (event.ctrlKey && event.which != 17)\n",
735       "        value += \"ctrl+\";\n",
736       "    if (event.altKey && event.which != 18)\n",
737       "        value += \"alt+\";\n",
738       "    if (event.shiftKey && event.which != 16)\n",
739       "        value += \"shift+\";\n",
740       "\n",
741       "    value += 'k';\n",
742       "    value += event.which.toString();\n",
743       "\n",
744       "    this._key_event_extra(event, name);\n",
745       "\n",
746       "    this.send_message(name, {key: value,\n",
747       "                             guiEvent: simpleKeys(event)});\n",
748       "    return false;\n",
749       "}\n",
750       "\n",
751       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
752       "    if (name == 'download') {\n",
753       "        this.handle_save(this, null);\n",
754       "    } else {\n",
755       "        this.send_message(\"toolbar_button\", {name: name});\n",
756       "    }\n",
757       "};\n",
758       "\n",
759       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
760       "    this.message.textContent = tooltip;\n",
761       "};\n",
762       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
763       "\n",
764       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
765       "\n",
766       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
767       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
768       "    // object with the appropriate methods. Currently this is a non binary\n",
769       "    // socket, so there is still some room for performance tuning.\n",
770       "    var ws = {};\n",
771       "\n",
772       "    ws.close = function() {\n",
773       "        comm.close()\n",
774       "    };\n",
775       "    ws.send = function(m) {\n",
776       "        //console.log('sending', m);\n",
777       "        comm.send(m);\n",
778       "    };\n",
779       "    // Register the callback with on_msg.\n",
780       "    comm.on_msg(function(msg) {\n",
781       "        //console.log('receiving', msg['content']['data'], msg);\n",
782       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
783       "        ws.onmessage(msg['content']['data'])\n",
784       "    });\n",
785       "    return ws;\n",
786       "}\n",
787       "\n",
788       "mpl.mpl_figure_comm = function(comm, msg) {\n",
789       "    // This is the function which gets called when the mpl process\n",
790       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
791       "\n",
792       "    var id = msg.content.data.id;\n",
793       "    // Get hold of the div created by the display call when the Comm\n",
794       "    // socket was opened in Python.\n",
795       "    var element = $(\"#\" + id);\n",
796       "    var ws_proxy = comm_websocket_adapter(comm)\n",
797       "\n",
798       "    function ondownload(figure, format) {\n",
799       "        window.open(figure.imageObj.src);\n",
800       "    }\n",
801       "\n",
802       "    var fig = new mpl.figure(id, ws_proxy,\n",
803       "                           ondownload,\n",
804       "                           element.get(0));\n",
805       "\n",
806       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
807       "    // web socket which is closed, not our websocket->open comm proxy.\n",
808       "    ws_proxy.onopen();\n",
809       "\n",
810       "    fig.parent_element = element.get(0);\n",
811       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
812       "    if (!fig.cell_info) {\n",
813       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
814       "        return;\n",
815       "    }\n",
816       "\n",
817       "    var output_index = fig.cell_info[2]\n",
818       "    var cell = fig.cell_info[0];\n",
819       "\n",
820       "};\n",
821       "\n",
822       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
823       "    var width = fig.canvas.width/mpl.ratio\n",
824       "    fig.root.unbind('remove')\n",
825       "\n",
826       "    // Update the output cell to use the data from the current canvas.\n",
827       "    fig.push_to_output();\n",
828       "    var dataURL = fig.canvas.toDataURL();\n",
829       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
830       "    // the notebook keyboard shortcuts fail.\n",
831       "    IPython.keyboard_manager.enable()\n",
832       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
833       "    fig.close_ws(fig, msg);\n",
834       "}\n",
835       "\n",
836       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
837       "    fig.send_message('closing', msg);\n",
838       "    // fig.ws.close()\n",
839       "}\n",
840       "\n",
841       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
842       "    // Turn the data on the canvas into data in the output cell.\n",
843       "    var width = this.canvas.width/mpl.ratio\n",
844       "    var dataURL = this.canvas.toDataURL();\n",
845       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
846       "}\n",
847       "\n",
848       "mpl.figure.prototype.updated_canvas_event = function() {\n",
849       "    // Tell IPython that the notebook contents must change.\n",
850       "    IPython.notebook.set_dirty(true);\n",
851       "    this.send_message(\"ack\", {});\n",
852       "    var fig = this;\n",
853       "    // Wait a second, then push the new image to the DOM so\n",
854       "    // that it is saved nicely (might be nice to debounce this).\n",
855       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
856       "}\n",
857       "\n",
858       "mpl.figure.prototype._init_toolbar = function() {\n",
859       "    var fig = this;\n",
860       "\n",
861       "    var nav_element = $('<div/>');\n",
862       "    nav_element.attr('style', 'width: 100%');\n",
863       "    this.root.append(nav_element);\n",
864       "\n",
865       "    // Define a callback function for later on.\n",
866       "    function toolbar_event(event) {\n",
867       "        return fig.toolbar_button_onclick(event['data']);\n",
868       "    }\n",
869       "    function toolbar_mouse_event(event) {\n",
870       "        return fig.toolbar_button_onmouseover(event['data']);\n",
871       "    }\n",
872       "\n",
873       "    for(var toolbar_ind in mpl.toolbar_items){\n",
874       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
875       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
876       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
877       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
878       "\n",
879       "        if (!name) { continue; };\n",
880       "\n",
881       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
882       "        button.click(method_name, toolbar_event);\n",
883       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
884       "        nav_element.append(button);\n",
885       "    }\n",
886       "\n",
887       "    // Add the status bar.\n",
888       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
889       "    nav_element.append(status_bar);\n",
890       "    this.message = status_bar[0];\n",
891       "\n",
892       "    // Add the close button to the window.\n",
893       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
894       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
895       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
896       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
897       "    buttongrp.append(button);\n",
898       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
899       "    titlebar.prepend(buttongrp);\n",
900       "}\n",
901       "\n",
902       "mpl.figure.prototype._root_extra_style = function(el){\n",
903       "    var fig = this\n",
904       "    el.on(\"remove\", function(){\n",
905       "\tfig.close_ws(fig, {});\n",
906       "    });\n",
907       "}\n",
908       "\n",
909       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
910       "    // this is important to make the div 'focusable\n",
911       "    el.attr('tabindex', 0)\n",
912       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
913       "    // off when our div gets focus\n",
914       "\n",
915       "    // location in version 3\n",
916       "    if (IPython.notebook.keyboard_manager) {\n",
917       "        IPython.notebook.keyboard_manager.register_events(el);\n",
918       "    }\n",
919       "    else {\n",
920       "        // location in version 2\n",
921       "        IPython.keyboard_manager.register_events(el);\n",
922       "    }\n",
923       "\n",
924       "}\n",
925       "\n",
926       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
927       "    var manager = IPython.notebook.keyboard_manager;\n",
928       "    if (!manager)\n",
929       "        manager = IPython.keyboard_manager;\n",
930       "\n",
931       "    // Check for shift+enter\n",
932       "    if (event.shiftKey && event.which == 13) {\n",
933       "        this.canvas_div.blur();\n",
934       "        // select the cell after this one\n",
935       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
936       "        IPython.notebook.select(index + 1);\n",
937       "    }\n",
938       "}\n",
939       "\n",
940       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
941       "    fig.ondownload(fig, null);\n",
942       "}\n",
943       "\n",
944       "\n",
945       "mpl.find_output_cell = function(html_output) {\n",
946       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
947       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
948       "    // IPython event is triggered only after the cells have been serialised, which for\n",
949       "    // our purposes (turning an active figure into a static one), is too late.\n",
950       "    var cells = IPython.notebook.get_cells();\n",
951       "    var ncells = cells.length;\n",
952       "    for (var i=0; i<ncells; i++) {\n",
953       "        var cell = cells[i];\n",
954       "        if (cell.cell_type === 'code'){\n",
955       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
956       "                var data = cell.output_area.outputs[j];\n",
957       "                if (data.data) {\n",
958       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
959       "                    data = data.data;\n",
960       "                }\n",
961       "                if (data['text/html'] == html_output) {\n",
962       "                    return [cell, data, j];\n",
963       "                }\n",
964       "            }\n",
965       "        }\n",
966       "    }\n",
967       "}\n",
968       "\n",
969       "// Register the function which deals with the matplotlib target/channel.\n",
970       "// The kernel may be null if the page has been refreshed.\n",
971       "if (IPython.notebook.kernel != null) {\n",
972       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
973       "}\n"
974      ],
975      "text/plain": [
976       "<IPython.core.display.Javascript object>"
977      ]
978     },
979     "metadata": {},
980     "output_type": "display_data"
981    },
982    {
983     "data": {
984      "text/html": [
985       "<img src=\"data:image/png;base64,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\" width=\"639.85\">"
986      ],
987      "text/plain": [
988       "<IPython.core.display.HTML object>"
989      ]
990     },
991     "metadata": {},
992     "output_type": "display_data"
993    },
994    {
995     "data": {
996      "text/plain": [
997       "(-4.0, 4.0)"
998      ]
999     },
1000     "execution_count": 11,
1001     "metadata": {},
1002     "output_type": "execute_result"
1003    }
1004   ],
1005   "source": [
1006    "# We reinstantiate the spacecraft orbit for convenience.\n",
1007    "hera = pk.planet.spice('-999', 'SUN', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100, 100) \n",
1008    "# These are the solar system plants anorbiting objects we are intrerested in\n",
1009    "earth = pk.planet.spice('EARTH', 'SUN', 'ECLIPJ2000', 'NONE', pk.MU_SUN, pk.MU_EARTH, pk.EARTH_RADIUS, pk.EARTH_RADIUS*1.05) \n",
1010    "mars = pk.planet.spice('4', 'SUN', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100,100) \n",
1011    "didymos = pk.planet.spice('2065803', 'SUN', 'ECLIPJ2000', 'NONE', pk.MU_SUN, 100, 100, 100) \n",
1012    "\n",
1013    "# And these are the plotting commands\n",
1014    "ax = pk.orbit_plots.plot_planet(hera, t0 = launch, tf = arrival, N=500, units=pk.AU)\n",
1015    "pk.orbit_plots.plot_planet(earth, t0 = launch, axes=ax, color = 'b', units=pk.AU)\n",
1016    "pk.orbit_plots.plot_planet(mars, t0 = flyby, axes=ax, color='r', units=pk.AU)\n",
1017    "pk.orbit_plots.plot_planet(didymos, t0 = launch, axes=ax, color='g', units=pk.AU)\n",
1018    "ax.set_xlim(-4,4)\n",
1019    "ax.set_ylim(-4,4)"
1020   ]
1021  },
1022  {
1023   "cell_type": "markdown",
1024   "metadata": {},
1025   "source": [
1026    "## Plotting other relevant quantities"
1027   ]
1028  },
1029  {
1030   "cell_type": "code",
1031   "execution_count": 12,
1032   "metadata": {},
1033   "outputs": [],
1034   "source": [
1035    "# Say we are interested in the HERA-EARTH distance.\n",
1036    "tspan = np.linspace(launch.jd, arrival.jd, 100)\n",
1037    "Reh = []\n",
1038    "Red = []\n",
1039    "for jd in tspan:\n",
1040    "    r1, _ = hera_wrt_earth.eph(pk.epoch(jd, 'jd'))\n",
1041    "    r2, _ = hera_wrt_didymos.eph(pk.epoch(jd, 'jd'))\n",
1042    "    Reh.append(np.linalg.norm(r1) / pk.AU)\n",
1043    "    Red.append(np.linalg.norm(r2) / pk.AU)\n",
1044    "\n"
1045   ]
1046  },
1047  {
1048   "cell_type": "code",
1049   "execution_count": 13,
1050   "metadata": {},
1051   "outputs": [
1052    {
1053     "data": {
1054      "application/javascript": [
1055       "/* Put everything inside the global mpl namespace */\n",
1056       "window.mpl = {};\n",
1057       "\n",
1058       "\n",
1059       "mpl.get_websocket_type = function() {\n",
1060       "    if (typeof(WebSocket) !== 'undefined') {\n",
1061       "        return WebSocket;\n",
1062       "    } else if (typeof(MozWebSocket) !== 'undefined') {\n",
1063       "        return MozWebSocket;\n",
1064       "    } else {\n",
1065       "        alert('Your browser does not have WebSocket support. ' +\n",
1066       "              'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
1067       "              'Firefox 4 and 5 are also supported but you ' +\n",
1068       "              'have to enable WebSockets in about:config.');\n",
1069       "    };\n",
1070       "}\n",
1071       "\n",
1072       "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
1073       "    this.id = figure_id;\n",
1074       "\n",
1075       "    this.ws = websocket;\n",
1076       "\n",
1077       "    this.supports_binary = (this.ws.binaryType != undefined);\n",
1078       "\n",
1079       "    if (!this.supports_binary) {\n",
1080       "        var warnings = document.getElementById(\"mpl-warnings\");\n",
1081       "        if (warnings) {\n",
1082       "            warnings.style.display = 'block';\n",
1083       "            warnings.textContent = (\n",
1084       "                \"This browser does not support binary websocket messages. \" +\n",
1085       "                    \"Performance may be slow.\");\n",
1086       "        }\n",
1087       "    }\n",
1088       "\n",
1089       "    this.imageObj = new Image();\n",
1090       "\n",
1091       "    this.context = undefined;\n",
1092       "    this.message = undefined;\n",
1093       "    this.canvas = undefined;\n",
1094       "    this.rubberband_canvas = undefined;\n",
1095       "    this.rubberband_context = undefined;\n",
1096       "    this.format_dropdown = undefined;\n",
1097       "\n",
1098       "    this.image_mode = 'full';\n",
1099       "\n",
1100       "    this.root = $('<div/>');\n",
1101       "    this._root_extra_style(this.root)\n",
1102       "    this.root.attr('style', 'display: inline-block');\n",
1103       "\n",
1104       "    $(parent_element).append(this.root);\n",
1105       "\n",
1106       "    this._init_header(this);\n",
1107       "    this._init_canvas(this);\n",
1108       "    this._init_toolbar(this);\n",
1109       "\n",
1110       "    var fig = this;\n",
1111       "\n",
1112       "    this.waiting = false;\n",
1113       "\n",
1114       "    this.ws.onopen =  function () {\n",
1115       "            fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
1116       "            fig.send_message(\"send_image_mode\", {});\n",
1117       "            if (mpl.ratio != 1) {\n",
1118       "                fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
1119       "            }\n",
1120       "            fig.send_message(\"refresh\", {});\n",
1121       "        }\n",
1122       "\n",
1123       "    this.imageObj.onload = function() {\n",
1124       "            if (fig.image_mode == 'full') {\n",
1125       "                // Full images could contain transparency (where diff images\n",
1126       "                // almost always do), so we need to clear the canvas so that\n",
1127       "                // there is no ghosting.\n",
1128       "                fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
1129       "            }\n",
1130       "            fig.context.drawImage(fig.imageObj, 0, 0);\n",
1131       "        };\n",
1132       "\n",
1133       "    this.imageObj.onunload = function() {\n",
1134       "        fig.ws.close();\n",
1135       "    }\n",
1136       "\n",
1137       "    this.ws.onmessage = this._make_on_message_function(this);\n",
1138       "\n",
1139       "    this.ondownload = ondownload;\n",
1140       "}\n",
1141       "\n",
1142       "mpl.figure.prototype._init_header = function() {\n",
1143       "    var titlebar = $(\n",
1144       "        '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
1145       "        'ui-helper-clearfix\"/>');\n",
1146       "    var titletext = $(\n",
1147       "        '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
1148       "        'text-align: center; padding: 3px;\"/>');\n",
1149       "    titlebar.append(titletext)\n",
1150       "    this.root.append(titlebar);\n",
1151       "    this.header = titletext[0];\n",
1152       "}\n",
1153       "\n",
1154       "\n",
1155       "\n",
1156       "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
1157       "\n",
1158       "}\n",
1159       "\n",
1160       "\n",
1161       "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
1162       "\n",
1163       "}\n",
1164       "\n",
1165       "mpl.figure.prototype._init_canvas = function() {\n",
1166       "    var fig = this;\n",
1167       "\n",
1168       "    var canvas_div = $('<div/>');\n",
1169       "\n",
1170       "    canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
1171       "\n",
1172       "    function canvas_keyboard_event(event) {\n",
1173       "        return fig.key_event(event, event['data']);\n",
1174       "    }\n",
1175       "\n",
1176       "    canvas_div.keydown('key_press', canvas_keyboard_event);\n",
1177       "    canvas_div.keyup('key_release', canvas_keyboard_event);\n",
1178       "    this.canvas_div = canvas_div\n",
1179       "    this._canvas_extra_style(canvas_div)\n",
1180       "    this.root.append(canvas_div);\n",
1181       "\n",
1182       "    var canvas = $('<canvas/>');\n",
1183       "    canvas.addClass('mpl-canvas');\n",
1184       "    canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
1185       "\n",
1186       "    this.canvas = canvas[0];\n",
1187       "    this.context = canvas[0].getContext(\"2d\");\n",
1188       "\n",
1189       "    var backingStore = this.context.backingStorePixelRatio ||\n",
1190       "\tthis.context.webkitBackingStorePixelRatio ||\n",
1191       "\tthis.context.mozBackingStorePixelRatio ||\n",
1192       "\tthis.context.msBackingStorePixelRatio ||\n",
1193       "\tthis.context.oBackingStorePixelRatio ||\n",
1194       "\tthis.context.backingStorePixelRatio || 1;\n",
1195       "\n",
1196       "    mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
1197       "\n",
1198       "    var rubberband = $('<canvas/>');\n",
1199       "    rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
1200       "\n",
1201       "    var pass_mouse_events = true;\n",
1202       "\n",
1203       "    canvas_div.resizable({\n",
1204       "        start: function(event, ui) {\n",
1205       "            pass_mouse_events = false;\n",
1206       "        },\n",
1207       "        resize: function(event, ui) {\n",
1208       "            fig.request_resize(ui.size.width, ui.size.height);\n",
1209       "        },\n",
1210       "        stop: function(event, ui) {\n",
1211       "            pass_mouse_events = true;\n",
1212       "            fig.request_resize(ui.size.width, ui.size.height);\n",
1213       "        },\n",
1214       "    });\n",
1215       "\n",
1216       "    function mouse_event_fn(event) {\n",
1217       "        if (pass_mouse_events)\n",
1218       "            return fig.mouse_event(event, event['data']);\n",
1219       "    }\n",
1220       "\n",
1221       "    rubberband.mousedown('button_press', mouse_event_fn);\n",
1222       "    rubberband.mouseup('button_release', mouse_event_fn);\n",
1223       "    // Throttle sequential mouse events to 1 every 20ms.\n",
1224       "    rubberband.mousemove('motion_notify', mouse_event_fn);\n",
1225       "\n",
1226       "    rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
1227       "    rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
1228       "\n",
1229       "    canvas_div.on(\"wheel\", function (event) {\n",
1230       "        event = event.originalEvent;\n",
1231       "        event['data'] = 'scroll'\n",
1232       "        if (event.deltaY < 0) {\n",
1233       "            event.step = 1;\n",
1234       "        } else {\n",
1235       "            event.step = -1;\n",
1236       "        }\n",
1237       "        mouse_event_fn(event);\n",
1238       "    });\n",
1239       "\n",
1240       "    canvas_div.append(canvas);\n",
1241       "    canvas_div.append(rubberband);\n",
1242       "\n",
1243       "    this.rubberband = rubberband;\n",
1244       "    this.rubberband_canvas = rubberband[0];\n",
1245       "    this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
1246       "    this.rubberband_context.strokeStyle = \"#000000\";\n",
1247       "\n",
1248       "    this._resize_canvas = function(width, height) {\n",
1249       "        // Keep the size of the canvas, canvas container, and rubber band\n",
1250       "        // canvas in sync.\n",
1251       "        canvas_div.css('width', width)\n",
1252       "        canvas_div.css('height', height)\n",
1253       "\n",
1254       "        canvas.attr('width', width * mpl.ratio);\n",
1255       "        canvas.attr('height', height * mpl.ratio);\n",
1256       "        canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
1257       "\n",
1258       "        rubberband.attr('width', width);\n",
1259       "        rubberband.attr('height', height);\n",
1260       "    }\n",
1261       "\n",
1262       "    // Set the figure to an initial 600x600px, this will subsequently be updated\n",
1263       "    // upon first draw.\n",
1264       "    this._resize_canvas(600, 600);\n",
1265       "\n",
1266       "    // Disable right mouse context menu.\n",
1267       "    $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
1268       "        return false;\n",
1269       "    });\n",
1270       "\n",
1271       "    function set_focus () {\n",
1272       "        canvas.focus();\n",
1273       "        canvas_div.focus();\n",
1274       "    }\n",
1275       "\n",
1276       "    window.setTimeout(set_focus, 100);\n",
1277       "}\n",
1278       "\n",
1279       "mpl.figure.prototype._init_toolbar = function() {\n",
1280       "    var fig = this;\n",
1281       "\n",
1282       "    var nav_element = $('<div/>');\n",
1283       "    nav_element.attr('style', 'width: 100%');\n",
1284       "    this.root.append(nav_element);\n",
1285       "\n",
1286       "    // Define a callback function for later on.\n",
1287       "    function toolbar_event(event) {\n",
1288       "        return fig.toolbar_button_onclick(event['data']);\n",
1289       "    }\n",
1290       "    function toolbar_mouse_event(event) {\n",
1291       "        return fig.toolbar_button_onmouseover(event['data']);\n",
1292       "    }\n",
1293       "\n",
1294       "    for(var toolbar_ind in mpl.toolbar_items) {\n",
1295       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
1296       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
1297       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
1298       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
1299       "\n",
1300       "        if (!name) {\n",
1301       "            // put a spacer in here.\n",
1302       "            continue;\n",
1303       "        }\n",
1304       "        var button = $('<button/>');\n",
1305       "        button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
1306       "                        'ui-button-icon-only');\n",
1307       "        button.attr('role', 'button');\n",
1308       "        button.attr('aria-disabled', 'false');\n",
1309       "        button.click(method_name, toolbar_event);\n",
1310       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
1311       "\n",
1312       "        var icon_img = $('<span/>');\n",
1313       "        icon_img.addClass('ui-button-icon-primary ui-icon');\n",
1314       "        icon_img.addClass(image);\n",
1315       "        icon_img.addClass('ui-corner-all');\n",
1316       "\n",
1317       "        var tooltip_span = $('<span/>');\n",
1318       "        tooltip_span.addClass('ui-button-text');\n",
1319       "        tooltip_span.html(tooltip);\n",
1320       "\n",
1321       "        button.append(icon_img);\n",
1322       "        button.append(tooltip_span);\n",
1323       "\n",
1324       "        nav_element.append(button);\n",
1325       "    }\n",
1326       "\n",
1327       "    var fmt_picker_span = $('<span/>');\n",
1328       "\n",
1329       "    var fmt_picker = $('<select/>');\n",
1330       "    fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
1331       "    fmt_picker_span.append(fmt_picker);\n",
1332       "    nav_element.append(fmt_picker_span);\n",
1333       "    this.format_dropdown = fmt_picker[0];\n",
1334       "\n",
1335       "    for (var ind in mpl.extensions) {\n",
1336       "        var fmt = mpl.extensions[ind];\n",
1337       "        var option = $(\n",
1338       "            '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
1339       "        fmt_picker.append(option);\n",
1340       "    }\n",
1341       "\n",
1342       "    // Add hover states to the ui-buttons\n",
1343       "    $( \".ui-button\" ).hover(\n",
1344       "        function() { $(this).addClass(\"ui-state-hover\");},\n",
1345       "        function() { $(this).removeClass(\"ui-state-hover\");}\n",
1346       "    );\n",
1347       "\n",
1348       "    var status_bar = $('<span class=\"mpl-message\"/>');\n",
1349       "    nav_element.append(status_bar);\n",
1350       "    this.message = status_bar[0];\n",
1351       "}\n",
1352       "\n",
1353       "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
1354       "    // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
1355       "    // which will in turn request a refresh of the image.\n",
1356       "    this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
1357       "}\n",
1358       "\n",
1359       "mpl.figure.prototype.send_message = function(type, properties) {\n",
1360       "    properties['type'] = type;\n",
1361       "    properties['figure_id'] = this.id;\n",
1362       "    this.ws.send(JSON.stringify(properties));\n",
1363       "}\n",
1364       "\n",
1365       "mpl.figure.prototype.send_draw_message = function() {\n",
1366       "    if (!this.waiting) {\n",
1367       "        this.waiting = true;\n",
1368       "        this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
1369       "    }\n",
1370       "}\n",
1371       "\n",
1372       "\n",
1373       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
1374       "    var format_dropdown = fig.format_dropdown;\n",
1375       "    var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
1376       "    fig.ondownload(fig, format);\n",
1377       "}\n",
1378       "\n",
1379       "\n",
1380       "mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
1381       "    var size = msg['size'];\n",
1382       "    if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
1383       "        fig._resize_canvas(size[0], size[1]);\n",
1384       "        fig.send_message(\"refresh\", {});\n",
1385       "    };\n",
1386       "}\n",
1387       "\n",
1388       "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
1389       "    var x0 = msg['x0'] / mpl.ratio;\n",
1390       "    var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
1391       "    var x1 = msg['x1'] / mpl.ratio;\n",
1392       "    var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
1393       "    x0 = Math.floor(x0) + 0.5;\n",
1394       "    y0 = Math.floor(y0) + 0.5;\n",
1395       "    x1 = Math.floor(x1) + 0.5;\n",
1396       "    y1 = Math.floor(y1) + 0.5;\n",
1397       "    var min_x = Math.min(x0, x1);\n",
1398       "    var min_y = Math.min(y0, y1);\n",
1399       "    var width = Math.abs(x1 - x0);\n",
1400       "    var height = Math.abs(y1 - y0);\n",
1401       "\n",
1402       "    fig.rubberband_context.clearRect(\n",
1403       "        0, 0, fig.canvas.width / mpl.ratio, fig.canvas.height / mpl.ratio);\n",
1404       "\n",
1405       "    fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
1406       "}\n",
1407       "\n",
1408       "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
1409       "    // Updates the figure title.\n",
1410       "    fig.header.textContent = msg['label'];\n",
1411       "}\n",
1412       "\n",
1413       "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
1414       "    var cursor = msg['cursor'];\n",
1415       "    switch(cursor)\n",
1416       "    {\n",
1417       "    case 0:\n",
1418       "        cursor = 'pointer';\n",
1419       "        break;\n",
1420       "    case 1:\n",
1421       "        cursor = 'default';\n",
1422       "        break;\n",
1423       "    case 2:\n",
1424       "        cursor = 'crosshair';\n",
1425       "        break;\n",
1426       "    case 3:\n",
1427       "        cursor = 'move';\n",
1428       "        break;\n",
1429       "    }\n",
1430       "    fig.rubberband_canvas.style.cursor = cursor;\n",
1431       "}\n",
1432       "\n",
1433       "mpl.figure.prototype.handle_message = function(fig, msg) {\n",
1434       "    fig.message.textContent = msg['message'];\n",
1435       "}\n",
1436       "\n",
1437       "mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
1438       "    // Request the server to send over a new figure.\n",
1439       "    fig.send_draw_message();\n",
1440       "}\n",
1441       "\n",
1442       "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
1443       "    fig.image_mode = msg['mode'];\n",
1444       "}\n",
1445       "\n",
1446       "mpl.figure.prototype.updated_canvas_event = function() {\n",
1447       "    // Called whenever the canvas gets updated.\n",
1448       "    this.send_message(\"ack\", {});\n",
1449       "}\n",
1450       "\n",
1451       "// A function to construct a web socket function for onmessage handling.\n",
1452       "// Called in the figure constructor.\n",
1453       "mpl.figure.prototype._make_on_message_function = function(fig) {\n",
1454       "    return function socket_on_message(evt) {\n",
1455       "        if (evt.data instanceof Blob) {\n",
1456       "            /* FIXME: We get \"Resource interpreted as Image but\n",
1457       "             * transferred with MIME type text/plain:\" errors on\n",
1458       "             * Chrome.  But how to set the MIME type?  It doesn't seem\n",
1459       "             * to be part of the websocket stream */\n",
1460       "            evt.data.type = \"image/png\";\n",
1461       "\n",
1462       "            /* Free the memory for the previous frames */\n",
1463       "            if (fig.imageObj.src) {\n",
1464       "                (window.URL || window.webkitURL).revokeObjectURL(\n",
1465       "                    fig.imageObj.src);\n",
1466       "            }\n",
1467       "\n",
1468       "            fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
1469       "                evt.data);\n",
1470       "            fig.updated_canvas_event();\n",
1471       "            fig.waiting = false;\n",
1472       "            return;\n",
1473       "        }\n",
1474       "        else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
1475       "            fig.imageObj.src = evt.data;\n",
1476       "            fig.updated_canvas_event();\n",
1477       "            fig.waiting = false;\n",
1478       "            return;\n",
1479       "        }\n",
1480       "\n",
1481       "        var msg = JSON.parse(evt.data);\n",
1482       "        var msg_type = msg['type'];\n",
1483       "\n",
1484       "        // Call the  \"handle_{type}\" callback, which takes\n",
1485       "        // the figure and JSON message as its only arguments.\n",
1486       "        try {\n",
1487       "            var callback = fig[\"handle_\" + msg_type];\n",
1488       "        } catch (e) {\n",
1489       "            console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
1490       "            return;\n",
1491       "        }\n",
1492       "\n",
1493       "        if (callback) {\n",
1494       "            try {\n",
1495       "                // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
1496       "                callback(fig, msg);\n",
1497       "            } catch (e) {\n",
1498       "                console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
1499       "            }\n",
1500       "        }\n",
1501       "    };\n",
1502       "}\n",
1503       "\n",
1504       "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
1505       "mpl.findpos = function(e) {\n",
1506       "    //this section is from http://www.quirksmode.org/js/events_properties.html\n",
1507       "    var targ;\n",
1508       "    if (!e)\n",
1509       "        e = window.event;\n",
1510       "    if (e.target)\n",
1511       "        targ = e.target;\n",
1512       "    else if (e.srcElement)\n",
1513       "        targ = e.srcElement;\n",
1514       "    if (targ.nodeType == 3) // defeat Safari bug\n",
1515       "        targ = targ.parentNode;\n",
1516       "\n",
1517       "    // jQuery normalizes the pageX and pageY\n",
1518       "    // pageX,Y are the mouse positions relative to the document\n",
1519       "    // offset() returns the position of the element relative to the document\n",
1520       "    var x = e.pageX - $(targ).offset().left;\n",
1521       "    var y = e.pageY - $(targ).offset().top;\n",
1522       "\n",
1523       "    return {\"x\": x, \"y\": y};\n",
1524       "};\n",
1525       "\n",
1526       "/*\n",
1527       " * return a copy of an object with only non-object keys\n",
1528       " * we need this to avoid circular references\n",
1529       " * http://stackoverflow.com/a/24161582/3208463\n",
1530       " */\n",
1531       "function simpleKeys (original) {\n",
1532       "  return Object.keys(original).reduce(function (obj, key) {\n",
1533       "    if (typeof original[key] !== 'object')\n",
1534       "        obj[key] = original[key]\n",
1535       "    return obj;\n",
1536       "  }, {});\n",
1537       "}\n",
1538       "\n",
1539       "mpl.figure.prototype.mouse_event = function(event, name) {\n",
1540       "    var canvas_pos = mpl.findpos(event)\n",
1541       "\n",
1542       "    if (name === 'button_press')\n",
1543       "    {\n",
1544       "        this.canvas.focus();\n",
1545       "        this.canvas_div.focus();\n",
1546       "    }\n",
1547       "\n",
1548       "    var x = canvas_pos.x * mpl.ratio;\n",
1549       "    var y = canvas_pos.y * mpl.ratio;\n",
1550       "\n",
1551       "    this.send_message(name, {x: x, y: y, button: event.button,\n",
1552       "                             step: event.step,\n",
1553       "                             guiEvent: simpleKeys(event)});\n",
1554       "\n",
1555       "    /* This prevents the web browser from automatically changing to\n",
1556       "     * the text insertion cursor when the button is pressed.  We want\n",
1557       "     * to control all of the cursor setting manually through the\n",
1558       "     * 'cursor' event from matplotlib */\n",
1559       "    event.preventDefault();\n",
1560       "    return false;\n",
1561       "}\n",
1562       "\n",
1563       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
1564       "    // Handle any extra behaviour associated with a key event\n",
1565       "}\n",
1566       "\n",
1567       "mpl.figure.prototype.key_event = function(event, name) {\n",
1568       "\n",
1569       "    // Prevent repeat events\n",
1570       "    if (name == 'key_press')\n",
1571       "    {\n",
1572       "        if (event.which === this._key)\n",
1573       "            return;\n",
1574       "        else\n",
1575       "            this._key = event.which;\n",
1576       "    }\n",
1577       "    if (name == 'key_release')\n",
1578       "        this._key = null;\n",
1579       "\n",
1580       "    var value = '';\n",
1581       "    if (event.ctrlKey && event.which != 17)\n",
1582       "        value += \"ctrl+\";\n",
1583       "    if (event.altKey && event.which != 18)\n",
1584       "        value += \"alt+\";\n",
1585       "    if (event.shiftKey && event.which != 16)\n",
1586       "        value += \"shift+\";\n",
1587       "\n",
1588       "    value += 'k';\n",
1589       "    value += event.which.toString();\n",
1590       "\n",
1591       "    this._key_event_extra(event, name);\n",
1592       "\n",
1593       "    this.send_message(name, {key: value,\n",
1594       "                             guiEvent: simpleKeys(event)});\n",
1595       "    return false;\n",
1596       "}\n",
1597       "\n",
1598       "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
1599       "    if (name == 'download') {\n",
1600       "        this.handle_save(this, null);\n",
1601       "    } else {\n",
1602       "        this.send_message(\"toolbar_button\", {name: name});\n",
1603       "    }\n",
1604       "};\n",
1605       "\n",
1606       "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
1607       "    this.message.textContent = tooltip;\n",
1608       "};\n",
1609       "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
1610       "\n",
1611       "mpl.extensions = [\"eps\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\"];\n",
1612       "\n",
1613       "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
1614       "    // Create a \"websocket\"-like object which calls the given IPython comm\n",
1615       "    // object with the appropriate methods. Currently this is a non binary\n",
1616       "    // socket, so there is still some room for performance tuning.\n",
1617       "    var ws = {};\n",
1618       "\n",
1619       "    ws.close = function() {\n",
1620       "        comm.close()\n",
1621       "    };\n",
1622       "    ws.send = function(m) {\n",
1623       "        //console.log('sending', m);\n",
1624       "        comm.send(m);\n",
1625       "    };\n",
1626       "    // Register the callback with on_msg.\n",
1627       "    comm.on_msg(function(msg) {\n",
1628       "        //console.log('receiving', msg['content']['data'], msg);\n",
1629       "        // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
1630       "        ws.onmessage(msg['content']['data'])\n",
1631       "    });\n",
1632       "    return ws;\n",
1633       "}\n",
1634       "\n",
1635       "mpl.mpl_figure_comm = function(comm, msg) {\n",
1636       "    // This is the function which gets called when the mpl process\n",
1637       "    // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
1638       "\n",
1639       "    var id = msg.content.data.id;\n",
1640       "    // Get hold of the div created by the display call when the Comm\n",
1641       "    // socket was opened in Python.\n",
1642       "    var element = $(\"#\" + id);\n",
1643       "    var ws_proxy = comm_websocket_adapter(comm)\n",
1644       "\n",
1645       "    function ondownload(figure, format) {\n",
1646       "        window.open(figure.imageObj.src);\n",
1647       "    }\n",
1648       "\n",
1649       "    var fig = new mpl.figure(id, ws_proxy,\n",
1650       "                           ondownload,\n",
1651       "                           element.get(0));\n",
1652       "\n",
1653       "    // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
1654       "    // web socket which is closed, not our websocket->open comm proxy.\n",
1655       "    ws_proxy.onopen();\n",
1656       "\n",
1657       "    fig.parent_element = element.get(0);\n",
1658       "    fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
1659       "    if (!fig.cell_info) {\n",
1660       "        console.error(\"Failed to find cell for figure\", id, fig);\n",
1661       "        return;\n",
1662       "    }\n",
1663       "\n",
1664       "    var output_index = fig.cell_info[2]\n",
1665       "    var cell = fig.cell_info[0];\n",
1666       "\n",
1667       "};\n",
1668       "\n",
1669       "mpl.figure.prototype.handle_close = function(fig, msg) {\n",
1670       "    var width = fig.canvas.width/mpl.ratio\n",
1671       "    fig.root.unbind('remove')\n",
1672       "\n",
1673       "    // Update the output cell to use the data from the current canvas.\n",
1674       "    fig.push_to_output();\n",
1675       "    var dataURL = fig.canvas.toDataURL();\n",
1676       "    // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
1677       "    // the notebook keyboard shortcuts fail.\n",
1678       "    IPython.keyboard_manager.enable()\n",
1679       "    $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
1680       "    fig.close_ws(fig, msg);\n",
1681       "}\n",
1682       "\n",
1683       "mpl.figure.prototype.close_ws = function(fig, msg){\n",
1684       "    fig.send_message('closing', msg);\n",
1685       "    // fig.ws.close()\n",
1686       "}\n",
1687       "\n",
1688       "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
1689       "    // Turn the data on the canvas into data in the output cell.\n",
1690       "    var width = this.canvas.width/mpl.ratio\n",
1691       "    var dataURL = this.canvas.toDataURL();\n",
1692       "    this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
1693       "}\n",
1694       "\n",
1695       "mpl.figure.prototype.updated_canvas_event = function() {\n",
1696       "    // Tell IPython that the notebook contents must change.\n",
1697       "    IPython.notebook.set_dirty(true);\n",
1698       "    this.send_message(\"ack\", {});\n",
1699       "    var fig = this;\n",
1700       "    // Wait a second, then push the new image to the DOM so\n",
1701       "    // that it is saved nicely (might be nice to debounce this).\n",
1702       "    setTimeout(function () { fig.push_to_output() }, 1000);\n",
1703       "}\n",
1704       "\n",
1705       "mpl.figure.prototype._init_toolbar = function() {\n",
1706       "    var fig = this;\n",
1707       "\n",
1708       "    var nav_element = $('<div/>');\n",
1709       "    nav_element.attr('style', 'width: 100%');\n",
1710       "    this.root.append(nav_element);\n",
1711       "\n",
1712       "    // Define a callback function for later on.\n",
1713       "    function toolbar_event(event) {\n",
1714       "        return fig.toolbar_button_onclick(event['data']);\n",
1715       "    }\n",
1716       "    function toolbar_mouse_event(event) {\n",
1717       "        return fig.toolbar_button_onmouseover(event['data']);\n",
1718       "    }\n",
1719       "\n",
1720       "    for(var toolbar_ind in mpl.toolbar_items){\n",
1721       "        var name = mpl.toolbar_items[toolbar_ind][0];\n",
1722       "        var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
1723       "        var image = mpl.toolbar_items[toolbar_ind][2];\n",
1724       "        var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
1725       "\n",
1726       "        if (!name) { continue; };\n",
1727       "\n",
1728       "        var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
1729       "        button.click(method_name, toolbar_event);\n",
1730       "        button.mouseover(tooltip, toolbar_mouse_event);\n",
1731       "        nav_element.append(button);\n",
1732       "    }\n",
1733       "\n",
1734       "    // Add the status bar.\n",
1735       "    var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
1736       "    nav_element.append(status_bar);\n",
1737       "    this.message = status_bar[0];\n",
1738       "\n",
1739       "    // Add the close button to the window.\n",
1740       "    var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
1741       "    var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
1742       "    button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
1743       "    button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
1744       "    buttongrp.append(button);\n",
1745       "    var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
1746       "    titlebar.prepend(buttongrp);\n",
1747       "}\n",
1748       "\n",
1749       "mpl.figure.prototype._root_extra_style = function(el){\n",
1750       "    var fig = this\n",
1751       "    el.on(\"remove\", function(){\n",
1752       "\tfig.close_ws(fig, {});\n",
1753       "    });\n",
1754       "}\n",
1755       "\n",
1756       "mpl.figure.prototype._canvas_extra_style = function(el){\n",
1757       "    // this is important to make the div 'focusable\n",
1758       "    el.attr('tabindex', 0)\n",
1759       "    // reach out to IPython and tell the keyboard manager to turn it's self\n",
1760       "    // off when our div gets focus\n",
1761       "\n",
1762       "    // location in version 3\n",
1763       "    if (IPython.notebook.keyboard_manager) {\n",
1764       "        IPython.notebook.keyboard_manager.register_events(el);\n",
1765       "    }\n",
1766       "    else {\n",
1767       "        // location in version 2\n",
1768       "        IPython.keyboard_manager.register_events(el);\n",
1769       "    }\n",
1770       "\n",
1771       "}\n",
1772       "\n",
1773       "mpl.figure.prototype._key_event_extra = function(event, name) {\n",
1774       "    var manager = IPython.notebook.keyboard_manager;\n",
1775       "    if (!manager)\n",
1776       "        manager = IPython.keyboard_manager;\n",
1777       "\n",
1778       "    // Check for shift+enter\n",
1779       "    if (event.shiftKey && event.which == 13) {\n",
1780       "        this.canvas_div.blur();\n",
1781       "        // select the cell after this one\n",
1782       "        var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
1783       "        IPython.notebook.select(index + 1);\n",
1784       "    }\n",
1785       "}\n",
1786       "\n",
1787       "mpl.figure.prototype.handle_save = function(fig, msg) {\n",
1788       "    fig.ondownload(fig, null);\n",
1789       "}\n",
1790       "\n",
1791       "\n",
1792       "mpl.find_output_cell = function(html_output) {\n",
1793       "    // Return the cell and output element which can be found *uniquely* in the notebook.\n",
1794       "    // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
1795       "    // IPython event is triggered only after the cells have been serialised, which for\n",
1796       "    // our purposes (turning an active figure into a static one), is too late.\n",
1797       "    var cells = IPython.notebook.get_cells();\n",
1798       "    var ncells = cells.length;\n",
1799       "    for (var i=0; i<ncells; i++) {\n",
1800       "        var cell = cells[i];\n",
1801       "        if (cell.cell_type === 'code'){\n",
1802       "            for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
1803       "                var data = cell.output_area.outputs[j];\n",
1804       "                if (data.data) {\n",
1805       "                    // IPython >= 3 moved mimebundle to data attribute of output\n",
1806       "                    data = data.data;\n",
1807       "                }\n",
1808       "                if (data['text/html'] == html_output) {\n",
1809       "                    return [cell, data, j];\n",
1810       "                }\n",
1811       "            }\n",
1812       "        }\n",
1813       "    }\n",
1814       "}\n",
1815       "\n",
1816       "// Register the function which deals with the matplotlib target/channel.\n",
1817       "// The kernel may be null if the page has been refreshed.\n",
1818       "if (IPython.notebook.kernel != null) {\n",
1819       "    IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
1820       "}\n"
1821      ],
1822      "text/plain": [
1823       "<IPython.core.display.Javascript object>"
1824      ]
1825     },
1826     "metadata": {},
1827     "output_type": "display_data"
1828    },
1829    {
1830     "data": {
1831      "text/html": [
1832       "<img src=\"data:image/png;base64,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\" width=\"639.85\">"
1833      ],
1834      "text/plain": [
1835       "<IPython.core.display.HTML object>"
1836      ]
1837     },
1838     "metadata": {},
1839     "output_type": "display_data"
1840    },
1841    {
1842     "data": {
1843      "text/plain": [
1844       "<matplotlib.legend.Legend at 0x7f1ba1e4b2d0>"
1845      ]
1846     },
1847     "execution_count": 13,
1848     "metadata": {},
1849     "output_type": "execute_result"
1850    }
1851   ],
1852   "source": [
1853    "days_from_launch = tspan - launch.jd\n",
1854    "plt.figure()\n",
1855    "plt.plot(days_from_launch, Reh, label='SC / Earth distance (AU)')\n",
1856    "plt.plot(days_from_launch, Red, label='SC / Didymos distance (AU)')\n",
1857    "plt.legend()"
1858   ]
1859  }
1860 ],
1861 "metadata": {
1862  "kernelspec": {
1863   "display_name": "Python 3",
1864   "language": "python",
1865   "name": "python3"
1866  },
1867  "language_info": {
1868   "codemirror_mode": {
1869    "name": "ipython",
1870    "version": 3
1871   },
1872   "file_extension": ".py",
1873   "mimetype": "text/x-python",
1874   "name": "python",
1875   "nbconvert_exporter": "python",
1876   "pygments_lexer": "ipython3",
1877   "version": "3.7.6"
1878  }
1879 },
1880 "nbformat": 4,
1881 "nbformat_minor": 4
1882}
1883