{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.io import readsav" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Visibility from SAV file" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# The link for the .sav file is: https://datacenter.stix.i4ds.net/view/image-archive/report/5283\n", "\n", "data = readsav( 'example_data/20211216_vis.sav', python_dict=True, verbose=False )\n", "vis_structure = data['vis']\n", "vis_components = vis_structure['OBSVIS']\n", "vis_array = np.hstack( ( np.real(vis_components), np.imag(vis_components) ) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Visibility from Numpy array" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "# The below numpy array includes only one visibility array, sized 48x1.\n", "# It is the same one as in the above example.\n", "\n", "vis_array = np.load( 'example_data/20211216_vis.npy' )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Predict with the Model" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Load the Model" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# load TF-Keras\n", "from tensorflow.keras.saving import load_model\n", "# load the custom layer\n", "from filters import GaussianFilter\n", "\n", "model = load_model( 'fcd.keras',\n", " custom_objects={'GaussianFilter': GaussianFilter},\n", " compile=False )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Predict a reconstructed image via visibility" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1/1 [==============================] - 0s 24ms/step\n" ] } ], "source": [ "# Below is the 'direct' prediction code, without the alpha coefficient.\n", "# The alpha coefficient is only used if you are interested in the flux intensities in the ouptut image.\n", "# Examples with the alpha coefficient are provided in the GitHub repository.\n", "\n", "predicted_img = model.predict( np.expand_dims( vis_array, axis=0 ) )\n", "predicted_img = np.squeeze( predicted_img )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Visualize" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAakAAAGhCAYAAADbf0s2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzDklEQVR4nO3df3RcdZ3/8ee9d+78yCSZNClNGmghancLUhFbqAHOri45WxQR1qoLp65VObBqq5TuCnS1uP7AIrurbBXp6tlFPQuinBUUzorfbsGyHEtaWmBBoJSlC7U1KZBmJr/m172f7x+TTDNtCqWdNJ8pr8c5czK59zM37885aV79fO7n3usYYwwiIiIWcqe6ABERkUNRSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1piykbrnlFk455RTi8TgLFy5k8+bNU1WKiIhYakpC6qc//SkrV67ky1/+Mtu2beOMM85g0aJF7N27dyrKERERSzlTcYPZhQsXctZZZ/Hd734XgDAMmTVrFp/73Oe47rrrXvfzYRiyZ88eGhoacBxnsssVEZEqM8YwMDBAe3s7rnvo8VLkGNYEQD6fZ+vWraxataq8zXVdurq62LRp04SfyeVy5HK58ve7d+/mtNNOm/RaRURkcu3atYuTTjrpkPuPeUi98sorBEFAa2trxfbW1laeffbZCT+zZs0avvKVrxy0/bSm+XjOMe+CiIgcpcAUebp/Kw0NDa/Zrib+wq9atYqVK1eWv89kMsyaNQvPiSikRERq2Oudsjnmf+GnT5+O53n09vZWbO/t7aWtrW3Cz8RiMWKx2LEoT0RELHLMV/dFo1Hmz5/Phg0bytvCMGTDhg10dnYe63JERMRiUzJXtnLlSpYuXcqCBQs4++yzufnmmxkaGuKTn/zkVJQjIiKWmpKQ+su//Etefvllrr/+enp6enjnO9/J/ffff9BiChEReXObkuukjlYmkyGVSjFv2kItnBARqUGBKfLkvm7S6TSNjY2HbKd794mIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFir6iG1Zs0azjrrLBoaGpgxYwaXXHIJ27dvr2iTzWZZtmwZLS0t1NfXs3jxYnp7e6tdioiI1Liqh9TGjRtZtmwZjzzyCOvXr6dQKPDnf/7nDA0NldtcffXV3Hvvvdx1111s3LiRPXv28KEPfajapYiISI1zjDFmMn/Ayy+/zIwZM9i4cSN/8id/Qjqd5oQTTuCOO+7gwx/+MADPPvssp556Kps2beLd73736x4zk8mQSqWYN20hnhOZzPJFRGQSBKbIk/u6SafTNDY2HrLdpJ+TSqfTADQ3NwOwdetWCoUCXV1d5TZz585l9uzZbNq0acJj5HI5MplMxUtERI5/kxpSYRiyYsUKzj33XE4//XQAenp6iEajNDU1VbRtbW2lp6dnwuOsWbOGVCpVfs2aNWsyyxYREUtMakgtW7aMp556ijvvvPOojrNq1SrS6XT5tWvXripVKCIiNpu0EzrLly/nvvvu46GHHuKkk04qb29rayOfz9Pf318xmurt7aWtrW3CY8ViMWKx2GSVKiIilqr6SMoYw/Lly7n77rt54IEH6OjoqNg/f/58fN9nw4YN5W3bt2/npZdeorOzs9rliIhIDav6SGrZsmXccccd/OIXv6ChoaF8nimVSpFIJEilUlx++eWsXLmS5uZmGhsb+dznPkdnZ+dhrewTEZE3j6qH1K233grAe97znortt912G5/4xCcA+Pa3v43ruixevJhcLseiRYv43ve+V+1SRESkxk36dVKTQddJiYjUNmuukxIRETlSCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGx1qSH1I033ojjOKxYsaK8LZvNsmzZMlpaWqivr2fx4sX09vZOdikiIlJjJjWktmzZwr/8y7/wjne8o2L71Vdfzb333stdd93Fxo0b2bNnDx/60IcmsxQREalBkxZSg4ODLFmyhB/84AdMmzatvD2dTvOv//qvfOtb3+LP/uzPmD9/Prfddhu//e1veeSRRyarHBERqUGTFlLLli3jwgsvpKurq2L71q1bKRQKFdvnzp3L7Nmz2bRp02SVIyIiNSgyGQe988472bZtG1u2bDloX09PD9FolKamportra2t9PT0THi8XC5HLpcrf5/JZKpar4iI2KnqI6ldu3Zx1VVXcfvttxOPx6tyzDVr1pBKpcqvWbNmVeW4IiJit6qH1NatW9m7dy/vete7iEQiRCIRNm7cyNq1a4lEIrS2tpLP5+nv76/4XG9vL21tbRMec9WqVaTT6fJr165d1S5bREQsVPXpvvPPP58nn3yyYtsnP/lJ5s6dy7XXXsusWbPwfZ8NGzawePFiALZv385LL71EZ2fnhMeMxWLEYrFqlyoiIparekg1NDRw+umnV2xLJpO0tLSUt19++eWsXLmS5uZmGhsb+dznPkdnZyfvfve7q12OiIjUsElZOPF6vv3tb+O6LosXLyaXy7Fo0SK+973vTUUpIiJiMccYY6a6iDcqk8mQSqWYN20hnjMlOSsiIkchMEWe3NdNOp2msbHxkO107z4REbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESsFZnqAkTe7BwvdtTHMEGuCpWI2EchJXIMvV4gOV78dY9hguzrHlehJccLhZTIMfJaAXU44TRR24kCa+xnKajkeKCQEplk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iIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJiLYWUiIhYSyElIiLWUkiJiIi13nBIPfTQQ1x00UW0t7fjOA733HNPeV+hUODaa69l3rx5JJNJ2tvb+fjHP86ePXsqjtHX18eSJUtobGykqamJyy+/nMHBwaPujIiIHF/ecEgNDQ1xxhlncMsttxy0b3h4mG3btrF69Wq2bdvGz3/+c7Zv384HP/jBinZLlizhd7/7HevXr+e+++7joYce4sorrzzyXoiIyHHJMcaYI/6w43D33XdzySWXHLLNli1bOPvss3nxxReZPXs2zzzzDKeddhpbtmxhwYIFANx///28//3v5/e//z3t7e2v+3MzmQypVIp50xbiOZEjLV9ERKZIYIo8ua+bdDpNY2PjIdtN+jmpdDqN4zg0NTUBsGnTJpqamsoBBdDV1YXrunR3d092OSIiUkMmdRiSzWa59tprueyyy8pJ2dPTw4wZMyqLiERobm6mp6dnwuPkcjlyuVz5+0wmM3lFi4iINSZtJFUoFPjoRz+KMYZbb731qI61Zs0aUqlU+TVr1qwqVSkiIjablJAaC6gXX3yR9evXV8w3trW1sXfv3or2xWKRvr4+2traJjzeqlWrSKfT5deuXbsmo2wREbFM1af7xgJqx44dPPjgg7S0tFTs7+zspL+/n61btzJ//nwAHnjgAcIwZOHChRMeMxaLEYvFql2qiIhY7g2H1ODgIM8//3z5+507d/L444/T3NzMzJkz+fCHP8y2bdu47777CIKgfJ6pubmZaDTKqaeeygUXXMAVV1zBunXrKBQKLF++nEsvvfSwVvaJiMibxxtegv6b3/yG9773vQdtX7p0KX//939PR0fHhJ978MEHec973gOULuZdvnw59957L67rsnjxYtauXUt9ff1h1aAl6CIite1wl6Af1XVSU0UhJSJS26y5TkpERORIKaRERMRaCikREbGWQkpERKylkBIREWsppERExFoKKRERsZZCSkRErKWQEhERaymkRETEWgopERGxlkJKRESspZASERFrKaRERMRaNfmci7GniwSmOMWViIjIkRj7+/16T4uqyZAaGBgA4On+rVNciYiIHI2BgQFSqdQh99fkQw/DMGTPnj0YY5g9eza7du16zYdm1bJMJsOsWbOO6z6C+nm8eTP0883QR5i8fhpjGBgYoL29Hdc99JmnmhxJua7LSSedRCaTAaCxsfG4/iWBN0cfQf083rwZ+vlm6CNMTj9fawQ1RgsnRETEWgopERGxVk2HVCwW48tf/jKxWGyqS5k0b4Y+gvp5vHkz9PPN0EeY+n7W5MIJERF5c6jpkZSIiBzfFFIiImIthZSIiFhLISUiItaq2ZC65ZZbOOWUU4jH4yxcuJDNmzdPdUlHZc2aNZx11lk0NDQwY8YMLrnkErZv317RJpvNsmzZMlpaWqivr2fx4sX09vZOUcVH78Ybb8RxHFasWFHedrz0cffu3XzsYx+jpaWFRCLBvHnzePTRR8v7jTFcf/31zJw5k0QiQVdXFzt27JjCit+4IAhYvXo1HR0dJBIJ3vrWt/K1r32t4l5stdjPhx56iIsuuoj29nYcx+Gee+6p2H84ferr62PJkiU0NjbS1NTE5ZdfzuDg4DHsxWt7rT4WCgWuvfZa5s2bRzKZpL29nY9//OPs2bOn4hjHrI+mBt15550mGo2af/u3fzO/+93vzBVXXGGamppMb2/vVJd2xBYtWmRuu+0289RTT5nHH3/cvP/97zezZ882g4OD5Taf/vSnzaxZs8yGDRvMo48+at797nebc845ZwqrPnKbN282p5xyinnHO95hrrrqqvL246GPfX195uSTTzaf+MQnTHd3t3nhhRfMr3/9a/P888+X29x4440mlUqZe+65xzzxxBPmgx/8oOno6DAjIyNTWPkbc8MNN5iWlhZz3333mZ07d5q77rrL1NfXm3/+538ut6nFfv7nf/6n+eIXv2h+/vOfG8DcfffdFfsPp08XXHCBOeOMM8wjjzxi/vu//9u87W1vM5dddtkx7smhvVYf+/v7TVdXl/npT39qnn32WbNp0yZz9tlnm/nz51cc41j1sSZD6uyzzzbLli0rfx8EgWlvbzdr1qyZwqqqa+/evQYwGzduNMaUfnF83zd33XVXuc0zzzxjALNp06apKvOIDAwMmDlz5pj169ebP/3TPy2H1PHSx2uvvdacd955h9wfhqFpa2sz//AP/1De1t/fb2KxmPnJT35yLEqsigsvvNB86lOfqtj2oQ99yCxZssQYc3z088A/4IfTp6efftoAZsuWLeU2v/rVr4zjOGb37t3HrPbDNVEQH2jz5s0GMC+++KIx5tj2seam+/L5PFu3bqWrq6u8zXVdurq62LRp0xRWVl3pdBqA5uZmALZu3UqhUKjo99y5c5k9e3bN9XvZsmVceOGFFX2B46ePv/zlL1mwYAEf+chHmDFjBmeeeSY/+MEPyvt37txJT09PRT9TqRQLFy6sqX6ec845bNiwgeeeew6AJ554gocffpj3ve99wPHTz/EOp0+bNm2iqamJBQsWlNt0dXXhui7d3d3HvOZqSKfTOI5DU1MTcGz7WHM3mH3llVcIgoDW1taK7a2trTz77LNTVFV1hWHIihUrOPfcczn99NMB6OnpIRqNln9JxrS2ttLT0zMFVR6ZO++8k23btrFly5aD9h0vfXzhhRe49dZbWblyJX/3d3/Hli1b+PznP080GmXp0qXlvkz0O1xL/bzuuuvIZDLMnTsXz/MIgoAbbriBJUuWABw3/RzvcPrU09PDjBkzKvZHIhGam5trst/ZbJZrr72Wyy67rHyD2WPZx5oLqTeDZcuW8dRTT/Hwww9PdSlVtWvXLq666irWr19PPB6f6nImTRiGLFiwgG984xsAnHnmmTz11FOsW7eOpUuXTnF11fOzn/2M22+/nTvuuIO3v/3tPP7446xYsYL29vbjqp9vZoVCgY9+9KMYY7j11lunpIaam+6bPn06nucdtOKrt7eXtra2KaqqepYvX859993Hgw8+yEknnVTe3tbWRj6fp7+/v6J9LfV769at7N27l3e9611EIhEikQgbN25k7dq1RCIRWltba76PADNnzuS0006r2Hbqqafy0ksvAZT7Uuu/w1/4whe47rrruPTSS5k3bx5/9Vd/xdVXX82aNWuA46ef4x1On9ra2ti7d2/F/mKxSF9fX031eyygXnzxRdavX1/xmI5j2ceaC6loNMr8+fPZsGFDeVsYhmzYsIHOzs4prOzoGGNYvnw5d999Nw888AAdHR0V++fPn4/v+xX93r59Oy+99FLN9Pv888/nySef5PHHHy+/FixYwJIlS8rva72PAOeee+5Blw8899xznHzyyQB0dHTQ1tZW0c9MJkN3d3dN9XN4ePigh9V5nkcYhsDx08/xDqdPnZ2d9Pf3s3Xr/ieHP/DAA4RhyMKFC495zUdiLKB27NjBf/3Xf9HS0lKx/5j2sarLMI6RO++808RiMfPDH/7QPP300+bKK680TU1NpqenZ6pLO2Kf+cxnTCqVMr/5zW/MH/7wh/JreHi43ObTn/60mT17tnnggQfMo48+ajo7O01nZ+cUVn30xq/uM+b46OPmzZtNJBIxN9xwg9mxY4e5/fbbTV1dnfn3f//3cpsbb7zRNDU1mV/84hfmf/7nf8zFF19s/dLsAy1dutSceOKJ5SXoP//5z8306dPNNddcU25Ti/0cGBgwjz32mHnssccMYL71rW+Zxx57rLyy7XD6dMEFF5gzzzzTdHd3m4cfftjMmTPHqiXor9XHfD5vPvjBD5qTTjrJPP744xV/j3K5XPkYx6qPNRlSxhjzne98x8yePdtEo1Fz9tlnm0ceeWSqSzoqwISv2267rdxmZGTEfPaznzXTpk0zdXV15i/+4i/MH/7wh6krugoODKnjpY/33nuvOf30000sFjNz58413//+9yv2h2FoVq9ebVpbW00sFjPnn3++2b59+xRVe2QymYy56qqrzOzZs008HjdvectbzBe/+MWKP2S12M8HH3xwwn+LS5cuNcYcXp9effVVc9lll5n6+nrT2NhoPvnJT5qBgYEp6M3EXquPO3fuPOTfowcffLB8jGPVRz2qQ0RErFVz56REROTNQyElIiLWUkiJiIi1FFIiImIthZSIiFhLISUiItZSSImIiLUUUiIiYi2FlIiIWEshJSIi1lJIiYiItRRSIiJirf8PyBh0+qXXVy0AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# load matplotlib for visualization\n", "import matplotlib.pyplot as plt\n", "\n", "plt.imshow( predicted_img, cmap='turbo' )\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": "env_anomalies", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.6" } }, "nbformat": 4, "nbformat_minor": 2 }