Skip to content

Instantly share code, notes, and snippets.

@alexrudy
Created May 5, 2015 22:07
Show Gist options
  • Save alexrudy/ba6a54250b40f1ba00e2 to your computer and use it in GitHub Desktop.
Save alexrudy/ba6a54250b40f1ba00e2 to your computer and use it in GitHub Desktop.
Compound Astropy Models
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Some Models"
]
},
{
"cell_type": "code",
"execution_count": 82,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from astropy.modeling import FittableModel, Parameter\n",
"import numpy as np\n",
"from astropy.modeling import models, fitting\n",
"import matplotlib.pyplot as plt\n",
"import astropy.constants as c\n",
"import astropy.units as u\n",
"%matplotlib inline"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class Center(FittableModel):\n",
" \"\"\"Center a coordinate system in x,y space.\"\"\"\n",
" \n",
" inputs = (\"X\", \"Y\")\n",
" outputs = (\"X\", \"Y\")\n",
" \n",
" x_center = Parameter(min=0.0, max=70)\n",
" y_center = Parameter(min=0.0, max=70)\n",
" \n",
" @staticmethod\n",
" def evaluate(X, Y, x_center, y_center):\n",
" \"\"\"Recenter the coordinates.\"\"\"\n",
" return (X - x_center), (Y - y_center)"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class InclinedDisk(FittableModel):\n",
" \"\"\"A coordinate transform for an inclined disk with a position angle.\"\"\"\n",
" \n",
" inputs = ('X', 'Y')\n",
" outputs = ('R', 'Theta')\n",
" \n",
" inclination = Parameter(min=0.01, max=80.0)\n",
" position_angle = Parameter(min=-360.0, max=360.0)\n",
" \n",
" @staticmethod\n",
" def evaluate(X, Y, inclination, position_angle):\n",
" \"\"\"Evaluate and return the coordinate transform.\"\"\"\n",
" # Handle some assumed units.\n",
" pa = np.radians(position_angle)\n",
" inc = np.radians(inclination)\n",
" \n",
" # Set up the coordinate system for this galaxy.\n",
" CC = (-X * np.sin(pa) + Y * np.cos(pa) ) ** 2.0\n",
" SS = (-X * np.cos(pa) - Y * np.sin(pa) ) ** 2.0\n",
" R = np.sqrt(CC + SS / (np.cos(inc) ** 2.0) )\n",
" Theta = ((-X * np.sin(pa) + Y * np.cos(pa)) / R) * np.sin(inclination)\n",
" return (R, Theta)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## A simple pipeline"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class DiskCoordinates(Center | InclinedDisk):\n",
" r\"\"\"Coordinates for a disk given line-of-sight data.\n",
" \n",
" Converts ``x,y`` to ``r,theta`` given the following:\n",
" \n",
" .. math::\n",
" \n",
" c = -(x - x_{center}) \\sin(\\theta_{PA}) + (y - y_{center}) \\cos(\\theta_{PA})\n",
" \n",
" \"\"\"\n",
" pass"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.image.AxesImage at 0x10fe2fcd0>"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n",
"kTsAAAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x1107f7190>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"X, Y = np.meshgrid(np.arange(200), np.arange(200))\n",
"dc = DiskCoordinates(x_center_0=100.1, y_center_0=110.2, inclination_1=50.0, position_angle_1=10.0)\n",
"R, Theta = dc(X, Y)\n",
"plt.imshow(R)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Some fun with this pipeline:"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class LOSV(FittableModel):\n",
" \"\"\"Line of sight velocity!\"\"\"\n",
" \n",
" inputs = ('vel', 'theta')\n",
" outputs = ('vel',)\n",
" \n",
" @staticmethod\n",
" def evaluate(vel, theta):\n",
" \"\"\"Velocity in the line-of-sight direction.\"\"\"\n",
" return vel * theta"
]
},
{
"cell_type": "code",
"execution_count": 143,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<class '__main__.PolyVelocityProfile'>\n",
"Name: PolyVelocityProfile (CompoundModel28)\n",
"Inputs: ('X', 'Y')\n",
"Outputs: ('vel',)\n",
"Fittable parameters: (u'x_center_0', u'y_center_0', u'inclination_1', u'position_angle_1', u'c0_2', u'c1_2', u'c2_2', u'c3_2')\n",
"Expression: [0] | [1] | [2] & [3] | [4]\n",
"Components: \n",
" [0]: <class '__main__.Center'>\n",
" Name: Center\n",
" Inputs: ('X', 'Y')\n",
" Outputs: ('X', 'Y')\n",
" Fittable parameters: ('x_center', 'y_center')\n",
"\n",
" [1]: <class '__main__.InclinedDisk'>\n",
" Name: InclinedDisk\n",
" Inputs: ('X', 'Y')\n",
" Outputs: ('R', 'Theta')\n",
" Fittable parameters: ('inclination', 'position_angle')\n",
"\n",
" [2]: <Polynomial1D(3, c0=0.0, c1=0.0, c2=0.0, c3=0.0)>\n",
"\n",
" [3]: <Identity(1)>\n",
"\n",
" [4]: <class '__main__.LOSV'>\n",
" Name: LOSV\n",
" Inputs: ('vel', 'theta')\n",
" Outputs: ('vel',)"
]
},
"execution_count": 143,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class PolyVelocityProfile(DiskCoordinates | models.Polynomial1D(degree=3) & models.Identity(1) | LOSV):\n",
" \"\"\"A disk with a polynomial valued velocity profile.\"\"\"\n",
" pass\n",
"PolyVelocityProfile"
]
},
{
"cell_type": "code",
"execution_count": 225,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"pvp = PolyVelocityProfile(x_center_0=100, y_center_0=100, inclination_1=10.0, position_angle_1=10.0,\n",
" c0_2=0, c1_2=-2.0, c2_2=-0.005)"
]
},
{
"cell_type": "code",
"execution_count": 226,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/alexrudy/Dropbox/Library/Development/Python/ipython/IPython/kernel/__main__.py:21: RuntimeWarning: invalid value encountered in divide\n"
]
}
],
"source": [
"losv = pvp(X, Y)"
]
},
{
"cell_type": "code",
"execution_count": 227,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar instance at 0x11c6f8f38>"
]
},
"execution_count": 227,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x11c60ac50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.imshow(losv)\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 228,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11c9b8350>]"
]
},
"execution_count": 228,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x11c920990>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"R = np.linspace(0, 200, 200)\n",
"plt.plot(R, pvp[2](R))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# A more physical model"
]
},
{
"cell_type": "code",
"execution_count": 229,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"class SpheriodalMass(FittableModel):\n",
" \"\"\"A model which encloses a spheroidal mass.\"\"\"\n",
" \n",
" inputs = ('R',)\n",
" outputs = ('vel',)\n",
" \n",
" # Log of the BH Mass in M_sun.\n",
" blackhole_mass = Parameter(min=0.0, max=10)\n",
" \n",
" @staticmethod\n",
" def evaluate(R, blackhole_mass):\n",
" \"\"\"Evaluate and return the velocity field for a spheroidal mass model.\"\"\"\n",
" # Handle logarithmic parameters:\n",
" blackhole_mass = (10.0 ** blackhole_mass)\n",
" \n",
" G = c.G.to((u.km / u.s)**2 / u.M_sun * 0.1 * u.pc).value\n",
" \n",
" velocity_circular = np.sqrt(G * blackhole_mass / R)\n",
" \n",
" return velocity_circular"
]
},
{
"cell_type": "code",
"execution_count": 230,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<class '__main__.BHVelocityProfile'>\n",
"Name: BHVelocityProfile (CompoundModel52)\n",
"Inputs: ('X', 'Y')\n",
"Outputs: ('vel',)\n",
"Fittable parameters: (u'x_center_0', u'y_center_0', u'inclination_1', u'position_angle_1', u'blackhole_mass_2')\n",
"Expression: [0] | [1] | [2] & [3] | [4]\n",
"Components: \n",
" [0]: <class '__main__.Center'>\n",
" Name: Center\n",
" Inputs: ('X', 'Y')\n",
" Outputs: ('X', 'Y')\n",
" Fittable parameters: ('x_center', 'y_center')\n",
"\n",
" [1]: <class '__main__.InclinedDisk'>\n",
" Name: InclinedDisk\n",
" Inputs: ('X', 'Y')\n",
" Outputs: ('R', 'Theta')\n",
" Fittable parameters: ('inclination', 'position_angle')\n",
"\n",
" [2]: <class '__main__.SpheriodalMass'>\n",
" Name: SpheriodalMass\n",
" Inputs: ('R',)\n",
" Outputs: ('vel',)\n",
" Fittable parameters: ('blackhole_mass',)\n",
"\n",
" [3]: <Identity(1)>\n",
"\n",
" [4]: <class '__main__.LOSV'>\n",
" Name: LOSV\n",
" Inputs: ('vel', 'theta')\n",
" Outputs: ('vel',)"
]
},
"execution_count": 230,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"class BHVelocityProfile(DiskCoordinates | SpheriodalMass & models.Identity(1) | LOSV):\n",
" \"\"\"A disk with a velocity profile set only by a central black hole.\"\"\"\n",
" pass\n",
"BHVelocityProfile"
]
},
{
"cell_type": "code",
"execution_count": 231,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"BHv = BHVelocityProfile(x_center_0=100, y_center_0=100, inclination_1=10.0, position_angle_1=10.0, blackhole_mass_2=8)"
]
},
{
"cell_type": "code",
"execution_count": 232,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/alexrudy/Dropbox/Library/Development/Python/ipython/IPython/kernel/__main__.py:21: RuntimeWarning: invalid value encountered in divide\n",
"/Users/alexrudy/Dropbox/Library/Development/Python/ipython/IPython/kernel/__main__.py:18: RuntimeWarning: divide by zero encountered in divide\n"
]
}
],
"source": [
"losv = BHv(X, Y)"
]
},
{
"cell_type": "code",
"execution_count": 233,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar instance at 0x11cb636c8>"
]
},
"execution_count": 233,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n",
"rLFt7mOIqZ++TcpzS/z80jh0faH6HCgkN3gB+e44KerwEJKLeUg1m5vFzubrF52XHhrSf6oVIbn1\n",
"63jgpXtwL6EmNCq1AbWE5V9rQPwqJJWUks9COPbwZEi3S1+xdtpTvyg8wYG8HzXlh/X7eQDLNbBa\n",
"1WQHQJHu1hvpjp5rKqtHquQW/0jyg9GtpFe3twcu58RxeZCNZbK0L33oj2TpF1ZD08I96LElvk0i\n",
"PV7fPsClbUu3KaKqqk+MB4CLx6/j0kunrUr6ErqkhuadS3DS17FQjusFye8UlKAWrC2V8iQQFbWz\n",
"vbsnON9mBbjGZtcIchvC08iuHkYPDYlJbXapbtiDlEKkV88/TNobi2KTM2Ls3SWXtBZSnVOeFRCz\n",
"uWnSWreu61CQ49+oJ7WV3i7iTv3+Wp05cOQlNi+9eULzL6DvAOh++LZN6OqgNjmJ6LjkxqUy7b9H\n",
"yz25hZ716r/qNeCa8T3hhciunqrvOc0tuVFw0tMIjrcBZJueh5Se1tblk+aKumrAUDvYmPZDyUwr\n",
"s2ciyOTHbW++PuQ9BbCR7Lgt7uL6dVx49R7OeylNIjiqmgJ96U36iiiB1Ivt2sVoO0llpaDqK30H\n",
"uhKaBho0zMc9Isfkanad01Oy3K7dDtCkudZ2F1JnNUjSWLe+T3h+LbRMakM/h0dIvc2FQnIFBQVn\n",
"GiVOzoApJLW2rV1i08aPORuGek39eyxUhEtwcroWeQjz+riW4rzUBvSlOB/SQVVT+k4/EpfeNFWW\n",
"l9HYudgVxT2s0hzSz3WX1XNpkM/bqK9cdV0vz7VtFl3HQoqkJiEW90Y3AdB2j/Zt/XpoWcjREFJn\n",
"c6HY5EbASmZDsw2s4SChUBCNEGOeU3+sBfb6vlSVpbY3vj3SEus62Pf4BAd3T1uCo55TGpDrHQzU\n",
"JkaP20V2bWUxmxztJ0EKBPZt16Seh60M0bb4z8vOJdV1sfK2ukVY1R4JLe7OYyjhaWUeU8TJnRTv\n",
"ahxTk1loHktIiMXhYPOe0n7hrAWpnGYy+DadkBGJ4DzJeRscJ7fQV8rtZb7MCirF8SR9Conc6H8z\n",
"tEYpTCUG/5mYVAcA9XN/urY6vwnAWInO+mwRLt3Vc48nPFqeE0VdTUSKgTSV0MLl6dIa7aepot13\n",
"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\n",
"CskVFBScafx/Msqf9beEtK8AAAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x11c8d9ed0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.colors as mcolors\n",
"plt.imshow(losv, norm=mcolors.SymLogNorm(100))\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 234,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/alexrudy/Dropbox/Library/Development/Python/ipython/IPython/kernel/__main__.py:18: RuntimeWarning: divide by zero encountered in divide\n"
]
},
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x11ca30d10>]"
]
},
"execution_count": 234,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": [
"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\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x11c719f10>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(R, pvp[2](R))\n",
"plt.plot(R, BHv[2](R))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.9"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment