Skip to content

Instantly share code, notes, and snippets.

@taldcroft
Created September 3, 2014 11:40
Show Gist options
  • Select an option

  • Save taldcroft/d7ee48f9f09b29ddfde0 to your computer and use it in GitHub Desktop.

Select an option

Save taldcroft/d7ee48f9f09b29ddfde0 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:8cf533123f7b20dd1852e451c1390464bfead4cf9f2fdbfe7f4d883890eae1b9"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"import os\n",
"os.environ['SKA'] = '/Users/aldcroft/ska'"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import Chandra.Maneuver\n",
"from Quaternion import Quat\n",
"import numpy as np\n",
"import Ska.engarchive.fetch_eng as fetch\n",
"from Ska.Matplotlib import plot_cxctime\n",
"from kadi import events\n",
"from Chandra.Time import date2secs"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 30
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"t_step = 100\n",
"atts = Chandra.Maneuver.attitudes((0,0,0), (50,0,0), step=t_step)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 17
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from astropy.table import Table\n",
"atts = Table(atts)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"atts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<table id=\"table4468374160\"><thead><tr><th>time</th><th>q1</th><th>q2</th><th>q3</th><th>q4</th><th>pitch</th></tr></thead><tr><td>0.0</td><td>0.0</td><td>0.0</td><td>0.0</td><td>1.0</td><td>79.6448299995</td></tr><tr><td>102.051303168</td><td>0.0</td><td>0.0</td><td>0.00299508215609</td><td>0.999995514731</td><td>79.9585509056</td></tr><tr><td>204.102606335</td><td>0.0</td><td>0.0</td><td>0.0166953142302</td><td>0.999860623528</td><td>81.3986732246</td></tr><tr><td>306.153909503</td><td>0.0</td><td>0.0</td><td>0.0417453735559</td><td>0.999128281947</td><td>84.0364058454</td></tr><tr><td>408.205212671</td><td>0.0</td><td>0.0</td><td>0.0780997259619</td><td>0.996945551575</td><td>87.874250167</td></tr><tr><td>510.256515838</td><td>0.0</td><td>0.0</td><td>0.125628760642</td><td>0.992077322843</td><td>92.9116830422</td></tr><tr><td>612.307819006</td><td>0.0</td><td>0.0</td><td>0.184043452839</td><td>0.98291810822</td><td>99.1400062206</td></tr><tr><td>714.359122174</td><td>0.0</td><td>0.0</td><td>0.248599127868</td><td>0.968606459623</td><td>106.08062827</td></tr><tr><td>816.410425341</td><td>0.0</td><td>0.0</td><td>0.305411669647</td><td>0.952220411482</td><td>112.246518443</td></tr><tr><td>918.461728509</td><td>0.0</td><td>0.0</td><td>0.350545006252</td><td>0.936545887072</td><td>117.186275203</td></tr><tr><td>1020.51303168</td><td>0.0</td><td>0.0</td><td>0.384415700646</td><td>0.923160099385</td><td>120.917062136</td></tr><tr><td>1122.56433484</td><td>0.0</td><td>0.0</td><td>0.407428265405</td><td>0.913237213734</td><td>123.462289297</td></tr><tr><td>1224.61563801</td><td>0.0</td><td>0.0</td><td>0.419901899903</td><td>0.907569498417</td><td>124.844606862</td></tr><tr><td>1326.66694118</td><td>0.0</td><td>-0.0</td><td>0.422618261741</td><td>0.906307787037</td><td>125.145027826</td></tr></table>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"<Table rows=14 names=('time','q1','q2','q3','q4','pitch')>\n",
"array([(0.0, 0.0, 0.0, 0.0, 1.0, 79.64482999950958),\n",
" (102.05130316768518, 0.0, 0.0, 0.0029950821560936654, 0.9999955147313803, 79.95855090559664),\n",
" (204.10260633537035, 0.0, 0.0, 0.016695314230227146, 0.9998606235284766, 81.39867322455306),\n",
" (306.1539095030555, 0.0, 0.0, 0.04174537355592242, 0.9991282819471564, 84.03640584542424),\n",
" (408.2052126707407, 0.0, 0.0, 0.07809972596185852, 0.9969455515747501, 87.87425016695065),\n",
" (510.2565158384259, 0.0, 0.0, 0.12562876064198872, 0.9920773228431128, 92.91168304219721),\n",
" (612.307819006111, 0.0, 0.0, 0.18404345283908577, 0.9829181082201442, 99.14000622061279),\n",
" (714.3591221737962, 0.0, 0.0, 0.24859912786827806, 0.9686064596228602, 106.08062827003035),\n",
" (816.4104253414814, 0.0, 0.0, 0.3054116696467252, 0.9522204114823414, 112.24651844257147),\n",
" (918.4617285091666, 0.0, 0.0, 0.3505450062519828, 0.9365458870721697, 117.18627520268366),\n",
" (1020.5130316768518, 0.0, 0.0, 0.38441570064599234, 0.9231600993851775, 120.91706213561129),\n",
" (1122.564334844537, 0.0, 0.0, 0.407428265404698, 0.9132372137343719, 123.46228929747727),\n",
" (1224.615638012222, 0.0, 0.0, 0.4199018999033896, 0.9075694984173519, 124.84460686178467),\n",
" (1326.6669411799073, 0.0, -0.0, 0.42261826174069944, 0.9063077870366499, 125.14502782631419)], \n",
" dtype=[('time', '<f8'), ('q1', '<f8'), ('q2', '<f8'), ('q3', '<f8'), ('q4', '<f8'), ('pitch', '<f8')])"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"qs = [Quat([att['q1'], att['q2'], att['q3'], att['q4']]) for att in atts]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dqs = [q1 / q0 for q0, q1 in zip(qs[:-1], qs[1:])]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dt = np.diff(atts['time'])[0]\n",
"dt"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 7,
"text": [
"102.05130316768518"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"q_biaserr = Quat(np.array([0.001, 0.00, 0]) * dt)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"qout = q_biaserr * dqs[0]\n",
"for dq in dqs[1:]:\n",
" qout = q_biaserr * dq * qout "
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 10
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"qout.equatorial"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"array([ 51.32666694, 0. , 0. ])"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"atts[-1]"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import astropy\n",
"astropy.__version__"
],
"language": "python",
"metadata": {},
"outputs": []
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dat = fetch.Msidset(['aogbias1'], '2010:001:00:00:00', '2010:001:00:30:00', stat='5min')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"biaserr1 = (dat['aogbias1'].vals - dat['aogbias1'].vals[0]) * 180 / np.pi\n",
"plot_cxctime(dat['aogbias1'].times, biaserr1)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 12,
"text": [
"(((matplotlib.dates.MinuteLocator,\n",
" {'byminute': [0, 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44, 48, 52, 56]},\n",
" '%j:%H:%M',\n",
" matplotlib.dates.MinuteLocator,\n",
" {}),),\n",
" <matplotlib.figure.Figure at 0x107e83c90>,\n",
" <matplotlib.axes._subplots.AxesSubplot at 0x107e7a690>)"
]
},
{
"metadata": {},
"output_type": "display_data",
"png": "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\nkQz6f5NxWQl6KfHnAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0x107e83c90>"
]
}
],
"prompt_number": 12
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dat['aogbias1'].unit"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 11,
"text": [
"'RADPS'"
]
}
],
"prompt_number": 11
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dat['aogbias1'].vals * 180 / np.pi * 3600"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 14,
"text": [
"array([-0.96689391, -0.96663272, -0.96647745, -0.96663648, -0.96644443], dtype=float32)"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dwells = events.dwells(pad=(-1200, -3600))\n",
"date_intervals = dwells.intervals('2010:001', '2010:003')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 39
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"secs_intervals = date2secs(np.array(date_intervals).ravel()).reshape(-1, 2)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 40
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dt_secs_intervals = secs_intervals - secs_intervals[0, 0]\n",
"dt_secs_intervals"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 41,
"text": [
"array([[ 0. , 19294.71900004],\n",
" [ 30680.34400004, 31065.81900007],\n",
" [ 40799.14400005, 46067.72000003],\n",
" [ 51192.64500004, 56299.27000004],\n",
" [ 70036.24600005, 95092.44700009],\n",
" [ 100745.24700004, 100982.09800005],\n",
" [ 107547.148 , 121084.39900011],\n",
" [ 129695.34900004, 172800. ]])"
]
}
],
"prompt_number": 41
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"dts = dt_secs_intervals[:, 1] - dt_secs_intervals[:, 0]\n",
"dts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 42,
"text": [
"array([ 19294.71900004, 385.47500002, 5268.57599998, 5106.625 ,\n",
" 25056.20100003, 236.85100001, 13537.25100011, 43104.65099996])"
]
}
],
"prompt_number": 42
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cum_dts = np.cumsum(dts)\n",
"cum_dts"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 43,
"text": [
"array([ 19294.71900004, 19680.19400007, 24948.77000004,\n",
" 30055.39500004, 55111.59600008, 55348.44700009,\n",
" 68885.69800019, 111990.34900016])"
]
}
],
"prompt_number": 43
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"manvrs = events.manvrs.filter('2010:001', '2010:005')\n",
"manvrs[2]"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 49,
"text": [
"<Manvr: start=2010:001:21:37:56.582 dur=1222 n_dwell=1 template=normal>"
]
}
],
"prompt_number": 49
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"for i in range(20):\n",
" t0 = np.random.uniform(high=cum_dts[-1])\n",
" index = np.searchsorted(cum_dts, t0)\n",
" print(index)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"7\n",
"7\n",
"0\n",
"6\n",
"6\n",
"0\n",
"6\n",
"4\n",
"3\n",
"6\n",
"6\n",
"4\n",
"7\n",
"7\n",
"6\n",
"4\n",
"2\n",
"4\n",
"7\n",
"1\n"
]
}
],
"prompt_number": 46
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": []
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment