{"id":1349,"date":"2024-09-03T11:28:08","date_gmt":"2024-09-03T18:28:08","guid":{"rendered":"https:\/\/radwatch.berkeley.edu\/?p=1349"},"modified":"2026-04-28T21:42:49","modified_gmt":"2026-04-29T04:42:49","slug":"dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report","status":"publish","type":"post","link":"https:\/\/radwatch.berkeley.edu\/es\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/","title":{"rendered":"DoseNet de Verano de 2024: Kevin Wu, Aar\u00f3n Ely, &amp; Garry Li Informe"},"content":{"rendered":"<div id=\"pl-1349\"  class=\"panel-layout\" ><div id=\"pg-1349-0\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-0-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-0-0-0\" class=\"so-panel widget widget_headline-widget panel-first-child\" data-index=\"0\" >\t\t<h1>Geotagging data from DoseNet systems<\/h1>\n\t\t<div class=\"decoration\"><div class=\"decoration-inside\"><\/div><\/div>\n\t\t<h3>Kevin Wu, Aaron Ely, Garry Li<\/h3>\n\t\t<\/div><div id=\"panel-1349-0-0-1\" class=\"widget_text so-panel widget widget_custom_html\" data-index=\"1\" ><div class=\"textwidget custom-html-widget\"><!DOCTYPE html>\n<html>\n<head>\n    <meta content=\"width=device-width,initial-scale=1\" name=\"viewport\">\n    <script async src=\"https:\/\/unpkg.com\/leaflet@1.7.1\/dist\/leaflet.js\"><\/script>\n    <link href=\"https:\/\/unpkg.com\/leaflet@1.7.1\/dist\/leaflet.css\" rel=\"stylesheet\">\n    <script async src=\"https:\/\/d3js.org\/d3.v7.min.js\"><\/script>\n    <script async src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/pako\/2.0.4\/pako.min.js\"><\/script>\n    <style>\n        body, html {\n            background-color: #fff;\n            color: #000;\n            font-family: sans-serif;\n            height: 100%;\n            display: flex;\n            gap: 8px;\n            flex-direction: column;\n        }\n        #brightness-container {\n            display: flex;\n            gap: 8px;\n            height: 30px;\n            align-items: center;\n        }\n        #brightness-label {\n            height: 100%;\n            line-height: 30px;\n        }\n        #brightness-slider {\n            height: 100%;\n            flex: 1;\n        }\n        #mapping-container {\n            display: flex;\n            gap: 8px;\n            height: 100%;\n        }\n        #map {\n            width: 100%;\n            height: 500px;\n            flex: 1;\n        }\n        .leaflet-tile-pane {\n            filter: brightness(30%);\n        }\n        .marker-pin {\n            width: 100%;\n            height: 100%;\n        }\n    <\/style>\n<\/head>\n<body>\n    <div id=\"brightness-container\">\n        <span id=\"brightness-label\">Map brightness: 30%<\/span>\n        <input class=\"slider\" id=\"brightness-slider\" max=\"100\" min=\"0\" type=\"range\" value=\"30\">\n        <div style=\"width:50%\">\n            <span style=\"float:right\">Data collected on July 22, 2024, from portable NaI detector.<\/span>\n        <\/div>\n    <\/div>\n    <div id=\"mapping-container\">\n        <div id=\"map\"><\/div>\n    <\/div>\n    <script>\n        document.addEventListener('DOMContentLoaded', function() {\n            \/\/ Initialize the map\n            var map = L.map('map').setView([37.872621, -122.263734], 16);\n\n            \/\/ Add the tile layer (the map itself)\n            L.tileLayer('https:\/\/tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                maxZoom: 20,\n                attribution: '\u00a9 OpenStreetMap contributors'\n            }).addTo(map);\n\n            \/\/ Marker icon settings\n            var icon = L.divIcon({\n                className: \"custom-div-icon\",\n                html: '<div style=\"background-color: #ff0000;\" class=\"marker-pin\"><\/div>',\n                iconSize: [10, 10],\n                iconAnchor: [5, 5]\n            });\n\n            \/\/ Variables to store data\n            var rates = [], res = [];\n\n            function plot() {\n                \/\/ Color scale based on rate\n                var e = d3.scaleSequential(d3.interpolateInferno).domain([Math.min(...rates), Math.max(...rates)]);\n                \n                for (var t = 0; t < res.length; t++) {\n                    if (res[t].latitude !== undefined && res[t].longitude !== undefined && !isNaN(parseFloat(res[t].latitude)) && !isNaN(parseFloat(res[t].longitude))) {\n                        icon.options.html = `<div style=\"background-color: ${e(parseFloat(res[t].rate))};\" class=\"marker-pin\"><\/div>`;\n                        \n                        \/\/ Plot marker on the map\n                        L.marker([parseFloat(res[t].latitude), parseFloat(res[t].longitude)], {icon: icon})\n                            .bindTooltip(`rate: ${res[t].rate} CPS`)\n                            .addTo(map);\n                    }\n                }\n            }\n\n            \/\/ Fetch and parse CSV data\n            fetch(\"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/PMT_17216754351.csv\").then(e => e.text()).then(e => {\n                var t = e.split(\/\\n|\\r\\n\/), r = t[0].split(\",\"), latIdx = r.indexOf(\"latitude\"), lonIdx = r.indexOf(\"longitude\"), rateIdx = r.indexOf(\"rate\");\n                \n                for (var n = 1; n < t.length; n++) {\n                    var a = {}, o = t[n].split(\",\");\n                    a['latitude'] = o[latIdx];\n                    a['longitude'] = o[lonIdx];\n                    a['rate'] = o[rateIdx];\n\n                    if (a['latitude'] !== undefined && a['longitude'] !== undefined && !isNaN(parseFloat(a['latitude'])) && !isNaN(parseFloat(a['longitude']))) {\n                        rates.push(parseFloat(a['rate']));\n                        res.push(a);\n                    }\n                }\n                plot(); \/\/ Call plot function after data is loaded\n            });\n\n            \/\/ Brightness slider logic\n            document.getElementById(\"brightness-slider\").value = 30;\n            document.getElementById(\"brightness-slider\").oninput = function() {\n                document.querySelector(\".leaflet-tile-pane\").style.filter = `brightness(${document.getElementById(\"brightness-slider\").value}%)`;\n                document.querySelector(\"#brightness-label\").innerText = `Map brightness: ${document.getElementById(\"brightness-slider\").value}%`;\n            };\n        });\n    <\/script>\n<\/body>\n<\/html>\n<\/div><\/div><div id=\"panel-1349-0-0-2\" class=\"so-panel widget widget_text\" data-index=\"2\" ><h2 class=\"widget-title\">Introduction<\/h2>\t\t\t<div class=\"textwidget\"><p>Original mapping features on portable systems with D3S (CsI) detectors utilized dedicated Ultimate GPS modules; however, such modules were unreliable for mapping purposes as fixes either took too long to acquire or were never acquired at all. The GPS modules work by connecting to a small network of satellites orbiting Earth and need to be connected to multiple satellites for accurate coordinates to be produced. Modern smartphones, in contrast, combine assisted GPS (A-GPS), multilateration, and other methods that involve not only GPS satellites but also connected Wi-Fi\/cellular networks and other technology. These combinations result in significantly increased reliability, with one\u2019s coordinates able to be acquired almost instantly.<\/p>\n<p>There are two new options for using a smartphone to geotag data as it is collected: a Flask app that hosts a web app to be visited on a smartphone, and an Expo app that can be installed on smartphones via the <a href=\"https:\/\/expo.dev\/go\">Expo Go app<\/a>.<\/p>\n<\/div>\n\t\t<\/div><div id=\"panel-1349-0-0-3\" class=\"so-panel widget widget_text panel-last-child\" data-index=\"3\" ><h2 class=\"widget-title\">Usage<\/h2>\t\t\t<div class=\"textwidget\"><h3>Portable system with D3S (CsI) detector<\/h3>\n<ol>\n<li aria-level=\"1\">Setting up a new system for the first time requires SSL certificates to be generated, to allow coordinates to be transmitted between the Raspberry Pi and a smartphone. These certificates are set up to be valid for 365 days and thus need to be regenerated every 365 days. To generate the certificates, <b>enter the mobile folder and run <\/b><b>.\/gen_cert.sh<\/b>.<\/li>\n<li aria-level=\"1\"><b>Connect to a smartphone\u2019s hotspot<\/b> (currently requires keyboard and mouse\/touchscreen).<\/li>\n<li aria-level=\"1\"><b>Open the data app.<\/b> By default, GPS acquisition is set to use the smartphone; <b>find the web address indicated by the option in the dropdown menu and visit the site on the smartphone<\/b>.<br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1352\" src=\"http:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image2.png\" alt=\"Screenshot of the graphical user interface on the portable device\" width=\"802\" height=\"470\" srcset=\"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image2.png 802w, https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image2-300x176.png 300w, https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image2-768x450.png 768w\" sizes=\"auto, (max-width: 802px) 100vw, 802px\" \/><\/li>\n<li aria-level=\"1\"><b>On the smartphone, accept the self-signed certificates.<\/b><\/li>\n<\/ol>\n<h3>Portable sodium iodide (NaI) scintillation detector<\/h3>\n<ol>\n<li aria-level=\"1\">Setting up a new system for the first time requires SSL certificates to be generated, to allow coordinates to be transmitted between the Raspberry Pi and a smartphone. These certificates are set up to be valid for 365 days and thus need to be regenerated every 365 days. To generate the certificates, <b>enter the mobile folder and run <\/b><b>.\/gen_cert.sh<\/b>.<\/li>\n<li aria-level=\"1\"><b>Connect to a smartphone\u2019s hotspot<\/b> (currently requires keyboard and mouse\/touchscreen).<\/li>\n<li aria-level=\"1\">For the NaI detectors, there is currently no display for the web address that needs to be connected to. It can, however, be found by <b>entering <\/b><b>hostname<\/b><b> in the terminal, and placing the output of the command between https:\/\/ at the front and :5000 at the back<\/b> (example: <a href=\"https:\/\/172.20.10.4:5000\">https:\/\/172.20.10.4:5000<\/a>). If the output of the command is the name of the Raspberry Pi and not an IP address, <b>add .local between the hostname and :5000<\/b> (example: <a href=\"https:\/\/raspberrypi.local:5000\">https:\/\/raspberrypi.local:5000<\/a>). <b>Visit the site on the smartphone.<\/b><\/li>\n<li aria-level=\"1\"><b>On the smartphone, accept the self-signed certificates.<\/b><\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<\/div>\n\t\t<\/div><\/div><\/div><div id=\"pg-1349-1\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-1-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-1-0-0\" class=\"so-panel widget widget_text panel-first-child panel-last-child\" data-index=\"4\" ><h2 class=\"widget-title\">Web app<\/h2>\t\t\t<div class=\"textwidget\"><p>Entering the address into a smartphone that the Raspberry Pi is connected to, via hotspot, produces a simple website that can control location transmission.<\/p>\n<p>The first button, on the left, allows users to switch between the <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Geolocation\/getCurrentPosition#options\">high and low accuracy options of the Geolocation API<\/a>. Based on testing, there appears to be little to no difference between the two options, so it is recommended to use the (default) low accuracy option as the high accuracy option should consume more power. The second button on the right starts\/stops location collection and transmission.<\/p>\n<p>If at any point the app\/tab is switched, or the screen turns off, while collection and transmission are running, coordinates will no longer be transmitted. Thus, when the start button is pressed, the web app will request a <a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Web\/API\/Screen_Wake_Lock_API\">wake lock<\/a> in an attempt to at least keep the screen on for the user. <i>This is one of many reasons why an alternative Expo app was pursued, as it would allow for location information to be collected in the background with the screen off\u2014saving power\u2014or with another app\/tab active; a web API for background location has been discussed for years but has never been implemented due to a variety of battery\/privacy\/etc. reasons.<\/i> When a user does leave the web app, the portable system with the CsI detector, as well as the portable NaI detector system, will continue to record the latest pair of coordinates for up to one minute. After one minute, both systems will record the \u201cdefault\u201d location, (0, 0), as the current location, so it should be obvious that up-to-date coordinates were no longer available as (0, 0) is in the South Atlantic Ocean, off the African coast.<\/p>\n<\/div>\n\t\t<\/div><\/div><div id=\"pgc-1349-1-1\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-1-1-0\" class=\"so-panel widget widget_media_image panel-first-child panel-last-child\" data-index=\"5\" ><img loading=\"lazy\" decoding=\"async\" width=\"473\" height=\"1024\" src=\"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image3-473x1024.png\" class=\"image wp-image-1353  attachment-large size-large\" alt=\"Phone screenshot of web interface for transmitting GPS to the portable device\" style=\"max-width: 100%; height: auto;\" srcset=\"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image3-473x1024.png 473w, https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image3-139x300.png 139w, https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image3-709x1536.png 709w, https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image3.png 739w\" sizes=\"auto, (max-width: 473px) 100vw, 473px\" \/><\/div><\/div><\/div><div id=\"pg-1349-2\"  class=\"panel-grid panel-no-style\" ><div id=\"pgc-1349-2-0\"  class=\"panel-grid-cell\" ><div id=\"panel-1349-2-0-0\" class=\"so-panel widget widget_text panel-first-child\" data-index=\"6\" ><h2 class=\"widget-title\">Alternative Expo app<\/h2>\t\t\t<div class=\"textwidget\"><p>The Expo app is similar to the web app in sending a user\u2019s location data from a smartphone to a Raspberry Pi, though the Expo app continues this process in the background as well. As a result, the inconvenience of needing the app to be constantly open while collecting data is eliminated.<\/p>\n<p>When first opened, the Expo app will ask the user to allow the app to use their location data, before repeatedly sending the user\u2019s coordinates to the Raspberry Pi every 60 seconds. The app will display the last coordinates that were sent, as well as a timestamp of when that data was sent.<\/p>\n<\/div>\n\t\t<\/div><div id=\"panel-1349-2-0-1\" class=\"so-panel widget widget_text\" data-index=\"7\" ><h2 class=\"widget-title\">Conclusions<\/h2>\t\t\t<div class=\"textwidget\"><p>Both the web app, hosted by Flask, as well as the Expo app, are reliable options for geotagging DoseNet systems\u2019 data. While the web app may be easier to get started with, the Expo app may be a better option for those collecting data in longer sessions\u2014where usage of a smartphone is not as conveniently sacrificed.<\/p>\n<p>Future steps include:<\/p>\n<ul>\n<li aria-level=\"1\">[General] Filling the app\u2019s empty space with live data\/mapping (though this will consume more power)<\/li>\n<li aria-level=\"1\">[General] Syncing location collection interval with that of the portable systems<\/li>\n<li aria-level=\"1\">[General] Considering transmission of coordinates over Bluetooth<\/li>\n<li aria-level=\"1\">[Web app] Automatically handling expiration of SSL certificates<\/li>\n<li aria-level=\"1\">[CsI] Integrating GPS acquisition with the rewritten data app<\/li>\n<li aria-level=\"1\">[NaI] Adding web app\u2019s address information to the NaI detector interface<\/li>\n<\/ul>\n<\/div>\n\t\t<\/div><div id=\"panel-1349-2-0-2\" class=\"so-panel widget widget_text panel-last-child\" data-index=\"8\" ><h2 class=\"widget-title\">Code<\/h2>\t\t\t<div class=\"textwidget\"><p>CsI detector web app and receiving side: <a href=\"https:\/\/gitlab.com\/1kwu\/dosenet-mapping\">https:\/\/gitlab.com\/1kwu\/dosenet-mapping<\/a><\/p>\n<p>NaI detector web app and receiving side: <a href=\"https:\/\/gitlab.com\/wlmchen\/bp\">https:\/\/gitlab.com\/wlmchen\/bp<\/a><\/p>\n<p>Expo app: <a href=\"https:\/\/github.com\/NovelHarmony79\/Tracker\">https:\/\/github.com\/NovelHarmony79\/Tracker<\/a><\/p>\n<\/div>\n\t\t<\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>Original mapping features on portable systems with D3S (CsI) detectors utilized dedicated Ultimate GPS modules; however, such modules were unreliable for mapping purposes as fixes [&hellip;]<\/p>\n","protected":false},"author":11,"featured_media":1350,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[56,18,30,17,28],"tags":[],"class_list":["post-1349","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-community","category-education","category-internship","category-outreach","category-partners","post-with-thumbnail","post-with-thumbnail-large"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>DoseNet Summer 2024: Kevin Wu, Aaron Ely, &amp; Garry Li&#039;s Report - Berkeley RadWatch<\/title>\n<meta name=\"description\" content=\"Kevin Wu, Aaron Ely, and Garry Li&#039;s report details the implementation of smartphone-based geotagging for DoseNet systems.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/radwatch.berkeley.edu\/es\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"DoseNet Summer 2024: Kevin Wu, Aaron Ely, &amp; Garry Li&#039;s Report - Berkeley RadWatch\" \/>\n<meta property=\"og:description\" content=\"Kevin Wu, Aaron Ely, and Garry Li&#039;s report details the implementation of smartphone-based geotagging for DoseNet systems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/radwatch.berkeley.edu\/es\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/\" \/>\n<meta property=\"og:site_name\" content=\"Berkeley RadWatch\" \/>\n<meta property=\"article:published_time\" content=\"2024-09-03T18:28:08+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-29T04:42:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1424\" \/>\n\t<meta property=\"og:image:height\" content=\"816\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dani Solakian\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Dani Solakian\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/\"},\"author\":{\"name\":\"Dani Solakian\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#\\\/schema\\\/person\\\/b4ef76605fe5f9c2fbb75010a6940920\"},\"headline\":\"DoseNet Summer 2024: Kevin Wu, Aaron Ely, &#038; Garry Li&#8217;s Report\",\"datePublished\":\"2024-09-03T18:28:08+00:00\",\"dateModified\":\"2026-04-29T04:42:49+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/\"},\"wordCount\":1029,\"publisher\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/image1.png\",\"articleSection\":[\"Community\",\"Education\",\"Internship\",\"Outreach\",\"Partner Locations\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/\",\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/\",\"name\":\"DoseNet Summer 2024: Kevin Wu, Aaron Ely, & Garry Li's Report - Berkeley RadWatch\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/image1.png\",\"datePublished\":\"2024-09-03T18:28:08+00:00\",\"dateModified\":\"2026-04-29T04:42:49+00:00\",\"description\":\"Kevin Wu, Aaron Ely, and Garry Li's report details the implementation of smartphone-based geotagging for DoseNet systems.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#primaryimage\",\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/image1.png\",\"contentUrl\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2024\\\/09\\\/image1.png\",\"width\":1424,\"height\":816,\"caption\":\"A map of NaI detection points around UC Berkeley Campus\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/2024\\\/09\\\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"DoseNet Summer 2024: Kevin Wu, Aaron Ely, &#038; Garry Li&#8217;s Report\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#website\",\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/\",\"name\":\"CoE WordPress Theme\",\"description\":\"Exploring our radioactive world\",\"publisher\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#organization\",\"name\":\"CoE WordPress Theme\",\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/cropped-radwatch-header-small-1.png\",\"contentUrl\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/cropped-radwatch-header-small-1.png\",\"width\":1000,\"height\":741,\"caption\":\"CoE WordPress Theme\"},\"image\":{\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/#\\\/schema\\\/person\\\/b4ef76605fe5f9c2fbb75010a6940920\",\"name\":\"Dani Solakian\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g\",\"caption\":\"Dani Solakian\"},\"url\":\"https:\\\/\\\/radwatch.berkeley.edu\\\/es\\\/author\\\/daniel-sol\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"DoseNet Summer 2024: Kevin Wu, Aaron Ely, & Garry Li's Report - Berkeley RadWatch","description":"Kevin Wu, Aaron Ely, and Garry Li's report details the implementation of smartphone-based geotagging for DoseNet systems.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/radwatch.berkeley.edu\/es\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/","og_locale":"es_MX","og_type":"article","og_title":"DoseNet Summer 2024: Kevin Wu, Aaron Ely, & Garry Li's Report - Berkeley RadWatch","og_description":"Kevin Wu, Aaron Ely, and Garry Li's report details the implementation of smartphone-based geotagging for DoseNet systems.","og_url":"https:\/\/radwatch.berkeley.edu\/es\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/","og_site_name":"Berkeley RadWatch","article_published_time":"2024-09-03T18:28:08+00:00","article_modified_time":"2026-04-29T04:42:49+00:00","og_image":[{"width":1424,"height":816,"url":"http:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png","type":"image\/png"}],"author":"Dani Solakian","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Dani Solakian","Est. reading time":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#article","isPartOf":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/"},"author":{"name":"Dani Solakian","@id":"https:\/\/radwatch.berkeley.edu\/#\/schema\/person\/b4ef76605fe5f9c2fbb75010a6940920"},"headline":"DoseNet Summer 2024: Kevin Wu, Aaron Ely, &#038; Garry Li&#8217;s Report","datePublished":"2024-09-03T18:28:08+00:00","dateModified":"2026-04-29T04:42:49+00:00","mainEntityOfPage":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/"},"wordCount":1029,"publisher":{"@id":"https:\/\/radwatch.berkeley.edu\/#organization"},"image":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#primaryimage"},"thumbnailUrl":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png","articleSection":["Community","Education","Internship","Outreach","Partner Locations"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/","url":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/","name":"DoseNet Summer 2024: Kevin Wu, Aaron Ely, & Garry Li's Report - Berkeley RadWatch","isPartOf":{"@id":"https:\/\/radwatch.berkeley.edu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#primaryimage"},"image":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#primaryimage"},"thumbnailUrl":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png","datePublished":"2024-09-03T18:28:08+00:00","dateModified":"2026-04-29T04:42:49+00:00","description":"Kevin Wu, Aaron Ely, and Garry Li's report details the implementation of smartphone-based geotagging for DoseNet systems.","breadcrumb":{"@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#primaryimage","url":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png","contentUrl":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2024\/09\/image1.png","width":1424,"height":816,"caption":"A map of NaI detection points around UC Berkeley Campus"},{"@type":"BreadcrumbList","@id":"https:\/\/radwatch.berkeley.edu\/2024\/09\/dosenet-summer-2024-kevin-wu-aaron-ely-garry-lis-report\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/radwatch.berkeley.edu\/"},{"@type":"ListItem","position":2,"name":"DoseNet Summer 2024: Kevin Wu, Aaron Ely, &#038; Garry Li&#8217;s Report"}]},{"@type":"WebSite","@id":"https:\/\/radwatch.berkeley.edu\/#website","url":"https:\/\/radwatch.berkeley.edu\/","name":"CoE WordPress Theme","description":"La exploraci\u00f3n de nuestro radiactivos mundo","publisher":{"@id":"https:\/\/radwatch.berkeley.edu\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/radwatch.berkeley.edu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/radwatch.berkeley.edu\/#organization","name":"CoE WordPress Theme","url":"https:\/\/radwatch.berkeley.edu\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/radwatch.berkeley.edu\/#\/schema\/logo\/image\/","url":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2020\/05\/cropped-radwatch-header-small-1.png","contentUrl":"https:\/\/radwatch.berkeley.edu\/wp-content\/uploads\/2020\/05\/cropped-radwatch-header-small-1.png","width":1000,"height":741,"caption":"CoE WordPress Theme"},"image":{"@id":"https:\/\/radwatch.berkeley.edu\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/radwatch.berkeley.edu\/#\/schema\/person\/b4ef76605fe5f9c2fbb75010a6940920","name":"Dani Solakian","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/secure.gravatar.com\/avatar\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/afa745f6f0d8c35aa2db83fae34970e15f9eb56cf83464b678bc7d9a687ae640?s=96&d=mm&r=g","caption":"Dani Solakian"},"url":"https:\/\/radwatch.berkeley.edu\/es\/author\/daniel-sol\/"}]}},"_links":{"self":[{"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/posts\/1349","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/comments?post=1349"}],"version-history":[{"count":0,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/posts\/1349\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/media\/1350"}],"wp:attachment":[{"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/media?parent=1349"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/categories?post=1349"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/radwatch.berkeley.edu\/es\/wp-json\/wp\/v2\/tags?post=1349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}