{"action":"created","comment":{"url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/comments/101991549","pull_request_review_id":22732115,"id":101991549,"diff_hunk":"@@ -0,0 +1,112 @@\n+//=============================================================================================================\n+/**\n+* @file     eegref.h\n+* @author   Viktor Klüber <v.klueber@gmx.net>;\n+*           Lorenz Esch <Lorenz.Esch@tu-ilmenau.de>;\n+*           Matti Hamalainen <msh@nmr.mgh.harvard.edu>\n+* @version  1.0\n+* @date     January, 2017\n+*\n+* @section  LICENSE\n+*\n+* Copyright (C) 2017, Viktor Klüber, Lorenz Esch and Matti Hamalainen. All rights reserved.\n+*\n+* Redistribution and use in source and binary forms, with or without modification, are permitted provided that\n+* the following conditions are met:\n+*     * Redistributions of source code must retain the above copyright notice, this list of conditions and the\n+*       following disclaimer.\n+*     * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and\n+*       the following disclaimer in the documentation and/or other materials provided with the distribution.\n+*     * Neither the name of MNE-CPP authors nor the names of its contributors may be used\n+*       to endorse or promote products derived from this software without specific prior written permission.\n+*\n+* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND ANY EXPRESS OR IMPLIED\n+* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A\n+* PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\n+* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,\n+* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n+* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING\n+* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n+* POSSIBILITY OF SUCH DAMAGE.\n+*\n+*\n+* @brief     EEGRef class declaration.\n+*\n+*/\n+\n+#ifndef EEGREF_H\n+#define EEGREF_H\n+\n+\n+//*************************************************************************************************************\n+//=============================================================================================================\n+// INCLUDES\n+//=============================================================================================================\n+\n+#include \"utils_global.h\"\n+#include <fiff/fiff_info.h>\n+#include <utils/ioutils.h>\n+\n+\n+//*************************************************************************************************************\n+//=============================================================================================================\n+// QT INCLUDES\n+//=============================================================================================================\n+\n+#include <QSharedPointer>\n+\n+\n+//*************************************************************************************************************\n+//=============================================================================================================\n+// Eigen INCLUDES\n+//=============================================================================================================\n+\n+#include <Eigen/Dense>\n+\n+\n+//*************************************************************************************************************\n+//=============================================================================================================\n+// DEFINE NAMESPACE UTILSLIB\n+//=============================================================================================================\n+\n+namespace UTILSLIB {\n+\n+\n+//=============================================================================================================\n+/**\n+* This class provides transformations for EEG reference operations.\n+*\n+* @brief This class provides transformations for EEG reference operations.\n+*/\n+\n+class UTILSSHARED_EXPORT EEGRef\n+{\n+\n+public:\n+    typedef QSharedPointer<EEGRef> SPtr;            /**< Shared pointer type for EEGRef. */\n+    typedef QSharedPointer<const EEGRef> ConstSPtr; /**< Const shared pointer type for EEGRef. */\n+\n+    //=========================================================================================================\n+    /**\n+    * Constructs a EEGRef object.\n+    */\n+    EEGRef();\n+\n+    //=========================================================================================================\n+    /**\n+    * transforms the EEG data matrix with indifferent electrode reference to an EEG data matrix with common average reference. Bad channels are set to zero.\n+    *\n+    * @param[in] matIER         EEG data matrix with indefferent electrode reference","path":"MNE/utils/eegref.h","position":99,"original_position":99,"commit_id":"219a1a2b9466e669bba72f5dda306d830780095b","original_commit_id":"219a1a2b9466e669bba72f5dda306d830780095b","user":{"login":"LorenzE","id":5374202,"avatar_url":"https://avatars.githubusercontent.com/u/5374202?v=3","gravatar_id":"","url":"https://api.github.com/users/LorenzE","html_url":"https://github.com/LorenzE","followers_url":"https://api.github.com/users/LorenzE/followers","following_url":"https://api.github.com/users/LorenzE/following{/other_user}","gists_url":"https://api.github.com/users/LorenzE/gists{/gist_id}","starred_url":"https://api.github.com/users/LorenzE/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/LorenzE/subscriptions","organizations_url":"https://api.github.com/users/LorenzE/orgs","repos_url":"https://api.github.com/users/LorenzE/repos","events_url":"https://api.github.com/users/LorenzE/events{/privacy}","received_events_url":"https://api.github.com/users/LorenzE/received_events","type":"User","site_admin":false},"body":"indifferent","created_at":"2017-02-20T10:55:13Z","updated_at":"2017-02-20T10:55:41Z","html_url":"https://github.com/mne-tools/mne-cpp/pull/261#discussion_r101991549","pull_request_url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261","_links":{"self":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/comments/101991549"},"html":{"href":"https://github.com/mne-tools/mne-cpp/pull/261#discussion_r101991549"},"pull_request":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261"}}},"pull_request":{"url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261","id":106785430,"html_url":"https://github.com/mne-tools/mne-cpp/pull/261","diff_url":"https://github.com/mne-tools/mne-cpp/pull/261.diff","patch_url":"https://github.com/mne-tools/mne-cpp/pull/261.patch","issue_url":"https://api.github.com/repos/mne-tools/mne-cpp/issues/261","number":261,"state":"open","locked":false,"title":"EEG reference plugin","user":{"login":"ViktorKL","id":15674866,"avatar_url":"https://avatars.githubusercontent.com/u/15674866?v=3","gravatar_id":"","url":"https://api.github.com/users/ViktorKL","html_url":"https://github.com/ViktorKL","followers_url":"https://api.github.com/users/ViktorKL/followers","following_url":"https://api.github.com/users/ViktorKL/following{/other_user}","gists_url":"https://api.github.com/users/ViktorKL/gists{/gist_id}","starred_url":"https://api.github.com/users/ViktorKL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ViktorKL/subscriptions","organizations_url":"https://api.github.com/users/ViktorKL/orgs","repos_url":"https://api.github.com/users/ViktorKL/repos","events_url":"https://api.github.com/users/ViktorKL/events{/privacy}","received_events_url":"https://api.github.com/users/ViktorKL/received_events","type":"User","site_admin":false},"body":"This pull request includes the EEGRef class in the utils lib and the EEG reference plugin for MNE-Scan","created_at":"2017-02-17T18:20:27Z","updated_at":"2017-02-20T10:55:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"de7b9d48cc527b11807b0634d7a86cd07dd255a4","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261/commits","review_comments_url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261/comments","review_comment_url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mne-tools/mne-cpp/issues/261/comments","statuses_url":"https://api.github.com/repos/mne-tools/mne-cpp/statuses/219a1a2b9466e669bba72f5dda306d830780095b","head":{"label":"ViktorKL:eegref","ref":"eegref","sha":"219a1a2b9466e669bba72f5dda306d830780095b","user":{"login":"ViktorKL","id":15674866,"avatar_url":"https://avatars.githubusercontent.com/u/15674866?v=3","gravatar_id":"","url":"https://api.github.com/users/ViktorKL","html_url":"https://github.com/ViktorKL","followers_url":"https://api.github.com/users/ViktorKL/followers","following_url":"https://api.github.com/users/ViktorKL/following{/other_user}","gists_url":"https://api.github.com/users/ViktorKL/gists{/gist_id}","starred_url":"https://api.github.com/users/ViktorKL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ViktorKL/subscriptions","organizations_url":"https://api.github.com/users/ViktorKL/orgs","repos_url":"https://api.github.com/users/ViktorKL/repos","events_url":"https://api.github.com/users/ViktorKL/events{/privacy}","received_events_url":"https://api.github.com/users/ViktorKL/received_events","type":"User","site_admin":false},"repo":{"id":45625127,"name":"mne-cpp","full_name":"ViktorKL/mne-cpp","owner":{"login":"ViktorKL","id":15674866,"avatar_url":"https://avatars.githubusercontent.com/u/15674866?v=3","gravatar_id":"","url":"https://api.github.com/users/ViktorKL","html_url":"https://github.com/ViktorKL","followers_url":"https://api.github.com/users/ViktorKL/followers","following_url":"https://api.github.com/users/ViktorKL/following{/other_user}","gists_url":"https://api.github.com/users/ViktorKL/gists{/gist_id}","starred_url":"https://api.github.com/users/ViktorKL/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ViktorKL/subscriptions","organizations_url":"https://api.github.com/users/ViktorKL/orgs","repos_url":"https://api.github.com/users/ViktorKL/repos","events_url":"https://api.github.com/users/ViktorKL/events{/privacy}","received_events_url":"https://api.github.com/users/ViktorKL/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/ViktorKL/mne-cpp","description":"MNE : Cross-platform standalone MEG/EEG (real-time) applications using Qt 5's C++ library","fork":true,"url":"https://api.github.com/repos/ViktorKL/mne-cpp","forks_url":"https://api.github.com/repos/ViktorKL/mne-cpp/forks","keys_url":"https://api.github.com/repos/ViktorKL/mne-cpp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ViktorKL/mne-cpp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ViktorKL/mne-cpp/teams","hooks_url":"https://api.github.com/repos/ViktorKL/mne-cpp/hooks","issue_events_url":"https://api.github.com/repos/ViktorKL/mne-cpp/issues/events{/number}","events_url":"https://api.github.com/repos/ViktorKL/mne-cpp/events","assignees_url":"https://api.github.com/repos/ViktorKL/mne-cpp/assignees{/user}","branches_url":"https://api.github.com/repos/ViktorKL/mne-cpp/branches{/branch}","tags_url":"https://api.github.com/repos/ViktorKL/mne-cpp/tags","blobs_url":"https://api.github.com/repos/ViktorKL/mne-cpp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ViktorKL/mne-cpp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ViktorKL/mne-cpp/git/refs{/sha}","trees_url":"https://api.github.com/repos/ViktorKL/mne-cpp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ViktorKL/mne-cpp/statuses/{sha}","languages_url":"https://api.github.com/repos/ViktorKL/mne-cpp/languages","stargazers_url":"https://api.github.com/repos/ViktorKL/mne-cpp/stargazers","contributors_url":"https://api.github.com/repos/ViktorKL/mne-cpp/contributors","subscribers_url":"https://api.github.com/repos/ViktorKL/mne-cpp/subscribers","subscription_url":"https://api.github.com/repos/ViktorKL/mne-cpp/subscription","commits_url":"https://api.github.com/repos/ViktorKL/mne-cpp/commits{/sha}","git_commits_url":"https://api.github.com/repos/ViktorKL/mne-cpp/git/commits{/sha}","comments_url":"https://api.github.com/repos/ViktorKL/mne-cpp/comments{/number}","issue_comment_url":"https://api.github.com/repos/ViktorKL/mne-cpp/issues/comments{/number}","contents_url":"https://api.github.com/repos/ViktorKL/mne-cpp/contents/{+path}","compare_url":"https://api.github.com/repos/ViktorKL/mne-cpp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ViktorKL/mne-cpp/merges","archive_url":"https://api.github.com/repos/ViktorKL/mne-cpp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ViktorKL/mne-cpp/downloads","issues_url":"https://api.github.com/repos/ViktorKL/mne-cpp/issues{/number}","pulls_url":"https://api.github.com/repos/ViktorKL/mne-cpp/pulls{/number}","milestones_url":"https://api.github.com/repos/ViktorKL/mne-cpp/milestones{/number}","notifications_url":"https://api.github.com/repos/ViktorKL/mne-cpp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ViktorKL/mne-cpp/labels{/name}","releases_url":"https://api.github.com/repos/ViktorKL/mne-cpp/releases{/id}","deployments_url":"https://api.github.com/repos/ViktorKL/mne-cpp/deployments","created_at":"2015-11-05T16:47:03Z","updated_at":"2016-01-25T14:39:26Z","pushed_at":"2017-02-19T09:38:22Z","git_url":"git://github.com/ViktorKL/mne-cpp.git","ssh_url":"git@github.com:ViktorKL/mne-cpp.git","clone_url":"https://github.com/ViktorKL/mne-cpp.git","svn_url":"https://github.com/ViktorKL/mne-cpp","homepage":"http://www.tu-ilmenau.de/mne-cpp","size":272170,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mne-tools:master","ref":"master","sha":"417c69618e73e1b9dad41b62de0183eae28339ad","user":{"login":"mne-tools","id":583875,"avatar_url":"https://avatars.githubusercontent.com/u/583875?v=3","gravatar_id":"","url":"https://api.github.com/users/mne-tools","html_url":"https://github.com/mne-tools","followers_url":"https://api.github.com/users/mne-tools/followers","following_url":"https://api.github.com/users/mne-tools/following{/other_user}","gists_url":"https://api.github.com/users/mne-tools/gists{/gist_id}","starred_url":"https://api.github.com/users/mne-tools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mne-tools/subscriptions","organizations_url":"https://api.github.com/users/mne-tools/orgs","repos_url":"https://api.github.com/users/mne-tools/repos","events_url":"https://api.github.com/users/mne-tools/events{/privacy}","received_events_url":"https://api.github.com/users/mne-tools/received_events","type":"Organization","site_admin":false},"repo":{"id":5600932,"name":"mne-cpp","full_name":"mne-tools/mne-cpp","owner":{"login":"mne-tools","id":583875,"avatar_url":"https://avatars.githubusercontent.com/u/583875?v=3","gravatar_id":"","url":"https://api.github.com/users/mne-tools","html_url":"https://github.com/mne-tools","followers_url":"https://api.github.com/users/mne-tools/followers","following_url":"https://api.github.com/users/mne-tools/following{/other_user}","gists_url":"https://api.github.com/users/mne-tools/gists{/gist_id}","starred_url":"https://api.github.com/users/mne-tools/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mne-tools/subscriptions","organizations_url":"https://api.github.com/users/mne-tools/orgs","repos_url":"https://api.github.com/users/mne-tools/repos","events_url":"https://api.github.com/users/mne-tools/events{/privacy}","received_events_url":"https://api.github.com/users/mne-tools/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mne-tools/mne-cpp","description":"Applications for MEG and EEG Data Acquisition, Analysis & Visualization","fork":false,"url":"https://api.github.com/repos/mne-tools/mne-cpp","forks_url":"https://api.github.com/repos/mne-tools/mne-cpp/forks","keys_url":"https://api.github.com/repos/mne-tools/mne-cpp/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mne-tools/mne-cpp/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mne-tools/mne-cpp/teams","hooks_url":"https://api.github.com/repos/mne-tools/mne-cpp/hooks","issue_events_url":"https://api.github.com/repos/mne-tools/mne-cpp/issues/events{/number}","events_url":"https://api.github.com/repos/mne-tools/mne-cpp/events","assignees_url":"https://api.github.com/repos/mne-tools/mne-cpp/assignees{/user}","branches_url":"https://api.github.com/repos/mne-tools/mne-cpp/branches{/branch}","tags_url":"https://api.github.com/repos/mne-tools/mne-cpp/tags","blobs_url":"https://api.github.com/repos/mne-tools/mne-cpp/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mne-tools/mne-cpp/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mne-tools/mne-cpp/git/refs{/sha}","trees_url":"https://api.github.com/repos/mne-tools/mne-cpp/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mne-tools/mne-cpp/statuses/{sha}","languages_url":"https://api.github.com/repos/mne-tools/mne-cpp/languages","stargazers_url":"https://api.github.com/repos/mne-tools/mne-cpp/stargazers","contributors_url":"https://api.github.com/repos/mne-tools/mne-cpp/contributors","subscribers_url":"https://api.github.com/repos/mne-tools/mne-cpp/subscribers","subscription_url":"https://api.github.com/repos/mne-tools/mne-cpp/subscription","commits_url":"https://api.github.com/repos/mne-tools/mne-cpp/commits{/sha}","git_commits_url":"https://api.github.com/repos/mne-tools/mne-cpp/git/commits{/sha}","comments_url":"https://api.github.com/repos/mne-tools/mne-cpp/comments{/number}","issue_comment_url":"https://api.github.com/repos/mne-tools/mne-cpp/issues/comments{/number}","contents_url":"https://api.github.com/repos/mne-tools/mne-cpp/contents/{+path}","compare_url":"https://api.github.com/repos/mne-tools/mne-cpp/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mne-tools/mne-cpp/merges","archive_url":"https://api.github.com/repos/mne-tools/mne-cpp/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mne-tools/mne-cpp/downloads","issues_url":"https://api.github.com/repos/mne-tools/mne-cpp/issues{/number}","pulls_url":"https://api.github.com/repos/mne-tools/mne-cpp/pulls{/number}","milestones_url":"https://api.github.com/repos/mne-tools/mne-cpp/milestones{/number}","notifications_url":"https://api.github.com/repos/mne-tools/mne-cpp/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mne-tools/mne-cpp/labels{/name}","releases_url":"https://api.github.com/repos/mne-tools/mne-cpp/releases{/id}","deployments_url":"https://api.github.com/repos/mne-tools/mne-cpp/deployments","created_at":"2012-08-29T13:33:22Z","updated_at":"2017-02-14T10:58:30Z","pushed_at":"2017-02-20T10:37:19Z","git_url":"git://github.com/mne-tools/mne-cpp.git","ssh_url":"git@github.com:mne-tools/mne-cpp.git","clone_url":"https://github.com/mne-tools/mne-cpp.git","svn_url":"https://github.com/mne-tools/mne-cpp","homepage":"http://www.mne-cpp.org","size":270603,"stargazers_count":31,"watchers_count":31,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":46,"mirror_url":null,"open_issues_count":11,"forks":46,"open_issues":11,"watchers":31,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261"},"html":{"href":"https://github.com/mne-tools/mne-cpp/pull/261"},"issue":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/issues/261"},"comments":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/issues/261/comments"},"review_comments":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261/comments"},"review_comment":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/pulls/261/commits"},"statuses":{"href":"https://api.github.com/repos/mne-tools/mne-cpp/statuses/219a1a2b9466e669bba72f5dda306d830780095b"}}}}
{"actor":{"display_login":"LorenzE"}}