{ "cells": [ { "cell_type": "markdown", "id": "3bd88ee9-8761-4053-8f94-4fd99b0576df", "metadata": {}, "source": [ "## 2D Gaussian" ] }, { "cell_type": "code", "execution_count": 1, "id": "4e2210ea-ad2e-4a9b-a25b-dd4cfc318ea3", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "X, Y = np.mgrid[-10:10:100j,-9:9:99j]\n", "\n", "from lamatrix import Gaussian2D" ] }, { "cell_type": "code", "execution_count": 2, "id": "174d3da9-b9ad-4e6b-8485-dbee07d18071", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\\[f(\\mathbf{y}, \\mathbf{x}) = w_{0} \\frac{1}{2\\pi\\sigma_x\\sigma_y\\sqrt{1 - \\rho^2}} e^{- \\frac{1}{2(1-\\rho^2)} \\left[\\frac{(\\mathbf{x} - \\mu_x)^2}{2\\sigma_x^2} + \\frac{(\\mathbf{y} - \\mu_y)^2}{2\\sigma_y^2} - \\frac{2\\rho(\\mathbf{x} - \\mu_x)(\\mathbf{y} - \\mu_y)}{\\sigma_x\\sigma_y}\\right]}\\]
" ], "text/plain": [ "'\\\\[f(\\\\mathbf{y}, \\\\mathbf{x}) = w_{0} \\\\frac{1}{2\\\\pi\\\\sigma_x\\\\sigma_y\\\\sqrt{1 - \\\\rho^2}} e^{- \\\\frac{1}{2(1-\\\\rho^2)} \\\\left[\\\\frac{(\\\\mathbf{x} - \\\\mu_x)^2}{2\\\\sigma_x^2} + \\\\frac{(\\\\mathbf{y} - \\\\mu_y)^2}{2\\\\sigma_y^2} - \\\\frac{2\\\\rho(\\\\mathbf{x} - \\\\mu_x)(\\\\mathbf{y} - \\\\mu_y)}{\\\\sigma_x\\\\sigma_y}\\\\right]}\\\\]'" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Gaussian2D().equation" ] }, { "cell_type": "code", "execution_count": 4, "id": "b73a16d1-6b07-4857-aaca-086d4362ff59", "metadata": {}, "outputs": [], "source": [ "model = Gaussian2D('x', 'y', sigma_x=2, sigma_y=2, mu_x=0, mu_y=0, rho=0.8)\n", "w = np.random.uniform(0, 1, size=model.width)\n", "sample = model.design_matrix(x=X, y=Y).dot(w)" ] }, { "cell_type": "code", "execution_count": 5, "id": "bc27be3e-b238-4c8c-8ec5-3f0a22114e15", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbEAAAHHCAYAAAAxq2ZtAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8ekN5oAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAy1UlEQVR4nO3dB5QURf7A8R85sygoCAIicoKCCZV44gknKgYE9fShYsSAAVBR9A+eARZzBtRTMBBOPDHdCXKgGA4woCgqQUVBETDBEiQI/X+/8s28ntqZ7u2dWWZq5/t5b2B7umempma3f1P1q6qu4HmeJwAAOKhitgsAAEBpEcQAAM4iiAEAnEUQAwA4iyAGAHAWQQwA4CyCGADAWQQxAICzCGIAAGcRxFAuTZgwQSpUqCDffPNNtotSrmh9ar1q/Ub15ptvmsfq/+XR0UcfbW7YtQhiKGb58uVyxRVXyJ/+9CepWbOmuR1wwAEycOBA+eSTT7JdvJyxcuVKueWWW+TII4+U3XbbTRo0aGBOYv/973+LHfv3v//dnMBjN63TZs2ayUknnSTjx4+XrVu3ZuU9AK6rnO0CILe8+uqr8re//U0qV64s/fr1k4MPPlgqVqwoixcvlhdeeEHGjh1rglzz5s0ll51zzjly5plnSrVq1crsNV566SW54447pHfv3tK/f3/5/fff5emnn5a//vWv8uSTT8r5559f7DFaf7Vr1zZB6/vvv5cZM2bIBRdcIPfff7+p+6ZNm5ZZeYHyiCCGuK+++sqc+DVAzZo1S/baa6+E/XrCHjNmjAlqua5SpUrmVpb+8pe/yIoVK0wLLObSSy+VQw45REaMGJE0iJ122mkJx+txEydOlHPPPVdOP/10mTdvXpmWGShvcv9shF3mzjvvlE2bNpnuLTuAKW2dXXXVVQmtBe1ePO+882TfffeV6tWrS6NGjUzL4ueff054rB6zzz77pOxm85s5c6Z07dpV6tWrZ1ot+++/v9x4440Jxzz00ENy4IEHmm457co7/PDDZdKkSYE5MW059erVSxo3bmxaaC1btpTbbrtNduzYkfDc2iXYtm1b+fzzz02g0tdo0qSJqR8/fX1/QFL6vCeccIJ89913smHDBikJbfFedNFFMn/+fPPeg8Tqa+nSpXL22WdLQUGB7LHHHjJ8+HDRC1JoF+cpp5widevWNZ/FPffcU+w51q5dKxdeeKE0bNjQfGba2n7qqaeKHbdu3Trzuelr6GehrU29LxltqWuA3n333c1z6ufx8ssvS2lovQ0aNMj8vmh97rnnnqZ1u2DBgvgxb7/9tgn62iWrx+jv5ODBg+W3335LeC4tv/4O6ZeNE0880fysn+Ujjzxi9n/66adyzDHHSK1atcyXN//vkP/36K233pJLLrlE6tevb+pWv3T8+uuvoe9FW9w333yz7LfffvFyDh06lO7jDCKIIU67s/SPrUOHDiV+jJ50v/76a9Pq0MCiLbkpU6aYE3lprvLz2WefmZON/pHfeuut5iR88skny7vvvhs/5vHHHzfBVPN02g2neSlt/WgQCKInJD2JDRkyRB544AFp3769aQndcMMNxY7VE9Rxxx1nTvBahtatW8v1118vr732Wuh7WL16dTyXGKX7U73++uslOl67fHfu3CmjR482n9ftt99u6kJP9nqS1lazfpbXXnutOQHH6Eleg/Qzzzxjguddd91lgpSe7LVOYvSz02Cox2mw1OfXwKyBLNln1rFjR/niiy9MXWp9aVDQbtZp06ZJVNqa1W7Xvn37mpa/vocaNWqY54+ZOnWqbN68WS677DLze9ezZ0/zvwYXm35JOf74400A0S8iGhw156u/D/oZa8DV+qpTp455vHaX2/R4fX39EqHHaOtZ31/Q77h+Pvq7e/fdd5vcp5ZPH3PfffeZzw8ZotcTA9avX69/jV7v3r2L7fv111+9H3/8MX7bvHlzfJ//55jJkyeb53rrrbfi9/Xv399r3rx5sWNvvvlmc2zMfffdZ7b1dVI55ZRTvAMPPDDw/YwfP948z/LlywPLeskll3g1a9b0tmzZEr+vW7du5rFPP/10/L6tW7d6jRo18vr27Rv4usuWLfOqV6/unXPOOUnfZ6r3pXWs+0899dTA5489z4ABA+L3/f77797ee+/tVahQwRs9enTCc9aoUcPUfcz9999vHv/ss8/G79u2bZvXqVMnr3bt2l5RUZG578UXXzTH3XnnnQmv8+c//9ncr/Ub0717d69du3YJdbhz506vc+fOXqtWreL3vfHGG+ax+n+QgoICb+DAgYHHJPssCwsLTR18++238fv0vetrjho1qli96LFTpkyJ37948WJzrNax/XvUvn17U08xWi96/0svvZTwe6O3mGeeecarWLGi9/bb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6XQvRrlisf917NcMWhXe7k4MG97+888/p1y1Pqh7MeiK1/Zq+fbyVfbwfLu7sVatWim7Hu33598Ou4J0lPrPVJcgw+9zAy0xAICzCGIAAGcRxAAAziInhnIlF5aosnNTQTmaKDmxsGWngpZ8KigoSNhn58j8uS0712OXyV9mezi+fXVpe3j+xo0bU+bL7OH4/veXySWqgnBVaPfQEgMAOIsgBgBwFkEMAOAscmIo13JxiaqgnFjQtp0DC1rSyZ6HZV9OxT9fy85d2Xktm3/+ll1eu45///33hO0tW7aknKtmb/vfr50PtOeU+XNkdr5s586du+SyLcgOWmIAAGcRxAAAziKIAQCcRU4MeSOddRbD8h9RHhuUE7OP9ed37DyQnScKyonZOTB727/moT23y85r+dllsudz2fz5KTv3Zq/D6N9vHxv0unZ5o8wbi/I5h/3+cNmWXYOWGADAWQQxAICz6E5E3orS/WN3HdndgP5usqDLhISVIeiyLWFXgba7F/3dibVr107YZ28XFRWlHOruHxafbKmpoDLZ20Hdcdu3b0+5bXcn2tMN/F2I9vMEDbm369sejh80hSBKFyFLUpXzltj3338vZ599ttSvX9/MfWnXrp188MEHCb8AI0aMkL322svs79GjhyxbtiyrZQYAZF/Wg9ivv/4qXbp0MYna1157TT7//HO55557ZLfddosfc+edd8qDDz4o48aNk/nz55ukdM+ePYt9QwQA5Jesdyfecccd0rRpUxk/fnz8vhYtWiS0wu6//375v//7PznllFPMfU8//bQ0bNhQXnzxRTnzzDOzUm4AQPZlPYi9/PLLplV1+umny5w5c6RJkyZy+eWXy8UXX2z2L1++XFavXm26EP2XlejQoYPMnTuXIIacWKLKnztJZ+miKDkxe9sedu7ftpeosofY+y/NYl8ixc6R+fNTdn7MLn9QmcLyUf48l/06dt7Lf6z9mvZj/XUatmwWy1Llvqx3J3799dcyduxYadWqlcyYMUMuu+wyueqqq+Spp54y+zWAKW15+el2bJ9N55tootp/AwCUP1lviem3r8MPP1xGjRpltg899FBZtGiRyX/179+/VM9ZWFgot9xyS4ZLCgDINVlviemIwwMOOCDhvjZt2siKFSvMz40aNTL/r1mzJuEY3Y7tsw0bNsx0j8RuK1euLLPyAwDyuCWm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3sknn+y1aNHC++2337x8MXLkSK9+/freq6++6i1fvtybOnWqV7t2be+BBx6IH0M9RZMXQezII4/0Bg4cGN/esWOH17hxY6+wsDCr5cola9eu1a+C3pw5c8z2unXrvCpVqpg/spgvvvjCHDN37lwv32zYsMFr1aqVN3PmTK9bt27xIEY9/eH666/3unbtmnL/zp07vUaNGnl33XVX/D6tu2rVqnmTJ0/28kWvXr28Cy64IOG+Pn36eP369TM/U0/RlfvuxG3btsmHH35omuT+tRR1e+7cuVktWy5Zv369+X/33Xc3/2udbd++PaHeWrdubRZQzsd60+7CXr16JdSHop7+8PLLL8vhhx8up59+uumePvTQQ+Xxxx+P71++fLmsXr06oZ50XTzt2s+neurcubPMmjVLli5darYXLlwo77zzjhx//PFmm3qKrtwvAPzTTz+ZfuiGDRsm3K/bixcvzlq5cm2Vf83xdOnSRdq2bWvu0z+kqlWrSr169YrVm+7LJ1OmTJEFCxbI+++/X2wf9fSHr7/+WsaOHStDhgyRG2+80dTVVVddZeqmf//+8bpI9neYT/V0ww03mIXI9YtOpUqVzLlp5MiR0q9fP7Ofeoqu3AcxlKyVsWjRIvONEIn00hhXX321zJw50wwKQuovQtoSGzVqlNnWlpj+To0bN84EMfzhueeek4kTJ8qkSZPkwAMPlI8//th8gdTLjVBPpVPuuxMbNGhgvvHYo8V0u1GjRpLvrrjiCnn11VfljTfeMJeridG60a7YdevW5XW9aXfh2rVr5bDDDpPKlSub25w5c+TBBx80P+s3ZOpJzEi6Aw44IOG+Nm3ayIoVK8zPsbrI97/D6667zrTGzjzzTDN685xzzpHBgweb0cKKeoqu3Acx7c5o37696Yf2f2vU7U6dOkm+0kE9GsCmTZsms2fPNkN+/bTOqlSpklBvOgRfT0r5VG/du3eXTz/91Hxjjt20xaHdP7GfqScxXdH2FA3N+zRv3tz8rL9fehL215N2q82fPz+v6mnz5s3FLvCoX7L1nKSop1Lw8mSIvY7umTBhgvf55597AwYMMEPsV69e7eWryy67zAzjffPNN70ffvghftu8eXPC0HEddj979mwzdLxTp07mlu/8oxMV9fTH9IPKlSubIeTLli3zJk6c6NWsWdN79tlnE4aO69/dSy+95H3yySfeKaeckndDx/v37+81adIkPsT+hRde8Bo0aOANHTo0fgz1FE1eBDH10EMPmRONzhfTIffz5s3z8pl+f0l207ljMfpHc/nll3u77babOSGdeuqpJtDlOzuIUU9/eOWVV7y2bduaL4ytW7f2HnvssYT9Onx8+PDhXsOGDc0x3bt395YsWeLlk6KiIvO7o+ei6tWre/vuu6930003eVu3bo0fQz1Fw6VYAADOKvc5MQBA+UUQAwA4iyAGAHAWQQwA4CyCGADAWQQxAICzCGIAAGcRxAAAziKIAQCcRRADADiLIAY4aPLkyVKjRg354Ycf4vedf/75ctBBB8Wv0g3kA9ZOBBykf7aHHHKIHHXUUfLQQw/JzTffLE8++aTMmzdPmjRpku3iAbsMV3YGHFShQgVzWfvTTjvNXH9KA9nbb79NAEPeoSUGOEyvOP3ZZ5/J66+/Lt26dct2cYBdjpwY4Kjp06fL4sWLZceOHdKwYcNsFwfIClpigIMWLFggRx99tDz66KMyYcIEqVu3rkydOjXbxQJ2OXJigGO++eYb6dWrl9x4441y1llnyb777iudOnUygU27F4F8QksMcMgvv/winTt3Nq2wcePGxe/XoKbditrFCOQTghgAwFkM7AAAOIsgBgBwFkEMAOAsghgAwFkEMQCAswhiAABnEcQAAM4iiAEAnEUQAwA4iyAGAHAWQQwA4CyCGABAXPX/juInx/KK+rgAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots()\n", "ax.imshow(sample, cmap='Greys')\n", "ax.set(xlabel='$x$', ylabel='$y$', title='Gaussian2D model sample');" ] }, { "cell_type": "code", "execution_count": null, "id": "4ad0f30f-cc69-498c-be88-69c00dd869c1", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.13" } }, "nbformat": 4, "nbformat_minor": 5 }