{"action":"created","issue":{"url":"https://api.github.com/repos/edm0003/LFIT/issues/1","labels_url":"https://api.github.com/repos/edm0003/LFIT/issues/1/labels{/name}","comments_url":"https://api.github.com/repos/edm0003/LFIT/issues/1/comments","events_url":"https://api.github.com/repos/edm0003/LFIT/issues/1/events","html_url":"https://github.com/edm0003/LFIT/issues/1","id":111280649,"number":1,"title":"Replace \"request vectors\" with named structures","user":{"login":"ganglere","id":1888021,"avatar_url":"https://avatars.githubusercontent.com/u/1888021?v=3","gravatar_id":"","url":"https://api.github.com/users/ganglere","html_url":"https://github.com/ganglere","followers_url":"https://api.github.com/users/ganglere/followers","following_url":"https://api.github.com/users/ganglere/following{/other_user}","gists_url":"https://api.github.com/users/ganglere/gists{/gist_id}","starred_url":"https://api.github.com/users/ganglere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ganglere/subscriptions","organizations_url":"https://api.github.com/users/ganglere/orgs","repos_url":"https://api.github.com/users/ganglere/repos","events_url":"https://api.github.com/users/ganglere/events{/privacy}","received_events_url":"https://api.github.com/users/ganglere/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/edm0003/LFIT/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-10-13T22:01:21Z","updated_at":"2015-10-19T21:08:56Z","closed_at":null,"body":"The `requestVector` variable used in refocusing and perspective shift functions is unwieldy. In the instance of refocusing, the `requestVector` is a 15-cell array of mixed datatypes (some of which are also arrays) that may have a second dimension for multiple requests. These are difficult to read or write without constant cross-checking with the documentation.\r\n\r\nA semantically-named structure or class definition should be employed to improve readability. In the case of a `classdef`, sane defaults and parameter validation could also be provided.\r\n\r\nFor example:\r\n```\r\nrequest.alpha       = 0.92;\r\nrequest.method      = 'additive'; \r\n...\r\nrequest.filetype    = 'png';\r\n```\r\n\r\nIf multiple simultaneous requests are needed, they can be indexed on the parent variable like so:\r\n```\r\nrequest(2).alpha    = 0.95;\r\n```"},"comment":{"url":"https://api.github.com/repos/edm0003/LFIT/issues/comments/149348174","html_url":"https://github.com/edm0003/LFIT/issues/1#issuecomment-149348174","issue_url":"https://api.github.com/repos/edm0003/LFIT/issues/1","id":149348174,"user":{"login":"ganglere","id":1888021,"avatar_url":"https://avatars.githubusercontent.com/u/1888021?v=3","gravatar_id":"","url":"https://api.github.com/users/ganglere","html_url":"https://github.com/ganglere","followers_url":"https://api.github.com/users/ganglere/followers","following_url":"https://api.github.com/users/ganglere/following{/other_user}","gists_url":"https://api.github.com/users/ganglere/gists{/gist_id}","starred_url":"https://api.github.com/users/ganglere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ganglere/subscriptions","organizations_url":"https://api.github.com/users/ganglere/orgs","repos_url":"https://api.github.com/users/ganglere/repos","events_url":"https://api.github.com/users/ganglere/events{/privacy}","received_events_url":"https://api.github.com/users/ganglere/received_events","type":"User","site_admin":false},"created_at":"2015-10-19T21:08:56Z","updated_at":"2015-10-19T21:08:56Z","body":"In a multi-request scenario, which parameters should be allowed to vary? In my original example, all parameters are permitted to vary, because each index is an entire request. However, in practice, only a few should change.\r\n\r\nWe could allow an additional dimension on e.g. `alpha` and `uv` only, forcing all other parameters to remain constant.\r\n\r\nThoughts?"}}