diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/Spectrum Measurement.ipynb | 807 |
1 files changed, 18 insertions, 789 deletions
diff --git a/firmware/Spectrum Measurement.ipynb b/firmware/Spectrum Measurement.ipynb index 5d76e1d..6d904c3 100644 --- a/firmware/Spectrum Measurement.ipynb +++ b/firmware/Spectrum Measurement.ipynb @@ -5777,7 +5777,7 @@ }, { "cell_type": "code", - "execution_count": 257, + "execution_count": 261, "metadata": { "collapsed": false, "scrolled": false @@ -5796,8 +5796,7 @@ "Poly for run 44:\n", " 2\n", "1.258e-06 x - 0.001514 x + 0.5252\n", - "[297, 228, 117] [339, 270, 210]\n", - "[330, 228, 159]\n" + "[297, 228, 117] [339, 270, 210]\n" ] }, { @@ -6567,791 +6566,7 @@ { "data": { "text/html": [ - "<img src=\"data:image/png;base64,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//1Sly7+sY+77ur37Z12klq18pcv3HCD/z55/XXp1VelggI/9uCCBWXvK8uXS7NmZX7wuWwZB5NHehGAyGST9wCuXl3yn+s///F3mE6Z4pfz8vxUmUMPlTbfXLrttspvM326v26o2L/+Jf3sZ76nccAA34PwyCP+MXGl5zJzpj/NVK+e/8EotnKlH6y2Wzdp662lefPKrm/KFKl/f38X44aaPVu66aaNexrr88+lk06Sbr5Z+v57X1ZYKD3zjL97snZtP5bak096TD/0kNSsme8l6d3b/zDWqiUdeKA0eLC/uH7BAo/qLbaQ+vThDx1y05w50qRJ0htvSH/9q4fe7bf7YWXatPE43H13f6Zh++39AWKjRv6Ap2FDv1x8+vnP/WPq9trLP+2mePl220m/+pV04YXS2WdLxx/vl7t3l3r18t9bl1wi9eghtW8vNW3qB7g+7DDp//7P53LiiX79CSf4IZV++1t/7fNvfuO36d7d3wDTu7ePdeGFftuOHX1OXbv6ui691K8//3y/7Smn+Nd17+4P5Irnc9VVfpujj5b23lvaf3+/zemn+9d16+Zz3Xlnv+7Xv/bbn3aaz7tNG/++deggHXusdPLJvs177OHfj5Yt/ffJMcf4PLt39yDv2NHnevzxvl1du/p6mjWTmjf3rz/oIKlzZ1/vHnv4z2jffX1OvXr596pLF9850Latz+23v5Wuv14691ypUyf/Hrdq5XM980z/uXTr5rffYQef/yGH+Peka1f/+3HAAT7nzp19vkcf7ef32Uf65S/9+9Spk3/NkUf6bVu39u9Dp07+PbjgAv9+77efz2H33X29F14o9etX8v1r397n0qaNb2PxOK1a+fJDD/VxTj3V57fPPiUPYIrnsb43PCaNAERlMr0G8Fur5DWAeXl5OuaYfG22Wb62375Axx3nd/7ST8++8II/PZvpqdY1azwW27f3CKrMK6/4naxYYaH/sh892j+Efvp0D7+dd5Yef7zkdr17+y+Qe+6RWrSQfvjBlw8Z4n8MVq4s+SVebOpU/wPSsaOvY9gwv92SJf406u9/7welLt7zVljolxs29D8+bdr43rdi8+f7L7n/+z//+jVr/GtGjPBtv+gi/wVcv77f7uijpW23lf78Z2nxYn9qfMcd/fqddvJP6yj9vZw1y78Pp55a8setWzf/ngBpsWSJ7zGfNMn/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\">" - ], - "text/plain": [ - "<IPython.core.display.HTML object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/usr/lib64/python3.5/site-packages/matplotlib/pyplot.py:516: RuntimeWarning: More than 20 figures have been opened. Figures created through the pyplot interface (`matplotlib.pyplot.figure`) are retained until explicitly closed and may consume too much memory. (To control this warning, see the rcParam `figure.max_open_warning`).\n", - " max_open_warning, RuntimeWarning)\n" - ] - }, - { - "data": { - "application/javascript": [ - "/* Put everything inside the global mpl namespace */\n", - "window.mpl = {};\n", - "\n", - "mpl.get_websocket_type = function() {\n", - " if (typeof(WebSocket) !== 'undefined') {\n", - " return WebSocket;\n", - " } else if (typeof(MozWebSocket) !== 'undefined') {\n", - " return MozWebSocket;\n", - " } else {\n", - " alert('Your browser does not have WebSocket support.' +\n", - " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", - " 'Firefox 4 and 5 are also supported but you ' +\n", - " 'have to enable WebSockets in about:config.');\n", - " };\n", - "}\n", - "\n", - "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", - " this.id = figure_id;\n", - "\n", - " this.ws = websocket;\n", - "\n", - " this.supports_binary = (this.ws.binaryType != undefined);\n", - "\n", - " if (!this.supports_binary) {\n", - " var warnings = document.getElementById(\"mpl-warnings\");\n", - " if (warnings) {\n", - " warnings.style.display = 'block';\n", - " warnings.textContent = (\n", - " \"This browser does not support binary websocket messages. \" +\n", - " \"Performance may be slow.\");\n", - " }\n", - " }\n", - "\n", - " this.imageObj = new Image();\n", - "\n", - " this.context = undefined;\n", - " this.message = undefined;\n", - " this.canvas = undefined;\n", - " this.rubberband_canvas = undefined;\n", - " this.rubberband_context = undefined;\n", - " this.format_dropdown = undefined;\n", - "\n", - " this.image_mode = 'full';\n", - "\n", - " this.root = $('<div/>');\n", - " this._root_extra_style(this.root)\n", - " this.root.attr('style', 'display: inline-block');\n", - "\n", - " $(parent_element).append(this.root);\n", - "\n", - " this._init_header(this);\n", - " this._init_canvas(this);\n", - " this._init_toolbar(this);\n", - "\n", - " var fig = this;\n", - "\n", - " this.waiting = false;\n", - "\n", - " this.ws.onopen = function () {\n", - " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", - " fig.send_message(\"send_image_mode\", {});\n", - " fig.send_message(\"refresh\", {});\n", - " }\n", - "\n", - " this.imageObj.onload = function() {\n", - " if (fig.image_mode == 'full') {\n", - " // Full images could contain transparency (where diff images\n", - " // almost always do), so we need to clear the canvas so that\n", - " // there is no ghosting.\n", - " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", - " }\n", - " fig.context.drawImage(fig.imageObj, 0, 0);\n", - " };\n", - "\n", - " this.imageObj.onunload = function() {\n", - " this.ws.close();\n", - " }\n", - "\n", - " this.ws.onmessage = this._make_on_message_function(this);\n", - "\n", - " this.ondownload = ondownload;\n", - "}\n", - "\n", - "mpl.figure.prototype._init_header = function() {\n", - " var titlebar = $(\n", - " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", - " 'ui-helper-clearfix\"/>');\n", - " var titletext = $(\n", - " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", - " 'text-align: center; padding: 3px;\"/>');\n", - " titlebar.append(titletext)\n", - " this.root.append(titlebar);\n", - " this.header = titletext[0];\n", - "}\n", - "\n", - "\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._init_canvas = function() {\n", - " var fig = this;\n", - "\n", - " var canvas_div = $('<div/>');\n", - "\n", - " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", - "\n", - " function canvas_keyboard_event(event) {\n", - " return fig.key_event(event, event['data']);\n", - " }\n", - "\n", - " canvas_div.keydown('key_press', canvas_keyboard_event);\n", - " canvas_div.keyup('key_release', canvas_keyboard_event);\n", - " this.canvas_div = canvas_div\n", - " this._canvas_extra_style(canvas_div)\n", - " this.root.append(canvas_div);\n", - "\n", - " var canvas = $('<canvas/>');\n", - " canvas.addClass('mpl-canvas');\n", - " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", - "\n", - " this.canvas = canvas[0];\n", - " this.context = canvas[0].getContext(\"2d\");\n", - "\n", - " var rubberband = $('<canvas/>');\n", - " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", - "\n", - " var pass_mouse_events = true;\n", - "\n", - " canvas_div.resizable({\n", - " start: function(event, ui) {\n", - " pass_mouse_events = false;\n", - " },\n", - " resize: function(event, ui) {\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " stop: function(event, ui) {\n", - " pass_mouse_events = true;\n", - " fig.request_resize(ui.size.width, ui.size.height);\n", - " },\n", - " });\n", - "\n", - " function mouse_event_fn(event) {\n", - " if (pass_mouse_events)\n", - " return fig.mouse_event(event, event['data']);\n", - " }\n", - "\n", - " rubberband.mousedown('button_press', mouse_event_fn);\n", - " rubberband.mouseup('button_release', mouse_event_fn);\n", - " // Throttle sequential mouse events to 1 every 20ms.\n", - " rubberband.mousemove('motion_notify', mouse_event_fn);\n", - "\n", - " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", - " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", - "\n", - " canvas_div.on(\"wheel\", function (event) {\n", - " event = event.originalEvent;\n", - " event['data'] = 'scroll'\n", - " if (event.deltaY < 0) {\n", - " event.step = 1;\n", - " } else {\n", - " event.step = -1;\n", - " }\n", - " mouse_event_fn(event);\n", - " });\n", - "\n", - " canvas_div.append(canvas);\n", - " canvas_div.append(rubberband);\n", - "\n", - " this.rubberband = rubberband;\n", - " this.rubberband_canvas = rubberband[0];\n", - " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", - " this.rubberband_context.strokeStyle = \"#000000\";\n", - "\n", - " this._resize_canvas = function(width, height) {\n", - " // Keep the size of the canvas, canvas container, and rubber band\n", - " // canvas in synch.\n", - " canvas_div.css('width', width)\n", - " canvas_div.css('height', height)\n", - "\n", - " canvas.attr('width', width);\n", - " canvas.attr('height', height);\n", - "\n", - " rubberband.attr('width', width);\n", - " rubberband.attr('height', height);\n", - " }\n", - "\n", - " // Set the figure to an initial 600x600px, this will subsequently be updated\n", - " // upon first draw.\n", - " this._resize_canvas(600, 600);\n", - "\n", - " // Disable right mouse context menu.\n", - " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", - " return false;\n", - " });\n", - "\n", - " function set_focus () {\n", - " canvas.focus();\n", - " canvas_div.focus();\n", - " }\n", - "\n", - " window.setTimeout(set_focus, 100);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('<div/>')\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items) {\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) {\n", - " // put a spacer in here.\n", - " continue;\n", - " }\n", - " var button = $('<button/>');\n", - " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", - " 'ui-button-icon-only');\n", - " button.attr('role', 'button');\n", - " button.attr('aria-disabled', 'false');\n", - " button.click(method_name, toolbar_event);\n", - " button.mouseover(tooltip, toolbar_mouse_event);\n", - "\n", - " var icon_img = $('<span/>');\n", - " icon_img.addClass('ui-button-icon-primary ui-icon');\n", - " icon_img.addClass(image);\n", - " icon_img.addClass('ui-corner-all');\n", - "\n", - " var tooltip_span = $('<span/>');\n", - " tooltip_span.addClass('ui-button-text');\n", - " tooltip_span.html(tooltip);\n", - "\n", - " button.append(icon_img);\n", - " button.append(tooltip_span);\n", - "\n", - " nav_element.append(button);\n", - " }\n", - "\n", - " var fmt_picker_span = $('<span/>');\n", - "\n", - " var fmt_picker = $('<select/>');\n", - " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", - " fmt_picker_span.append(fmt_picker);\n", - " nav_element.append(fmt_picker_span);\n", - " this.format_dropdown = fmt_picker[0];\n", - "\n", - " for (var ind in mpl.extensions) {\n", - " var fmt = mpl.extensions[ind];\n", - " var option = $(\n", - " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", - " fmt_picker.append(option)\n", - " }\n", - "\n", - " // Add hover states to the ui-buttons\n", - " $( \".ui-button\" ).hover(\n", - " function() { $(this).addClass(\"ui-state-hover\");},\n", - " function() { $(this).removeClass(\"ui-state-hover\");}\n", - " );\n", - "\n", - " var status_bar = $('<span class=\"mpl-message\"/>');\n", - " nav_element.append(status_bar);\n", - " this.message = status_bar[0];\n", - "}\n", - "\n", - "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", - " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", - " // which will in turn request a refresh of the image.\n", - " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", - "}\n", - "\n", - "mpl.figure.prototype.send_message = function(type, properties) {\n", - " properties['type'] = type;\n", - " properties['figure_id'] = this.id;\n", - " this.ws.send(JSON.stringify(properties));\n", - "}\n", - "\n", - "mpl.figure.prototype.send_draw_message = function() {\n", - " if (!this.waiting) {\n", - " this.waiting = true;\n", - " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", - " }\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype.handle_save = function(fig, msg) {\n", - " var format_dropdown = fig.format_dropdown;\n", - " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", - " fig.ondownload(fig, format);\n", - "}\n", - "\n", - "\n", - "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", - " var size = msg['size'];\n", - " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", - " fig._resize_canvas(size[0], size[1]);\n", - " fig.send_message(\"refresh\", {});\n", - " };\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", - " var x0 = msg['x0'];\n", - " var y0 = fig.canvas.height - msg['y0'];\n", - " var x1 = msg['x1'];\n", - " var y1 = fig.canvas.height - msg['y1'];\n", - " x0 = Math.floor(x0) + 0.5;\n", - " y0 = Math.floor(y0) + 0.5;\n", - " x1 = Math.floor(x1) + 0.5;\n", - " y1 = Math.floor(y1) + 0.5;\n", - " var min_x = Math.min(x0, x1);\n", - " var min_y = Math.min(y0, y1);\n", - " var width = Math.abs(x1 - x0);\n", - " var height = Math.abs(y1 - y0);\n", - "\n", - " fig.rubberband_context.clearRect(\n", - " 0, 0, fig.canvas.width, fig.canvas.height);\n", - "\n", - " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", - " // Updates the figure title.\n", - " fig.header.textContent = msg['label'];\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", - " var cursor = msg['cursor'];\n", - " switch(cursor)\n", - " {\n", - " case 0:\n", - " cursor = 'pointer';\n", - " break;\n", - " case 1:\n", - " cursor = 'default';\n", - " break;\n", - " case 2:\n", - " cursor = 'crosshair';\n", - " break;\n", - " case 3:\n", - " cursor = 'move';\n", - " break;\n", - " }\n", - " fig.rubberband_canvas.style.cursor = cursor;\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_message = function(fig, msg) {\n", - " fig.message.textContent = msg['message'];\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", - " // Request the server to send over a new figure.\n", - " fig.send_draw_message();\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", - " fig.image_mode = msg['mode'];\n", - "}\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function() {\n", - " // Called whenever the canvas gets updated.\n", - " this.send_message(\"ack\", {});\n", - "}\n", - "\n", - "// A function to construct a web socket function for onmessage handling.\n", - "// Called in the figure constructor.\n", - "mpl.figure.prototype._make_on_message_function = function(fig) {\n", - " return function socket_on_message(evt) {\n", - " if (evt.data instanceof Blob) {\n", - " /* FIXME: We get \"Resource interpreted as Image but\n", - " * transferred with MIME type text/plain:\" errors on\n", - " * Chrome. But how to set the MIME type? It doesn't seem\n", - " * to be part of the websocket stream */\n", - " evt.data.type = \"image/png\";\n", - "\n", - " /* Free the memory for the previous frames */\n", - " if (fig.imageObj.src) {\n", - " (window.URL || window.webkitURL).revokeObjectURL(\n", - " fig.imageObj.src);\n", - " }\n", - "\n", - " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", - " evt.data);\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", - " fig.imageObj.src = evt.data;\n", - " fig.updated_canvas_event();\n", - " fig.waiting = false;\n", - " return;\n", - " }\n", - "\n", - " var msg = JSON.parse(evt.data);\n", - " var msg_type = msg['type'];\n", - "\n", - " // Call the \"handle_{type}\" callback, which takes\n", - " // the figure and JSON message as its only arguments.\n", - " try {\n", - " var callback = fig[\"handle_\" + msg_type];\n", - " } catch (e) {\n", - " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", - " return;\n", - " }\n", - "\n", - " if (callback) {\n", - " try {\n", - " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", - " callback(fig, msg);\n", - " } catch (e) {\n", - " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", - " }\n", - " }\n", - " };\n", - "}\n", - "\n", - "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", - "mpl.findpos = function(e) {\n", - " //this section is from http://www.quirksmode.org/js/events_properties.html\n", - " var targ;\n", - " if (!e)\n", - " e = window.event;\n", - " if (e.target)\n", - " targ = e.target;\n", - " else if (e.srcElement)\n", - " targ = e.srcElement;\n", - " if (targ.nodeType == 3) // defeat Safari bug\n", - " targ = targ.parentNode;\n", - "\n", - " // jQuery normalizes the pageX and pageY\n", - " // pageX,Y are the mouse positions relative to the document\n", - " // offset() returns the position of the element relative to the document\n", - " var x = e.pageX - $(targ).offset().left;\n", - " var y = e.pageY - $(targ).offset().top;\n", - "\n", - " return {\"x\": x, \"y\": y};\n", - "};\n", - "\n", - "/*\n", - " * return a copy of an object with only non-object keys\n", - " * we need this to avoid circular references\n", - " * http://stackoverflow.com/a/24161582/3208463\n", - " */\n", - "function simpleKeys (original) {\n", - " return Object.keys(original).reduce(function (obj, key) {\n", - " if (typeof original[key] !== 'object')\n", - " obj[key] = original[key]\n", - " return obj;\n", - " }, {});\n", - "}\n", - "\n", - "mpl.figure.prototype.mouse_event = function(event, name) {\n", - " var canvas_pos = mpl.findpos(event)\n", - "\n", - " if (name === 'button_press')\n", - " {\n", - " this.canvas.focus();\n", - " this.canvas_div.focus();\n", - " }\n", - "\n", - " var x = canvas_pos.x;\n", - " var y = canvas_pos.y;\n", - "\n", - " this.send_message(name, {x: x, y: y, button: event.button,\n", - " step: event.step,\n", - " guiEvent: simpleKeys(event)});\n", - "\n", - " /* This prevents the web browser from automatically changing to\n", - " * the text insertion cursor when the button is pressed. We want\n", - " * to control all of the cursor setting manually through the\n", - " * 'cursor' event from matplotlib */\n", - " event.preventDefault();\n", - " return false;\n", - "}\n", - "\n", - "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " // Handle any extra behaviour associated with a key event\n", - "}\n", - "\n", - "mpl.figure.prototype.key_event = function(event, name) {\n", - "\n", - " // Prevent repeat events\n", - " if (name == 'key_press')\n", - " {\n", - " if (event.which === this._key)\n", - " return;\n", - " else\n", - " this._key = event.which;\n", - " }\n", - " if (name == 'key_release')\n", - " this._key = null;\n", - "\n", - " var value = '';\n", - " if (event.ctrlKey && event.which != 17)\n", - " value += \"ctrl+\";\n", - " if (event.altKey && event.which != 18)\n", - " value += \"alt+\";\n", - " if (event.shiftKey && event.which != 16)\n", - " value += \"shift+\";\n", - "\n", - " value += 'k';\n", - " value += event.which.toString();\n", - "\n", - " this._key_event_extra(event, name);\n", - "\n", - " this.send_message(name, {key: value,\n", - " guiEvent: simpleKeys(event)});\n", - " return false;\n", - "}\n", - "\n", - "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", - " if (name == 'download') {\n", - " this.handle_save(this, null);\n", - " } else {\n", - " this.send_message(\"toolbar_button\", {name: name});\n", - " }\n", - "};\n", - "\n", - "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", - " this.message.textContent = tooltip;\n", - "};\n", - "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", - "\n", - "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", - "\n", - "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", - " // Create a \"websocket\"-like object which calls the given IPython comm\n", - " // object with the appropriate methods. Currently this is a non binary\n", - " // socket, so there is still some room for performance tuning.\n", - " var ws = {};\n", - "\n", - " ws.close = function() {\n", - " comm.close()\n", - " };\n", - " ws.send = function(m) {\n", - " //console.log('sending', m);\n", - " comm.send(m);\n", - " };\n", - " // Register the callback with on_msg.\n", - " comm.on_msg(function(msg) {\n", - " //console.log('receiving', msg['content']['data'], msg);\n", - " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", - " ws.onmessage(msg['content']['data'])\n", - " });\n", - " return ws;\n", - "}\n", - "\n", - "mpl.mpl_figure_comm = function(comm, msg) {\n", - " // This is the function which gets called when the mpl process\n", - " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", - "\n", - " var id = msg.content.data.id;\n", - " // Get hold of the div created by the display call when the Comm\n", - " // socket was opened in Python.\n", - " var element = $(\"#\" + id);\n", - " var ws_proxy = comm_websocket_adapter(comm)\n", - "\n", - " function ondownload(figure, format) {\n", - " window.open(figure.imageObj.src);\n", - " }\n", - "\n", - " var fig = new mpl.figure(id, ws_proxy,\n", - " ondownload,\n", - " element.get(0));\n", - "\n", - " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", - " // web socket which is closed, not our websocket->open comm proxy.\n", - " ws_proxy.onopen();\n", - "\n", - " fig.parent_element = element.get(0);\n", - " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", - " if (!fig.cell_info) {\n", - " console.error(\"Failed to find cell for figure\", id, fig);\n", - " return;\n", - " }\n", - "\n", - " var output_index = fig.cell_info[2]\n", - " var cell = fig.cell_info[0];\n", - "\n", - "};\n", - "\n", - "mpl.figure.prototype.handle_close = function(fig, msg) {\n", - " fig.root.unbind('remove')\n", - "\n", - " // Update the output cell to use the data from the current canvas.\n", - " fig.push_to_output();\n", - " var dataURL = fig.canvas.toDataURL();\n", - " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", - " // the notebook keyboard shortcuts fail.\n", - " IPython.keyboard_manager.enable()\n", - " $(fig.parent_element).html('<img src=\"' + dataURL + '\">');\n", - " fig.close_ws(fig, msg);\n", - "}\n", - "\n", - "mpl.figure.prototype.close_ws = function(fig, msg){\n", - " fig.send_message('closing', msg);\n", - " // fig.ws.close()\n", - "}\n", - "\n", - "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", - " // Turn the data on the canvas into data in the output cell.\n", - " var dataURL = this.canvas.toDataURL();\n", - " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\">';\n", - "}\n", - "\n", - "mpl.figure.prototype.updated_canvas_event = function() {\n", - " // Tell IPython that the notebook contents must change.\n", - " IPython.notebook.set_dirty(true);\n", - " this.send_message(\"ack\", {});\n", - " var fig = this;\n", - " // Wait a second, then push the new image to the DOM so\n", - " // that it is saved nicely (might be nice to debounce this).\n", - " setTimeout(function () { fig.push_to_output() }, 1000);\n", - "}\n", - "\n", - "mpl.figure.prototype._init_toolbar = function() {\n", - " var fig = this;\n", - "\n", - " var nav_element = $('<div/>')\n", - " nav_element.attr('style', 'width: 100%');\n", - " this.root.append(nav_element);\n", - "\n", - " // Define a callback function for later on.\n", - " function toolbar_event(event) {\n", - " return fig.toolbar_button_onclick(event['data']);\n", - " }\n", - " function toolbar_mouse_event(event) {\n", - " return fig.toolbar_button_onmouseover(event['data']);\n", - " }\n", - "\n", - " for(var toolbar_ind in mpl.toolbar_items){\n", - " var name = mpl.toolbar_items[toolbar_ind][0];\n", - " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", - " var image = mpl.toolbar_items[toolbar_ind][2];\n", - " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", - "\n", - " if (!name) { continue; };\n", - "\n", - " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", - " button.click(method_name, toolbar_event);\n", - " button.mouseover(tooltip, toolbar_mouse_event);\n", - " nav_element.append(button);\n", - " }\n", - "\n", - " // Add the status bar.\n", - " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", - " nav_element.append(status_bar);\n", - " this.message = status_bar[0];\n", - "\n", - " // Add the close button to the window.\n", - " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", - " 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", - " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", - " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", - " buttongrp.append(button);\n", - " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", - " titlebar.prepend(buttongrp);\n", - "}\n", - "\n", - "mpl.figure.prototype._root_extra_style = function(el){\n", - " var fig = this\n", - " el.on(\"remove\", function(){\n", - "\tfig.close_ws(fig, {});\n", - " });\n", - "}\n", - "\n", - "mpl.figure.prototype._canvas_extra_style = function(el){\n", - " // this is important to make the div 'focusable\n", - " el.attr('tabindex', 0)\n", - " // reach out to IPython and tell the keyboard manager to turn it's self\n", - " // off when our div gets focus\n", - "\n", - " // location in version 3\n", - " if (IPython.notebook.keyboard_manager) {\n", - " IPython.notebook.keyboard_manager.register_events(el);\n", - " }\n", - " else {\n", - " // location in version 2\n", - " IPython.keyboard_manager.register_events(el);\n", - " }\n", - "\n", - "}\n", - "\n", - "mpl.figure.prototype._key_event_extra = function(event, name) {\n", - " var manager = IPython.notebook.keyboard_manager;\n", - " if (!manager)\n", - " manager = IPython.keyboard_manager;\n", - "\n", - " // Check for shift+enter\n", - " if (event.shiftKey && event.which == 13) {\n", - " this.canvas_div.blur();\n", - " event.shiftKey = false;\n", - " // Send a \"J\" for go to next cell\n", - " event.which = 74;\n", - " event.keyCode = 74;\n", - " manager.command_mode();\n", - " manager.handle_keydown(event);\n", - " }\n", - "}\n", - "\n", - "mpl.figure.prototype.handle_save = function(fig, msg) {\n", - " fig.ondownload(fig, null);\n", - "}\n", - "\n", - "\n", - "mpl.find_output_cell = function(html_output) {\n", - " // Return the cell and output element which can be found *uniquely* in the notebook.\n", - " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", - " // IPython event is triggered only after the cells have been serialised, which for\n", - " // our purposes (turning an active figure into a static one), is too late.\n", - " var cells = IPython.notebook.get_cells();\n", - " var ncells = cells.length;\n", - " for (var i=0; i<ncells; i++) {\n", - " var cell = cells[i];\n", - " if (cell.cell_type === 'code'){\n", - " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", - " var data = cell.output_area.outputs[j];\n", - " if (data.data) {\n", - " // IPython >= 3 moved mimebundle to data attribute of output\n", - " data = data.data;\n", - " }\n", - " if (data['text/html'] == html_output) {\n", - " return [cell, data, j];\n", - " }\n", - " }\n", - " }\n", - " }\n", - "}\n", - "\n", - "// Register the function which deals with the matplotlib target/channel.\n", - "// The kernel may be null if the page has been refreshed.\n", - "if (IPython.notebook.kernel != null) {\n", - " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", - "}\n" - ], - "text/plain": [ - "<IPython.core.display.Javascript object>" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "<img src=\"data:image/png;base64,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\">" + "<img src=\"data:image/png;base64,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wX5fVsE6eaTfUu8EYDzsc+p89rN1AnFcDzvWK1B7HMAjUz9rOez//BXW7RjjxflDrdq1pP8RcT/sfV4BC1de4Xc5atoEbgQbHmhhavtsWLje2vWc5rAazEzNKq5A3TX87lrb/VNld8ZBTB8LUUREYq4L6j8TyG6ofcu1K6ytXBD2RcOGstgcVsO4Udq2VrDAXp//f0M1pNx9UNNTXERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERKQOJwIYC2ApgGoAjevY93cA/gVgOoBlqa+3AGhe2CKKiIiISD71goXAAcgeADsDuDz1FQC6APgGwJ2FLKCIiIiIFEZPZA+AXi4C8FX+iyMiIiIihdbQAPgGgMfzXxwRERERKbSGBMBrAPwCYPMMjzcC0AFAWy1atGjRokVLpJYOsOu4lLj6BsAbAcwC0LWOfToAoBYtWrRo0aIlkksHSMnridwD4P0AJgPomGW/tgA4Z84cLl26NLBl4MCBgf68KC56j/Qe6T3Se1Qsi96j4nuP5syZ4wTAtr6ShRS1xgBaADgUFgBbpda9qn2bAHgGwHcANs3htdsC4NKlSxmkIUOGBPrzokjvUXZ6j7LTe5Sd3qPs9B5lF/R7tHTpUgXAGOgPIAkLf9Vp3+8Pq+FbDmDf1L77px5bBRsHcFnq8WUZXlsBsEjpPcpO71F2eo+y03uUnd6j7BQAJWpCCYBlZWWB/rwo0nuUnd6j7PQeZaf3KDu9R9kF/R4pAIpfoQRAERERaTgFQPFLAVBERCRiFADFLwVAERGRiFEAFL8UAEVERCJGAVD8UgAUERGJGAVA8UsBUEREJGIUAMUvBUAREZGIUQAUvxQARUREIkYBUPxSABQREYkYBUDxSwFQREQkYhQAxS8FQBERkYhRABS/FABFREQiRgFQ/FIAFBERiRgFQPFLAVBERCRiFADFLwVAERGRiFEAFL8UAEVERCJGAVD8UgAUERGJGAVA8UsBUEREJGIUAMUvBUAREZGIUQAUvxQApehUVJCzZ5OzZpE//mhfZ8+27SIiogAo/ikAStFKJMiJE8nycgVCEZF0CoDilwKgFC0nACYS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\">" ], "text/plain": [ "<IPython.core.display.HTML object>" @@ -7402,7 +6617,10 @@ " data_rgb.append((steps, values, stdev))\n", "\n", "\n", - "# Calibrate wavelength axis using assumed peaks for r, g and b. Use least-squares polyfit for getting coefficients.\n", + "# Produce a first estimate for wavelength scaling. Use the short-wavelength edge of the blue band and the red peak\n", + "# for this, as both can be assumed to remain stable even after photodiode response compensation. Then apply photodiode\n", + "# response compensation and do another, second round of wavelength scaling estimation but this time using all three\n", + "# peaks and a proper least-squares fit.\n", "peaks = [ x[np.argmax(y)] for x, y, σ2 in data_rgb ]\n", "edgesl = [ x[np.argmax(y > y_edge_min)] for x, y, σ2 in data_rgb ]\n", "print(edgesl, peaks)\n", @@ -7413,6 +6631,8 @@ "data_tmp = [ (x, λ, y/Λ_sfh2701(λ), σ2) for x, λ, y, σ2 in data_tmp ]\n", "# Limit wavelength range\n", "data_tmp = [ (x[λ > 380], λ[λ > 380], y[λ > 380], σ2[λ > 380]) for x, λ, y, σ2 in data_tmp ]\n", + "\n", + "# Calibrate wavelength axis using assumed peaks for r, g and b. Use least-squares polyfit for getting coefficients.\n", "peaks = [ x[np.argmax(y)] for x, λ, y, σ2 in data_tmp ]\n", "Λ = np.poly1d(np.polyfit(peaks, λ_led, 1))\n", "\n", @@ -7429,6 +6649,15 @@ "\n", "plot_rgb_bar(data_rgb, ids, spline_s=0.005)" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": { |