{"action":"created","comment":{"url":"https://api.github.com/repos/nipy/heudiconv/pulls/comments/165832403","pull_request_review_id":93834121,"id":165832403,"diff_hunk":"@@ -148,9 +158,11 @@ def get_parser():\n                         'DICOMs to anonymized IDs. Such command must take a '\n                         'single argument and return a single anonymized ID. '\n                         'Also see --conv-outdir')\n-    parser.add_argument('-f', '--heuristic', dest='heuristic_file',\n-                        required=True,\n-                        help='python script containing heuristic')\n+    parser.add_argument('-f', '--heuristic', dest='heuristic',\n+                        # some commands might not need heuristic","path":"heudiconv/cli/run.py","position":40,"original_position":40,"commit_id":"b8f3a083dfb54e2d48f392c065b2d3172242923b","original_commit_id":"b8f3a083dfb54e2d48f392c065b2d3172242923b","user":{"login":"yarikoptic","id":39889,"avatar_url":"https://avatars3.githubusercontent.com/u/39889?v=4","gravatar_id":"","url":"https://api.github.com/users/yarikoptic","html_url":"https://github.com/yarikoptic","followers_url":"https://api.github.com/users/yarikoptic/followers","following_url":"https://api.github.com/users/yarikoptic/following{/other_user}","gists_url":"https://api.github.com/users/yarikoptic/gists{/gist_id}","starred_url":"https://api.github.com/users/yarikoptic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yarikoptic/subscriptions","organizations_url":"https://api.github.com/users/yarikoptic/orgs","repos_url":"https://api.github.com/users/yarikoptic/repos","events_url":"https://api.github.com/users/yarikoptic/events{/privacy}","received_events_url":"https://api.github.com/users/yarikoptic/received_events","type":"User","site_admin":false},"body":"or may be we would refactor to always have a command... who knows ;-)  comment was left primarily for myself I guess, since initially it was a required option.","created_at":"2018-02-04T03:24:42Z","updated_at":"2018-02-04T03:24:42Z","html_url":"https://github.com/nipy/heudiconv/pull/130#discussion_r165832403","pull_request_url":"https://api.github.com/repos/nipy/heudiconv/pulls/130","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/comments/165832403"},"html":{"href":"https://github.com/nipy/heudiconv/pull/130#discussion_r165832403"},"pull_request":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/130"}},"in_reply_to_id":165829362},"pull_request":{"url":"https://api.github.com/repos/nipy/heudiconv/pulls/130","id":161434261,"html_url":"https://github.com/nipy/heudiconv/pull/130","diff_url":"https://github.com/nipy/heudiconv/pull/130.diff","patch_url":"https://github.com/nipy/heudiconv/pull/130.patch","issue_url":"https://api.github.com/repos/nipy/heudiconv/issues/130","number":130,"state":"open","locked":false,"title":"RF+ENH: Move heuristics/ to become a heudiconv.heuristics submodule","user":{"login":"yarikoptic","id":39889,"avatar_url":"https://avatars3.githubusercontent.com/u/39889?v=4","gravatar_id":"","url":"https://api.github.com/users/yarikoptic","html_url":"https://github.com/yarikoptic","followers_url":"https://api.github.com/users/yarikoptic/followers","following_url":"https://api.github.com/users/yarikoptic/following{/other_user}","gists_url":"https://api.github.com/users/yarikoptic/gists{/gist_id}","starred_url":"https://api.github.com/users/yarikoptic/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yarikoptic/subscriptions","organizations_url":"https://api.github.com/users/yarikoptic/orgs","repos_url":"https://api.github.com/users/yarikoptic/repos","events_url":"https://api.github.com/users/yarikoptic/events{/privacy}","received_events_url":"https://api.github.com/users/yarikoptic/received_events","type":"User","site_admin":false},"body":"It is really inconvenient IMHO to need to specify heuristics files if it is a \"standard\" heuristic, so imho we could just keep them as submodules and ship along in an easy to find location etc\r\n\r\nOk, accomplished:\r\n- [x] `dbic_bids` -> `reproin`\r\n- [x] make possible to just specify heuristic name, e.g. `-f dbic_bids` and then heuristic would be looked up among the \"standard\" ones\r\n- [x] also it might allow to present available heuristics in case if argument gives some name which isn't known.  e.g.\r\n```shell\r\n$> heudiconv --command heuristics              \r\n- banda-bids: \r\n- bids_with_ses: \r\n- cmrr_heuristic: \r\n- convertall: \r\n- example: \r\n- multires_7Tbold: \r\n- reproin: (AKA dbic-bids) Flexible heuristic to establish BIDS DataLad datasets hierarchy\r\n- studyforrest_phase2: \r\n- uc_bids: \r\n(dev) 3 5439 [1].....................................:Fri 02 Feb 2018 06:01:09 PM EST:.\r\nhopa:~/picts/mris/heudiconv-master\r\n$> heudiconv --command heuristic-info -f reproin | head -n 10\r\n(AKA dbic-bids) Flexible heuristic to establish BIDS DataLad datasets hierarchy\r\n\r\nInitially developed and deployed at Dartmouth Brain Imaging Center\r\n(http://dbic.dartmouth.edu) using Siemens Prisma 3T\r\n\r\n## Dataset ownership/location\r\n\r\nDatasets will be arranged in a hierarchy similar to how study/exam cards are\r\narranged at the scanner console.  You should have\r\n...\r\n```\r\n and actually provide an additional (we have already a few) command `heuristics` which could also present that list.\r\nThose descriptions could be specified in the first line of the corresponding file `__doc__`.\r\n\r\nThought first to run by you guys @nipy/team-heudiconv \r\n  ","created_at":"2018-01-05T21:46:54Z","updated_at":"2018-02-04T03:24:42Z","closed_at":null,"merged_at":null,"merge_commit_sha":"026898ef8c6eb2f18c6194b40cbfc72608eedb53","assignee":null,"assignees":[],"requested_reviewers":[{"login":"satra","id":184063,"avatar_url":"https://avatars2.githubusercontent.com/u/184063?v=4","gravatar_id":"","url":"https://api.github.com/users/satra","html_url":"https://github.com/satra","followers_url":"https://api.github.com/users/satra/followers","following_url":"https://api.github.com/users/satra/following{/other_user}","gists_url":"https://api.github.com/users/satra/gists{/gist_id}","starred_url":"https://api.github.com/users/satra/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/satra/subscriptions","organizations_url":"https://api.github.com/users/satra/orgs","repos_url":"https://api.github.com/users/satra/repos","events_url":"https://api.github.com/users/satra/events{/privacy}","received_events_url":"https://api.github.com/users/satra/received_events","type":"User","site_admin":false}],"requested_teams":[],"milestone":null,"commits_url":"https://api.github.com/repos/nipy/heudiconv/pulls/130/commits","review_comments_url":"https://api.github.com/repos/nipy/heudiconv/pulls/130/comments","review_comment_url":"https://api.github.com/repos/nipy/heudiconv/pulls/comments{/number}","comments_url":"https://api.github.com/repos/nipy/heudiconv/issues/130/comments","statuses_url":"https://api.github.com/repos/nipy/heudiconv/statuses/b8f3a083dfb54e2d48f392c065b2d3172242923b","head":{"label":"dartmouth-pbs:rf-heuristics-inside","ref":"rf-heuristics-inside","sha":"b8f3a083dfb54e2d48f392c065b2d3172242923b","user":{"login":"dartmouth-pbs","id":10568366,"avatar_url":"https://avatars0.githubusercontent.com/u/10568366?v=4","gravatar_id":"","url":"https://api.github.com/users/dartmouth-pbs","html_url":"https://github.com/dartmouth-pbs","followers_url":"https://api.github.com/users/dartmouth-pbs/followers","following_url":"https://api.github.com/users/dartmouth-pbs/following{/other_user}","gists_url":"https://api.github.com/users/dartmouth-pbs/gists{/gist_id}","starred_url":"https://api.github.com/users/dartmouth-pbs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dartmouth-pbs/subscriptions","organizations_url":"https://api.github.com/users/dartmouth-pbs/orgs","repos_url":"https://api.github.com/users/dartmouth-pbs/repos","events_url":"https://api.github.com/users/dartmouth-pbs/events{/privacy}","received_events_url":"https://api.github.com/users/dartmouth-pbs/received_events","type":"Organization","site_admin":false},"repo":{"id":68424727,"name":"heudiconv","full_name":"dartmouth-pbs/heudiconv","owner":{"login":"dartmouth-pbs","id":10568366,"avatar_url":"https://avatars0.githubusercontent.com/u/10568366?v=4","gravatar_id":"","url":"https://api.github.com/users/dartmouth-pbs","html_url":"https://github.com/dartmouth-pbs","followers_url":"https://api.github.com/users/dartmouth-pbs/followers","following_url":"https://api.github.com/users/dartmouth-pbs/following{/other_user}","gists_url":"https://api.github.com/users/dartmouth-pbs/gists{/gist_id}","starred_url":"https://api.github.com/users/dartmouth-pbs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dartmouth-pbs/subscriptions","organizations_url":"https://api.github.com/users/dartmouth-pbs/orgs","repos_url":"https://api.github.com/users/dartmouth-pbs/repos","events_url":"https://api.github.com/users/dartmouth-pbs/events{/privacy}","received_events_url":"https://api.github.com/users/dartmouth-pbs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/dartmouth-pbs/heudiconv","description":"little helper to ease DICOM conversion to ready-to-share folder with heuristics","fork":true,"url":"https://api.github.com/repos/dartmouth-pbs/heudiconv","forks_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/forks","keys_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/teams","hooks_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/hooks","issue_events_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/issues/events{/number}","events_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/events","assignees_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/assignees{/user}","branches_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/branches{/branch}","tags_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/tags","blobs_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/git/refs{/sha}","trees_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/statuses/{sha}","languages_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/languages","stargazers_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/stargazers","contributors_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/contributors","subscribers_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/subscribers","subscription_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/subscription","commits_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/commits{/sha}","git_commits_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/git/commits{/sha}","comments_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/comments{/number}","issue_comment_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/issues/comments{/number}","contents_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/contents/{+path}","compare_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/merges","archive_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/downloads","issues_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/issues{/number}","pulls_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/pulls{/number}","milestones_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/milestones{/number}","notifications_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/labels{/name}","releases_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/releases{/id}","deployments_url":"https://api.github.com/repos/dartmouth-pbs/heudiconv/deployments","created_at":"2016-09-17T01:12:50Z","updated_at":"2016-10-31T15:12:37Z","pushed_at":"2018-02-03T05:03:07Z","git_url":"git://github.com/dartmouth-pbs/heudiconv.git","ssh_url":"git@github.com:dartmouth-pbs/heudiconv.git","clone_url":"https://github.com/dartmouth-pbs/heudiconv.git","svn_url":"https://github.com/dartmouth-pbs/heudiconv","homepage":null,"size":622,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":11,"license":null,"forks":1,"open_issues":11,"watchers":0,"default_branch":"master"}},"base":{"label":"nipy:master","ref":"master","sha":"24665aeb46b8364b3936f7027d98694f81414636","user":{"login":"nipy","id":233707,"avatar_url":"https://avatars2.githubusercontent.com/u/233707?v=4","gravatar_id":"","url":"https://api.github.com/users/nipy","html_url":"https://github.com/nipy","followers_url":"https://api.github.com/users/nipy/followers","following_url":"https://api.github.com/users/nipy/following{/other_user}","gists_url":"https://api.github.com/users/nipy/gists{/gist_id}","starred_url":"https://api.github.com/users/nipy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nipy/subscriptions","organizations_url":"https://api.github.com/users/nipy/orgs","repos_url":"https://api.github.com/users/nipy/repos","events_url":"https://api.github.com/users/nipy/events{/privacy}","received_events_url":"https://api.github.com/users/nipy/received_events","type":"Organization","site_admin":false},"repo":{"id":42650211,"name":"heudiconv","full_name":"nipy/heudiconv","owner":{"login":"nipy","id":233707,"avatar_url":"https://avatars2.githubusercontent.com/u/233707?v=4","gravatar_id":"","url":"https://api.github.com/users/nipy","html_url":"https://github.com/nipy","followers_url":"https://api.github.com/users/nipy/followers","following_url":"https://api.github.com/users/nipy/following{/other_user}","gists_url":"https://api.github.com/users/nipy/gists{/gist_id}","starred_url":"https://api.github.com/users/nipy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nipy/subscriptions","organizations_url":"https://api.github.com/users/nipy/orgs","repos_url":"https://api.github.com/users/nipy/repos","events_url":"https://api.github.com/users/nipy/events{/privacy}","received_events_url":"https://api.github.com/users/nipy/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/nipy/heudiconv","description":"little helper to ease DICOM conversion to ready-to-share folder with heuristics","fork":false,"url":"https://api.github.com/repos/nipy/heudiconv","forks_url":"https://api.github.com/repos/nipy/heudiconv/forks","keys_url":"https://api.github.com/repos/nipy/heudiconv/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nipy/heudiconv/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nipy/heudiconv/teams","hooks_url":"https://api.github.com/repos/nipy/heudiconv/hooks","issue_events_url":"https://api.github.com/repos/nipy/heudiconv/issues/events{/number}","events_url":"https://api.github.com/repos/nipy/heudiconv/events","assignees_url":"https://api.github.com/repos/nipy/heudiconv/assignees{/user}","branches_url":"https://api.github.com/repos/nipy/heudiconv/branches{/branch}","tags_url":"https://api.github.com/repos/nipy/heudiconv/tags","blobs_url":"https://api.github.com/repos/nipy/heudiconv/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nipy/heudiconv/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nipy/heudiconv/git/refs{/sha}","trees_url":"https://api.github.com/repos/nipy/heudiconv/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nipy/heudiconv/statuses/{sha}","languages_url":"https://api.github.com/repos/nipy/heudiconv/languages","stargazers_url":"https://api.github.com/repos/nipy/heudiconv/stargazers","contributors_url":"https://api.github.com/repos/nipy/heudiconv/contributors","subscribers_url":"https://api.github.com/repos/nipy/heudiconv/subscribers","subscription_url":"https://api.github.com/repos/nipy/heudiconv/subscription","commits_url":"https://api.github.com/repos/nipy/heudiconv/commits{/sha}","git_commits_url":"https://api.github.com/repos/nipy/heudiconv/git/commits{/sha}","comments_url":"https://api.github.com/repos/nipy/heudiconv/comments{/number}","issue_comment_url":"https://api.github.com/repos/nipy/heudiconv/issues/comments{/number}","contents_url":"https://api.github.com/repos/nipy/heudiconv/contents/{+path}","compare_url":"https://api.github.com/repos/nipy/heudiconv/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nipy/heudiconv/merges","archive_url":"https://api.github.com/repos/nipy/heudiconv/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nipy/heudiconv/downloads","issues_url":"https://api.github.com/repos/nipy/heudiconv/issues{/number}","pulls_url":"https://api.github.com/repos/nipy/heudiconv/pulls{/number}","milestones_url":"https://api.github.com/repos/nipy/heudiconv/milestones{/number}","notifications_url":"https://api.github.com/repos/nipy/heudiconv/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nipy/heudiconv/labels{/name}","releases_url":"https://api.github.com/repos/nipy/heudiconv/releases{/id}","deployments_url":"https://api.github.com/repos/nipy/heudiconv/deployments","created_at":"2015-09-17T10:34:11Z","updated_at":"2018-02-01T14:50:22Z","pushed_at":"2018-02-03T05:03:08Z","git_url":"git://github.com/nipy/heudiconv.git","ssh_url":"git@github.com:nipy/heudiconv.git","clone_url":"https://github.com/nipy/heudiconv.git","svn_url":"https://github.com/nipy/heudiconv","homepage":null,"size":600,"stargazers_count":33,"watchers_count":33,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":33,"mirror_url":null,"archived":false,"open_issues_count":39,"license":null,"forks":33,"open_issues":39,"watchers":33,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/130"},"html":{"href":"https://github.com/nipy/heudiconv/pull/130"},"issue":{"href":"https://api.github.com/repos/nipy/heudiconv/issues/130"},"comments":{"href":"https://api.github.com/repos/nipy/heudiconv/issues/130/comments"},"review_comments":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/130/comments"},"review_comment":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/nipy/heudiconv/pulls/130/commits"},"statuses":{"href":"https://api.github.com/repos/nipy/heudiconv/statuses/b8f3a083dfb54e2d48f392c065b2d3172242923b"}},"author_association":"OWNER"}}
{"actor":{"display_login":"yarikoptic"}}