{"action":"closed","issue":{"url":"https://api.github.com/repos/jlaura/isis3/issues/170","labels_url":"https://api.github.com/repos/jlaura/isis3/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/jlaura/isis3/issues/170/comments","events_url":"https://api.github.com/repos/jlaura/isis3/issues/170/events","html_url":"https://github.com/jlaura/isis3/issues/170","id":91069713,"number":170,"title":"Abstract \"equalizer\" application into a class hierarchy","user":{"login":"jlaura","id":2105468,"avatar_url":"https://avatars.githubusercontent.com/u/2105468?v=3","gravatar_id":"","url":"https://api.github.com/users/jlaura","html_url":"https://github.com/jlaura","followers_url":"https://api.github.com/users/jlaura/followers","following_url":"https://api.github.com/users/jlaura/following{/other_user}","gists_url":"https://api.github.com/users/jlaura/gists{/gist_id}","starred_url":"https://api.github.com/users/jlaura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlaura/subscriptions","organizations_url":"https://api.github.com/users/jlaura/orgs","repos_url":"https://api.github.com/users/jlaura/repos","events_url":"https://api.github.com/users/jlaura/events{/privacy}","received_events_url":"https://api.github.com/users/jlaura/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/jlaura/isis3/labels/Feature","name":"Feature","color":"5ebeff"},{"url":"https://api.github.com/repos/jlaura/isis3/labels/Priority%203:%20High","name":"Priority 3: High","color":"FF0000"}],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/jlaura/isis3/milestones/8","html_url":"https://github.com/jlaura/isis3/milestones/3.3.1%20(2012-01-24)","labels_url":"https://api.github.com/repos/jlaura/isis3/milestones/8/labels","id":1181509,"number":8,"title":"3.3.1 (2012-01-24)","description":null,"creator":{"login":"jlaura","id":2105468,"avatar_url":"https://avatars.githubusercontent.com/u/2105468?v=3","gravatar_id":"","url":"https://api.github.com/users/jlaura","html_url":"https://github.com/jlaura","followers_url":"https://api.github.com/users/jlaura/followers","following_url":"https://api.github.com/users/jlaura/following{/other_user}","gists_url":"https://api.github.com/users/jlaura/gists{/gist_id}","starred_url":"https://api.github.com/users/jlaura/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jlaura/subscriptions","organizations_url":"https://api.github.com/users/jlaura/orgs","repos_url":"https://api.github.com/users/jlaura/repos","events_url":"https://api.github.com/users/jlaura/events{/privacy}","received_events_url":"https://api.github.com/users/jlaura/received_events","type":"User","site_admin":false},"open_issues":0,"closed_issues":4,"state":"open","created_at":"2015-06-25T18:31:55Z","updated_at":"2015-06-25T20:38:15Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2015-06-25T20:38:14Z","updated_at":"2015-06-25T20:38:15Z","closed_at":"2015-06-25T20:38:15Z","body":"---\n\n\nAuthor Name: **Travis Addair** (Travis Addair)\nOriginal Redmine Issue: 108, https://isis.astrogeology.usgs.gov/fixit/issues/108\n\nOriginal Assignee: Travis Addair\n\n---\n\nCurrently, most of \"equalizer's\" logic is localized to the application .cpp.  This creates two maintenance issues:\r\n\r\n1. Similar applications like \"hiequal\" must duplicate code in order to accomplish similar functionality.\r\n2. Adding new equalization \"modes\" requires creating an entirely new application, instead of simply adding an option to \"equalizer\".\r\n\r\nBy creating a new abstract base class \"Equalization\", other equalization modes can inherit from this class to take advantage of shared functionality, and only concern themselves with unique capabilities.\r\n\r\nThe applications \"equalizer\", \"tonematch\", and (the upcoming) \"blend\" will have their functionality abstracted as children of Equalization: LeastSquaresEqualization, LinearRegressionEqualization, and BlendEqualization, respectively.  \r\n\r\nThe \"hiqueal\" application, being almost identical to \"equalizer\" as it currently stands, will be abstracted into a class that inherits from LeastSquaresEqualization called HiEqualization.\n\n\n"}}