diff --git a/notebooks/wut-web-dev.ipynb b/notebooks/wut-web-dev.ipynb index ef3fcdd..d12f58f 100644 --- a/notebooks/wut-web-dev.ipynb +++ b/notebooks/wut-web-dev.ipynb @@ -60,14 +60,11 @@ "print(\"wut is an AI that rates SatNOGS Observations good or bad.\")\n", "print(\"The training model was built from DUV transmissions recorded by the\")\n", "print(\"SatNOGS network in December, 2019.\")\n", - "print(\"When the page loads, the AI processes a random image and rates it good or bad.\")\n", - "print(\"The test pool has 500+ DUV waterfalls the AI hasn't seen before.\")\n", "print(\"The plan is to have models of all SatNOGS modes (65 at present),\")\n", "print(\"and you can enter an arbitrary Observation ID and the AI will return a rating.\")\n", "print(\"\")\n", "print(\"Source Code:\")\n", - "print(\"https://spacecruft.org/spacecruft/satnogs-wut\")\n", - "print(\"Alpha stage.\")" + "print(\"https://spacecruft.org/spacecruft/satnogs-wut\")" ] }, { @@ -106,9 +103,8 @@ "outputs": [], "source": [ "def wutObs(datObs):\n", - " if int(datObs) > ( minobsid - 1 ) and int(datObs) < maxobsid:\n", + " if int(datObs) > ( minobsid - 1 ) and int(datObs) < ( maxobsid + 1):\n", " obsjsonfile=('/srv/satnogs/download/' + format(datObs) + '/' + format(datObs) + '.json')\n", - " !cat $obsjsonfile\n", " with open(obsjsonfile) as f:\n", " content = f.read()\n", " data = json.loads(content)\n", @@ -116,18 +112,21 @@ " res2 = dict(enumerate(data))\n", " obs_dict=(res2[0])\n", " obs_id=(obs_dict['id'])\n", + " \n", " obs_vetted_status=(obs_dict['vetted_status'])\n", " obs_waterfallurl=(obs_dict['waterfall'])\n", + " obs_transmitter=(obs_dict['transmitter'])\n", + " obs_station_name=(obs_dict['station_name'])\n", + " obs_transmitter_mode=(obs_dict['transmitter_mode'])\n", + " \n", " obs_waterfall=os.path.basename(obs_waterfallurl)\n", - " print('Observation ID: ', obs_id)\n", - " print('Human vetting:', obs_vetted_status)\n", " obs_waterfall_path = os.path.join('/srv/satnogs/download', str(obs_id), obs_waterfall)\n", + " \n", " tmp_dir = tempfile.mkdtemp()\n", " test_dir = os.path.join(tmp_dir)\n", " os.makedirs(test_dir + '/unvetted', exist_ok=True)\n", " shutil.copy(obs_waterfall_path, test_dir + '/unvetted/')\n", - " img = im.open(obs_waterfall_path).resize( (75,150) )\n", - " display(img)\n", + " img = im.open(obs_waterfall_path).resize( (100,200) )\n", " test_image_generator = ImageDataGenerator(\n", " rescale=1./255\n", " )\n", @@ -142,14 +141,24 @@ " predictions=[]\n", " prediction_bool = (prediction >0.8)\n", " predictions = prediction_bool.astype(int)\n", + " print('https://network.satnogs.org/observations/' + str(obs_id))\n", " print('Observation ID: ', obs_id)\n", - " print('Human rating: ', obs_vetted_status)\n", + " print('Encoding: ', obs_transmitter_mode)\n", + " if obs_transmitter_mode == 'DUV':\n", + " print(\"Using DUV training model.\")\n", + " else:\n", + " print(\"NOTE: wut has not been trained on\", obs_transmitter_mode, \"encodings.\")\n", + " \n", + " \n", + " print('Human rating: ', obs_vetted_status)\n", " if prediction_bool[0] == False:\n", " rating = 'bad'\n", " else:\n", " rating = 'good'\n", - " print('wut AI rating: %s' % (rating))\n", - " shutil.rmtree(test_dir)" + " print('wut AI rating: %s' % (rating))\n", + " display(img)\n", + " shutil.rmtree(test_dir)\n", + " #!cat $obsjsonfile" ] }, {