{"action":"created","comment":{"url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/comments/67070615","id":67070615,"diff_hunk":"@@ -0,0 +1,258 @@\n+# Copyright (c) 2012-2016 by the GalSim developers team on GitHub\n+# https://github.com/GalSim-developers\n+#\n+# This file is part of GalSim: The modular galaxy image simulation toolkit.\n+# https://github.com/GalSim-developers/GalSim\n+#\n+# GalSim is free software: redistribution and use in source and binary forms,\n+# with or without modification, are permitted provided that the following\n+# conditions are met:\n+#\n+# 1. Redistributions of source code must retain the above copyright notice, this\n+#    list of conditions, and the disclaimer given in the accompanying LICENSE\n+#    file.\n+# 2. Redistributions in binary form must reproduce the above copyright notice,\n+#    this list of conditions, and the disclaimer given in the documentation\n+#    and/or other materials provided with the distribution.\n+#\n+\n+import warnings\n+import numpy as np\n+import galsim\n+\n+try:\n+    import matplotlib.pyplot as plt\n+    import matplotlib.animation as anim\n+except ImportError:\n+    raise ImportError(\"This demo requires matplotlib!\")\n+try:\n+    from astropy.utils.console import ProgressBar\n+except ImportError:\n+    raise ImportError(\"This demo requires astropy!\")\n+\n+def simple_moments(img):\n+    \"\"\"Compute unweighted 0th, 1st, and 2nd moments of image.  Return result as a dictionary.\n+    \"\"\"\n+    array = img.array\n+    scale = img.scale\n+    x = y = np.arange(array.shape[0])*scale\n+    y, x = np.meshgrid(y, x)\n+    I0 = np.sum(array)\n+    Ix = np.sum(x*array)/I0\n+    Iy = np.sum(y*array)/I0\n+    Ixx = np.sum((x-Ix)**2*array)/I0\n+    Iyy = np.sum((y-Iy)**2*array)/I0\n+    Ixy = np.sum((x-Ix)*(y-Iy)*array)/I0\n+    return dict(I0=I0, Ix=Ix, Iy=Iy, Ixx=Ixx, Iyy=Iyy, Ixy=Ixy)\n+\n+def ellip(mom):\n+    \"\"\"Convert moments dictionary into dictionary with ellipticity (e1, e2) and size (rsqr).\n+    \"\"\"\n+    rsqr = mom['Ixx'] + mom['Iyy']\n+    return dict(rsqr=rsqr, e1=(mom['Ixx']-mom['Iyy'])/rsqr, e2=2*mom['Ixy']/rsqr)\n+\n+def make_movie(args):\n+    \"\"\"Actually make the movie of the atmosphere given command line arguments stored in `args`.\n+    \"\"\"\n+\n+    # Initiate some GalSim random number generators.\n+    rng = galsim.BaseDeviate(args.seed)\n+    u = galsim.UniformDeviate(rng)\n+\n+    # The GalSim atmospheric simulation code describes turbulence in the 3D atmosphere as a series\n+    # of 2D turbulent screens.  The galsim.Atmosphere() helper function is useful for constructing\n+    # this screen list.\n+\n+    # First, we estimate a weight for each screen, so that the turbulence is dominated by the lower\n+    # layers.  For this, we just interpolate the weights given by Jee&Tyson (2011) onto a set of\n+    # uniformly-spaced layers between 0 and 15.46 km altitude.\n+    JT_alts = [0.0, 2.58, 5.16, 7.73, 12.89, 15.46]  # km\n+    JT_weights = [0.652, 0.172, 0.055, 0.025, 0.074, 0.022]  # weight\n+    JT_interp = galsim.LookupTable(JT_alts, JT_weights, interpolant='linear')\n+\n+    alts = 15.46*np.arange(args.nlayers)/(args.nlayers-1)  # uniformly spaced altitudes in km.","path":"examples/psf_wf_movie.py","position":null,"original_position":73,"commit_id":"12ebb9235d6504482ad7be017669d8b317cf6f01","original_commit_id":"f67453fbf5f41eb8fd1871a7380a49e3c9c4cc60","user":{"login":"jmeyers314","id":3650485,"avatar_url":"https://avatars.githubusercontent.com/u/3650485?v=3","gravatar_id":"","url":"https://api.github.com/users/jmeyers314","html_url":"https://github.com/jmeyers314","followers_url":"https://api.github.com/users/jmeyers314/followers","following_url":"https://api.github.com/users/jmeyers314/following{/other_user}","gists_url":"https://api.github.com/users/jmeyers314/gists{/gist_id}","starred_url":"https://api.github.com/users/jmeyers314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmeyers314/subscriptions","organizations_url":"https://api.github.com/users/jmeyers314/orgs","repos_url":"https://api.github.com/users/jmeyers314/repos","events_url":"https://api.github.com/users/jmeyers314/events{/privacy}","received_events_url":"https://api.github.com/users/jmeyers314/received_events","type":"User","site_admin":false},"body":"Good idea.  Done.","created_at":"2016-06-14T22:36:52Z","updated_at":"2016-06-14T22:36:52Z","html_url":"https://github.com/GalSim-developers/GalSim/pull/703#discussion_r67070615","pull_request_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703","_links":{"self":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/comments/67070615"},"html":{"href":"https://github.com/GalSim-developers/GalSim/pull/703#discussion_r67070615"},"pull_request":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703"}}},"pull_request":{"url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703","id":56938174,"html_url":"https://github.com/GalSim-developers/GalSim/pull/703","diff_url":"https://github.com/GalSim-developers/GalSim/pull/703.diff","patch_url":"https://github.com/GalSim-developers/GalSim/pull/703.patch","issue_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/703","number":703,"state":"open","locked":false,"title":"#549  Realistic Atmospheric PSFs","user":{"login":"jmeyers314","id":3650485,"avatar_url":"https://avatars.githubusercontent.com/u/3650485?v=3","gravatar_id":"","url":"https://api.github.com/users/jmeyers314","html_url":"https://github.com/jmeyers314","followers_url":"https://api.github.com/users/jmeyers314/followers","following_url":"https://api.github.com/users/jmeyers314/following{/other_user}","gists_url":"https://api.github.com/users/jmeyers314/gists{/gist_id}","starred_url":"https://api.github.com/users/jmeyers314/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jmeyers314/subscriptions","organizations_url":"https://api.github.com/users/jmeyers314/orgs","repos_url":"https://api.github.com/users/jmeyers314/repos","events_url":"https://api.github.com/users/jmeyers314/events{/privacy}","received_events_url":"https://api.github.com/users/jmeyers314/received_events","type":"User","site_admin":false},"body":"Hi all,\r\n\r\nThis PR is (mostly) for realistic atmospheric PSFs.  I structured the API in a way that I hope can eventually accommodate both atmospheric phase screens and aberrated optics phase screens, though I haven’t attempted to migrate the latter yet.  The main new functionality is summarized in the “phase_psf.py” docstring:\r\n\r\n```\r\nUtilities for creating PSFs from phase screens.  Essentially evaluates the Fourier optics\r\ndiffraction equation:\r\n\r\nPSF(x, y) = int( |FT(aperture(u, v) * exp(i * phase(u, v, x, y, t)))|^2, dt)\r\n\r\nwhere x, y are focal plane coordinates and u, v are pupil plane coordinates\r\n\r\nThe main classes of note are:\r\n\r\nFrozenAtmosphericScreen\r\n  Class implementing phase(u, v, x, y, t) for frozen flow von Karman type turbulence\r\n\r\nARAtmosphericScreen\r\n  Class implementing phase(u, v, x, y, t) for \"boiling\" von Karman type turbulence\r\n\r\nPhaseScreenList\r\n  Python sequence type to hold multiple phase screens, for instance to simulate turbulence at\r\n  different altitudes.  A key method is getPSF(), which will take the list of phase screens,\r\n  add them together linearly (Fraunhofer approximation), and evaluate the above diffraction\r\n  equation to yield a PhaseScreenPSF object.\r\n\r\nPhaseScreenPSF\r\n  A GSObject holding the evaluated PSF.\r\n\r\nAtmosphere\r\n  Convenience function to quickly assemble multiple AtmosphericScreens into a PhaseScreenList.\r\n```\r\n\r\nAnother good place to start looking at the API is in the docstring for Atmosphere.  Here’s just a snippet.\r\n\r\n```\r\n    As an example, the following code approximately creates the atmosphere used by Jee+Tyson(2011)\r\n    for their study of atmospheric PSFs for LSST.  Note this code takes about ~3-4 minutes to run on\r\n    a fast laptop, and will consume about (8192 ** 2 pixels) * (8 bytes) * (6 screens) ~ 3 GB of\r\n    RAM in its final state, and more at intermediate states.\r\n\r\n    > altitude = [0, 2.58, 5.16, 7.73, 12.89, 15.46]  # km\r\n    > r0_500_effective = 0.16  # m\r\n    > weights = [0.652, 0.172, 0.055, 0.025, 0.074, 0.022]\r\n    > r0_500 = [r0_500_effective * w**(-3./5) for w in weights]\r\n    > velocity = np.random.uniform(0, 20, size=6)  # m/s\r\n    > direction = [np.random.uniform(0, 360)*galsim.degrees for i in xrange(6)]\r\n    > npix = 8192\r\n    > screen_scale = 0.5 * r0_500_effective\r\n    > atm = galsim.Atmosphere(r0_500=r0_500, screen_size=screen_scale*npix, time_step=0.005,\r\n                              altitude=altitude, L0=25.0, velocity=velocity, direction=direction,\r\n                              screen_scale=screen_scale)\r\n\r\n    Once the atmosphere is constructed, a 15-sec exposure PSF (using an 8.4 meter aperture and\r\n    default settings) takes about 150 sec to generate on a fast laptop.\r\n\r\n    > psf = atm.getPSF(exptime=15.0, diam=8.4, obscuration=0.6)\r\n\r\n    Many factors will affect the timing of results, of course, including aperture diameter, gsparams\r\n    settings, pad_factor and oversampling options to getPSF, time_step and exposure time, frozen vs.\r\n    non-frozen atmospheric layers, and so on.\r\n\r\n```\r\n\r\nFinally, I also implemented a basic version of LookupTable2D (#465).  It’s not as flexible as LookupTable; it only accepts regularly gridded input, but it does have a few different edge handling modes, including ‘none’, ‘warn’, and ‘wrap’.\r\n\r\n-Josh","created_at":"2016-01-22T20:34:32Z","updated_at":"2016-06-14T22:36:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2099765b6f6a22e63b700c7e4b4ff07c0f86f28f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703/commits","review_comments_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703/comments","review_comment_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/comments{/number}","comments_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/703/comments","statuses_url":"https://api.github.com/repos/GalSim-developers/GalSim/statuses/12ebb9235d6504482ad7be017669d8b317cf6f01","head":{"label":"GalSim-developers:#549","ref":"#549","sha":"12ebb9235d6504482ad7be017669d8b317cf6f01","user":{"login":"GalSim-developers","id":1462196,"avatar_url":"https://avatars.githubusercontent.com/u/1462196?v=3","gravatar_id":"","url":"https://api.github.com/users/GalSim-developers","html_url":"https://github.com/GalSim-developers","followers_url":"https://api.github.com/users/GalSim-developers/followers","following_url":"https://api.github.com/users/GalSim-developers/following{/other_user}","gists_url":"https://api.github.com/users/GalSim-developers/gists{/gist_id}","starred_url":"https://api.github.com/users/GalSim-developers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GalSim-developers/subscriptions","organizations_url":"https://api.github.com/users/GalSim-developers/orgs","repos_url":"https://api.github.com/users/GalSim-developers/repos","events_url":"https://api.github.com/users/GalSim-developers/events{/privacy}","received_events_url":"https://api.github.com/users/GalSim-developers/received_events","type":"Organization","site_admin":false},"repo":{"id":3510804,"name":"GalSim","full_name":"GalSim-developers/GalSim","owner":{"login":"GalSim-developers","id":1462196,"avatar_url":"https://avatars.githubusercontent.com/u/1462196?v=3","gravatar_id":"","url":"https://api.github.com/users/GalSim-developers","html_url":"https://github.com/GalSim-developers","followers_url":"https://api.github.com/users/GalSim-developers/followers","following_url":"https://api.github.com/users/GalSim-developers/following{/other_user}","gists_url":"https://api.github.com/users/GalSim-developers/gists{/gist_id}","starred_url":"https://api.github.com/users/GalSim-developers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GalSim-developers/subscriptions","organizations_url":"https://api.github.com/users/GalSim-developers/orgs","repos_url":"https://api.github.com/users/GalSim-developers/repos","events_url":"https://api.github.com/users/GalSim-developers/events{/privacy}","received_events_url":"https://api.github.com/users/GalSim-developers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GalSim-developers/GalSim","description":"The modular galaxy image simulation toolkit","fork":false,"url":"https://api.github.com/repos/GalSim-developers/GalSim","forks_url":"https://api.github.com/repos/GalSim-developers/GalSim/forks","keys_url":"https://api.github.com/repos/GalSim-developers/GalSim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GalSim-developers/GalSim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GalSim-developers/GalSim/teams","hooks_url":"https://api.github.com/repos/GalSim-developers/GalSim/hooks","issue_events_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/events{/number}","events_url":"https://api.github.com/repos/GalSim-developers/GalSim/events","assignees_url":"https://api.github.com/repos/GalSim-developers/GalSim/assignees{/user}","branches_url":"https://api.github.com/repos/GalSim-developers/GalSim/branches{/branch}","tags_url":"https://api.github.com/repos/GalSim-developers/GalSim/tags","blobs_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/refs{/sha}","trees_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GalSim-developers/GalSim/statuses/{sha}","languages_url":"https://api.github.com/repos/GalSim-developers/GalSim/languages","stargazers_url":"https://api.github.com/repos/GalSim-developers/GalSim/stargazers","contributors_url":"https://api.github.com/repos/GalSim-developers/GalSim/contributors","subscribers_url":"https://api.github.com/repos/GalSim-developers/GalSim/subscribers","subscription_url":"https://api.github.com/repos/GalSim-developers/GalSim/subscription","commits_url":"https://api.github.com/repos/GalSim-developers/GalSim/commits{/sha}","git_commits_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/commits{/sha}","comments_url":"https://api.github.com/repos/GalSim-developers/GalSim/comments{/number}","issue_comment_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/comments{/number}","contents_url":"https://api.github.com/repos/GalSim-developers/GalSim/contents/{+path}","compare_url":"https://api.github.com/repos/GalSim-developers/GalSim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GalSim-developers/GalSim/merges","archive_url":"https://api.github.com/repos/GalSim-developers/GalSim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GalSim-developers/GalSim/downloads","issues_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues{/number}","pulls_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls{/number}","milestones_url":"https://api.github.com/repos/GalSim-developers/GalSim/milestones{/number}","notifications_url":"https://api.github.com/repos/GalSim-developers/GalSim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GalSim-developers/GalSim/labels{/name}","releases_url":"https://api.github.com/repos/GalSim-developers/GalSim/releases{/id}","deployments_url":"https://api.github.com/repos/GalSim-developers/GalSim/deployments","created_at":"2012-02-22T02:51:45Z","updated_at":"2016-06-07T07:42:31Z","pushed_at":"2016-06-14T22:33:41Z","git_url":"git://github.com/GalSim-developers/GalSim.git","ssh_url":"git@github.com:GalSim-developers/GalSim.git","clone_url":"https://github.com/GalSim-developers/GalSim.git","svn_url":"https://github.com/GalSim-developers/GalSim","homepage":"","size":121690,"stargazers_count":56,"watchers_count":56,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":33,"mirror_url":null,"open_issues_count":53,"forks":33,"open_issues":53,"watchers":56,"default_branch":"releases/1.3"}},"base":{"label":"GalSim-developers:master","ref":"master","sha":"e354e1bb22d6844068a964b811852887ae45c1db","user":{"login":"GalSim-developers","id":1462196,"avatar_url":"https://avatars.githubusercontent.com/u/1462196?v=3","gravatar_id":"","url":"https://api.github.com/users/GalSim-developers","html_url":"https://github.com/GalSim-developers","followers_url":"https://api.github.com/users/GalSim-developers/followers","following_url":"https://api.github.com/users/GalSim-developers/following{/other_user}","gists_url":"https://api.github.com/users/GalSim-developers/gists{/gist_id}","starred_url":"https://api.github.com/users/GalSim-developers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GalSim-developers/subscriptions","organizations_url":"https://api.github.com/users/GalSim-developers/orgs","repos_url":"https://api.github.com/users/GalSim-developers/repos","events_url":"https://api.github.com/users/GalSim-developers/events{/privacy}","received_events_url":"https://api.github.com/users/GalSim-developers/received_events","type":"Organization","site_admin":false},"repo":{"id":3510804,"name":"GalSim","full_name":"GalSim-developers/GalSim","owner":{"login":"GalSim-developers","id":1462196,"avatar_url":"https://avatars.githubusercontent.com/u/1462196?v=3","gravatar_id":"","url":"https://api.github.com/users/GalSim-developers","html_url":"https://github.com/GalSim-developers","followers_url":"https://api.github.com/users/GalSim-developers/followers","following_url":"https://api.github.com/users/GalSim-developers/following{/other_user}","gists_url":"https://api.github.com/users/GalSim-developers/gists{/gist_id}","starred_url":"https://api.github.com/users/GalSim-developers/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/GalSim-developers/subscriptions","organizations_url":"https://api.github.com/users/GalSim-developers/orgs","repos_url":"https://api.github.com/users/GalSim-developers/repos","events_url":"https://api.github.com/users/GalSim-developers/events{/privacy}","received_events_url":"https://api.github.com/users/GalSim-developers/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/GalSim-developers/GalSim","description":"The modular galaxy image simulation toolkit","fork":false,"url":"https://api.github.com/repos/GalSim-developers/GalSim","forks_url":"https://api.github.com/repos/GalSim-developers/GalSim/forks","keys_url":"https://api.github.com/repos/GalSim-developers/GalSim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/GalSim-developers/GalSim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/GalSim-developers/GalSim/teams","hooks_url":"https://api.github.com/repos/GalSim-developers/GalSim/hooks","issue_events_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/events{/number}","events_url":"https://api.github.com/repos/GalSim-developers/GalSim/events","assignees_url":"https://api.github.com/repos/GalSim-developers/GalSim/assignees{/user}","branches_url":"https://api.github.com/repos/GalSim-developers/GalSim/branches{/branch}","tags_url":"https://api.github.com/repos/GalSim-developers/GalSim/tags","blobs_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/refs{/sha}","trees_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/GalSim-developers/GalSim/statuses/{sha}","languages_url":"https://api.github.com/repos/GalSim-developers/GalSim/languages","stargazers_url":"https://api.github.com/repos/GalSim-developers/GalSim/stargazers","contributors_url":"https://api.github.com/repos/GalSim-developers/GalSim/contributors","subscribers_url":"https://api.github.com/repos/GalSim-developers/GalSim/subscribers","subscription_url":"https://api.github.com/repos/GalSim-developers/GalSim/subscription","commits_url":"https://api.github.com/repos/GalSim-developers/GalSim/commits{/sha}","git_commits_url":"https://api.github.com/repos/GalSim-developers/GalSim/git/commits{/sha}","comments_url":"https://api.github.com/repos/GalSim-developers/GalSim/comments{/number}","issue_comment_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues/comments{/number}","contents_url":"https://api.github.com/repos/GalSim-developers/GalSim/contents/{+path}","compare_url":"https://api.github.com/repos/GalSim-developers/GalSim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/GalSim-developers/GalSim/merges","archive_url":"https://api.github.com/repos/GalSim-developers/GalSim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/GalSim-developers/GalSim/downloads","issues_url":"https://api.github.com/repos/GalSim-developers/GalSim/issues{/number}","pulls_url":"https://api.github.com/repos/GalSim-developers/GalSim/pulls{/number}","milestones_url":"https://api.github.com/repos/GalSim-developers/GalSim/milestones{/number}","notifications_url":"https://api.github.com/repos/GalSim-developers/GalSim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/GalSim-developers/GalSim/labels{/name}","releases_url":"https://api.github.com/repos/GalSim-developers/GalSim/releases{/id}","deployments_url":"https://api.github.com/repos/GalSim-developers/GalSim/deployments","created_at":"2012-02-22T02:51:45Z","updated_at":"2016-06-07T07:42:31Z","pushed_at":"2016-06-14T22:33:41Z","git_url":"git://github.com/GalSim-developers/GalSim.git","ssh_url":"git@github.com:GalSim-developers/GalSim.git","clone_url":"https://github.com/GalSim-developers/GalSim.git","svn_url":"https://github.com/GalSim-developers/GalSim","homepage":"","size":121690,"stargazers_count":56,"watchers_count":56,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":33,"mirror_url":null,"open_issues_count":53,"forks":33,"open_issues":53,"watchers":56,"default_branch":"releases/1.3"}},"_links":{"self":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703"},"html":{"href":"https://github.com/GalSim-developers/GalSim/pull/703"},"issue":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/issues/703"},"comments":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/issues/703/comments"},"review_comments":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703/comments"},"review_comment":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/pulls/703/commits"},"statuses":{"href":"https://api.github.com/repos/GalSim-developers/GalSim/statuses/12ebb9235d6504482ad7be017669d8b317cf6f01"}}}}
{"actor":{"display_login":"jmeyers314"}}