{"action":"created","comment":{"url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/comments/106534219","pull_request_review_id":27462425,"id":106534219,"diff_hunk":"@@ -0,0 +1,199 @@\n+import os\n+import json\n+import re\n+\n+import numpy as np\n+from tqdm import tqdm\n+\n+import lib\n+from lib import clamp, xyzrange, Vec3, Bbox, min2\n+import neuroglancer\n+from volumes import Volume\n+from google.cloud import storage as gstorage\n+\n+class GCloudVolume(Volume):\n+  def __init__(self, dataset_name, layer, mip, cache_files=True):\n+    super(self.__class__, self).__init__()\n+\n+    self.dataset_name = dataset_name\n+    self.layer = layer\n+    self.mip = mip\n+    \n+    self.cacheFiles = cache_files\n+\n+    blob = self.__getInfoBlob()\n+\n+    self.info = json.loads(blob.download_as_string())\n+\n+  def __getInfoBlob(self):","path":"python/neuroglancer/ingest/volumes/gcloudvolume.py","position":29,"original_position":28,"commit_id":"905e7557df92ba0aa9e662cb1068ad1ba75c2c22","original_commit_id":"3ed4c783ed734d3c4702bd2329874e2c9d7ea6a5","user":{"login":"william-silversmith","id":2517065,"avatar_url":"https://avatars2.githubusercontent.com/u/2517065?v=3","gravatar_id":"","url":"https://api.github.com/users/william-silversmith","html_url":"https://github.com/william-silversmith","followers_url":"https://api.github.com/users/william-silversmith/followers","following_url":"https://api.github.com/users/william-silversmith/following{/other_user}","gists_url":"https://api.github.com/users/william-silversmith/gists{/gist_id}","starred_url":"https://api.github.com/users/william-silversmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/william-silversmith/subscriptions","organizations_url":"https://api.github.com/users/william-silversmith/orgs","repos_url":"https://api.github.com/users/william-silversmith/repos","events_url":"https://api.github.com/users/william-silversmith/events{/privacy}","received_events_url":"https://api.github.com/users/william-silversmith/received_events","type":"User","site_admin":false},"body":"Why? Shouldn't this be private? (also camelCase is what I used)","created_at":"2017-03-16T21:19:57Z","updated_at":"2017-03-16T21:19:58Z","html_url":"https://github.com/seung-lab/neuroglancer/pull/13#discussion_r106534219","pull_request_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13","_links":{"self":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/comments/106534219"},"html":{"href":"https://github.com/seung-lab/neuroglancer/pull/13#discussion_r106534219"},"pull_request":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13"}}},"pull_request":{"url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13","id":110233047,"html_url":"https://github.com/seung-lab/neuroglancer/pull/13","diff_url":"https://github.com/seung-lab/neuroglancer/pull/13.diff","patch_url":"https://github.com/seung-lab/neuroglancer/pull/13.patch","issue_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/13","number":13,"state":"open","locked":false,"title":"Superdownsample et al","user":{"login":"william-silversmith","id":2517065,"avatar_url":"https://avatars2.githubusercontent.com/u/2517065?v=3","gravatar_id":"","url":"https://api.github.com/users/william-silversmith","html_url":"https://github.com/william-silversmith","followers_url":"https://api.github.com/users/william-silversmith/followers","following_url":"https://api.github.com/users/william-silversmith/following{/other_user}","gists_url":"https://api.github.com/users/william-silversmith/gists{/gist_id}","starred_url":"https://api.github.com/users/william-silversmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/william-silversmith/subscriptions","organizations_url":"https://api.github.com/users/william-silversmith/orgs","repos_url":"https://api.github.com/users/william-silversmith/repos","events_url":"https://api.github.com/users/william-silversmith/events{/privacy}","received_events_url":"https://api.github.com/users/william-silversmith/received_events","type":"User","site_admin":false},"body":"- Introduces super_downsample.py which can be used to downsample datasets that aren't downsampled enough\r\n- gcloudFileIterator allows you to download and cache image tiles from gcloud\r\n- Introduces GCloudVolume which can be used for making cutouts from cloud data at any MIP level\r\n- Introduces several useful functions like map2, min2, max2 for working with vector data\r\n- Introduced useful data types Vec3 and Bbox which are helpful for working with 3D cubes of data\r\n- Adds decode_jpeg and decode_raw to neuroglancer.chunks to complement their encode duals\r\n- Refactors base.Storage to use new library functions and segregate orthogonal functionality that can interfere with testing","created_at":"2017-03-11T00:02:27Z","updated_at":"2017-03-16T21:19:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0f35f3ffa456a6cdebc60bcf900c7fef469170b1","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13/commits","review_comments_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13/comments","review_comment_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/comments{/number}","comments_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/13/comments","statuses_url":"https://api.github.com/repos/seung-lab/neuroglancer/statuses/905e7557df92ba0aa9e662cb1068ad1ba75c2c22","head":{"label":"seung-lab:downsample","ref":"downsample","sha":"905e7557df92ba0aa9e662cb1068ad1ba75c2c22","user":{"login":"seung-lab","id":796718,"avatar_url":"https://avatars3.githubusercontent.com/u/796718?v=3","gravatar_id":"","url":"https://api.github.com/users/seung-lab","html_url":"https://github.com/seung-lab","followers_url":"https://api.github.com/users/seung-lab/followers","following_url":"https://api.github.com/users/seung-lab/following{/other_user}","gists_url":"https://api.github.com/users/seung-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/seung-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seung-lab/subscriptions","organizations_url":"https://api.github.com/users/seung-lab/orgs","repos_url":"https://api.github.com/users/seung-lab/repos","events_url":"https://api.github.com/users/seung-lab/events{/privacy}","received_events_url":"https://api.github.com/users/seung-lab/received_events","type":"Organization","site_admin":false},"repo":{"id":76393283,"name":"neuroglancer","full_name":"seung-lab/neuroglancer","owner":{"login":"seung-lab","id":796718,"avatar_url":"https://avatars3.githubusercontent.com/u/796718?v=3","gravatar_id":"","url":"https://api.github.com/users/seung-lab","html_url":"https://github.com/seung-lab","followers_url":"https://api.github.com/users/seung-lab/followers","following_url":"https://api.github.com/users/seung-lab/following{/other_user}","gists_url":"https://api.github.com/users/seung-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/seung-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seung-lab/subscriptions","organizations_url":"https://api.github.com/users/seung-lab/orgs","repos_url":"https://api.github.com/users/seung-lab/repos","events_url":"https://api.github.com/users/seung-lab/events{/privacy}","received_events_url":"https://api.github.com/users/seung-lab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/seung-lab/neuroglancer","description":"WebGL-based viewer for volumetric data","fork":true,"url":"https://api.github.com/repos/seung-lab/neuroglancer","forks_url":"https://api.github.com/repos/seung-lab/neuroglancer/forks","keys_url":"https://api.github.com/repos/seung-lab/neuroglancer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/seung-lab/neuroglancer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/seung-lab/neuroglancer/teams","hooks_url":"https://api.github.com/repos/seung-lab/neuroglancer/hooks","issue_events_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/events{/number}","events_url":"https://api.github.com/repos/seung-lab/neuroglancer/events","assignees_url":"https://api.github.com/repos/seung-lab/neuroglancer/assignees{/user}","branches_url":"https://api.github.com/repos/seung-lab/neuroglancer/branches{/branch}","tags_url":"https://api.github.com/repos/seung-lab/neuroglancer/tags","blobs_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/refs{/sha}","trees_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/seung-lab/neuroglancer/statuses/{sha}","languages_url":"https://api.github.com/repos/seung-lab/neuroglancer/languages","stargazers_url":"https://api.github.com/repos/seung-lab/neuroglancer/stargazers","contributors_url":"https://api.github.com/repos/seung-lab/neuroglancer/contributors","subscribers_url":"https://api.github.com/repos/seung-lab/neuroglancer/subscribers","subscription_url":"https://api.github.com/repos/seung-lab/neuroglancer/subscription","commits_url":"https://api.github.com/repos/seung-lab/neuroglancer/commits{/sha}","git_commits_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/commits{/sha}","comments_url":"https://api.github.com/repos/seung-lab/neuroglancer/comments{/number}","issue_comment_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/comments{/number}","contents_url":"https://api.github.com/repos/seung-lab/neuroglancer/contents/{+path}","compare_url":"https://api.github.com/repos/seung-lab/neuroglancer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/seung-lab/neuroglancer/merges","archive_url":"https://api.github.com/repos/seung-lab/neuroglancer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/seung-lab/neuroglancer/downloads","issues_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues{/number}","pulls_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls{/number}","milestones_url":"https://api.github.com/repos/seung-lab/neuroglancer/milestones{/number}","notifications_url":"https://api.github.com/repos/seung-lab/neuroglancer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/seung-lab/neuroglancer/labels{/name}","releases_url":"https://api.github.com/repos/seung-lab/neuroglancer/releases{/id}","deployments_url":"https://api.github.com/repos/seung-lab/neuroglancer/deployments","created_at":"2016-12-13T19:54:36Z","updated_at":"2017-03-05T19:35:02Z","pushed_at":"2017-03-16T21:16:52Z","git_url":"git://github.com/seung-lab/neuroglancer.git","ssh_url":"git@github.com:seung-lab/neuroglancer.git","clone_url":"https://github.com/seung-lab/neuroglancer.git","svn_url":"https://github.com/seung-lab/neuroglancer","homepage":"https://neuroglancer-demo.appspot.com","size":4039,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":12,"forks":0,"open_issues":12,"watchers":1,"default_branch":"master"}},"base":{"label":"seung-lab:master","ref":"master","sha":"df3aff3483eec95e44f7054bbad4765e684096a1","user":{"login":"seung-lab","id":796718,"avatar_url":"https://avatars3.githubusercontent.com/u/796718?v=3","gravatar_id":"","url":"https://api.github.com/users/seung-lab","html_url":"https://github.com/seung-lab","followers_url":"https://api.github.com/users/seung-lab/followers","following_url":"https://api.github.com/users/seung-lab/following{/other_user}","gists_url":"https://api.github.com/users/seung-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/seung-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seung-lab/subscriptions","organizations_url":"https://api.github.com/users/seung-lab/orgs","repos_url":"https://api.github.com/users/seung-lab/repos","events_url":"https://api.github.com/users/seung-lab/events{/privacy}","received_events_url":"https://api.github.com/users/seung-lab/received_events","type":"Organization","site_admin":false},"repo":{"id":76393283,"name":"neuroglancer","full_name":"seung-lab/neuroglancer","owner":{"login":"seung-lab","id":796718,"avatar_url":"https://avatars3.githubusercontent.com/u/796718?v=3","gravatar_id":"","url":"https://api.github.com/users/seung-lab","html_url":"https://github.com/seung-lab","followers_url":"https://api.github.com/users/seung-lab/followers","following_url":"https://api.github.com/users/seung-lab/following{/other_user}","gists_url":"https://api.github.com/users/seung-lab/gists{/gist_id}","starred_url":"https://api.github.com/users/seung-lab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/seung-lab/subscriptions","organizations_url":"https://api.github.com/users/seung-lab/orgs","repos_url":"https://api.github.com/users/seung-lab/repos","events_url":"https://api.github.com/users/seung-lab/events{/privacy}","received_events_url":"https://api.github.com/users/seung-lab/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/seung-lab/neuroglancer","description":"WebGL-based viewer for volumetric data","fork":true,"url":"https://api.github.com/repos/seung-lab/neuroglancer","forks_url":"https://api.github.com/repos/seung-lab/neuroglancer/forks","keys_url":"https://api.github.com/repos/seung-lab/neuroglancer/keys{/key_id}","collaborators_url":"https://api.github.com/repos/seung-lab/neuroglancer/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/seung-lab/neuroglancer/teams","hooks_url":"https://api.github.com/repos/seung-lab/neuroglancer/hooks","issue_events_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/events{/number}","events_url":"https://api.github.com/repos/seung-lab/neuroglancer/events","assignees_url":"https://api.github.com/repos/seung-lab/neuroglancer/assignees{/user}","branches_url":"https://api.github.com/repos/seung-lab/neuroglancer/branches{/branch}","tags_url":"https://api.github.com/repos/seung-lab/neuroglancer/tags","blobs_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/refs{/sha}","trees_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/trees{/sha}","statuses_url":"https://api.github.com/repos/seung-lab/neuroglancer/statuses/{sha}","languages_url":"https://api.github.com/repos/seung-lab/neuroglancer/languages","stargazers_url":"https://api.github.com/repos/seung-lab/neuroglancer/stargazers","contributors_url":"https://api.github.com/repos/seung-lab/neuroglancer/contributors","subscribers_url":"https://api.github.com/repos/seung-lab/neuroglancer/subscribers","subscription_url":"https://api.github.com/repos/seung-lab/neuroglancer/subscription","commits_url":"https://api.github.com/repos/seung-lab/neuroglancer/commits{/sha}","git_commits_url":"https://api.github.com/repos/seung-lab/neuroglancer/git/commits{/sha}","comments_url":"https://api.github.com/repos/seung-lab/neuroglancer/comments{/number}","issue_comment_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues/comments{/number}","contents_url":"https://api.github.com/repos/seung-lab/neuroglancer/contents/{+path}","compare_url":"https://api.github.com/repos/seung-lab/neuroglancer/compare/{base}...{head}","merges_url":"https://api.github.com/repos/seung-lab/neuroglancer/merges","archive_url":"https://api.github.com/repos/seung-lab/neuroglancer/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/seung-lab/neuroglancer/downloads","issues_url":"https://api.github.com/repos/seung-lab/neuroglancer/issues{/number}","pulls_url":"https://api.github.com/repos/seung-lab/neuroglancer/pulls{/number}","milestones_url":"https://api.github.com/repos/seung-lab/neuroglancer/milestones{/number}","notifications_url":"https://api.github.com/repos/seung-lab/neuroglancer/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/seung-lab/neuroglancer/labels{/name}","releases_url":"https://api.github.com/repos/seung-lab/neuroglancer/releases{/id}","deployments_url":"https://api.github.com/repos/seung-lab/neuroglancer/deployments","created_at":"2016-12-13T19:54:36Z","updated_at":"2017-03-05T19:35:02Z","pushed_at":"2017-03-16T21:16:52Z","git_url":"git://github.com/seung-lab/neuroglancer.git","ssh_url":"git@github.com:seung-lab/neuroglancer.git","clone_url":"https://github.com/seung-lab/neuroglancer.git","svn_url":"https://github.com/seung-lab/neuroglancer","homepage":"https://neuroglancer-demo.appspot.com","size":4039,"stargazers_count":1,"watchers_count":1,"language":"TypeScript","has_issues":true,"has_downloads":false,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":12,"forks":0,"open_issues":12,"watchers":1,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13"},"html":{"href":"https://github.com/seung-lab/neuroglancer/pull/13"},"issue":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/issues/13"},"comments":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/issues/13/comments"},"review_comments":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13/comments"},"review_comment":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/pulls/13/commits"},"statuses":{"href":"https://api.github.com/repos/seung-lab/neuroglancer/statuses/905e7557df92ba0aa9e662cb1068ad1ba75c2c22"}}}}
{"actor":{"display_login":"william-silversmith"}}