{"action":"created","issue":{"url":"https://api.github.com/repos/odlgroup/odl/issues/190","labels_url":"https://api.github.com/repos/odlgroup/odl/issues/190/labels{/name}","comments_url":"https://api.github.com/repos/odlgroup/odl/issues/190/comments","events_url":"https://api.github.com/repos/odlgroup/odl/issues/190/events","html_url":"https://github.com/odlgroup/odl/pull/190","id":123930675,"number":190,"title":"Issue 158  interpolation","user":{"login":"kohr-h","id":5030250,"avatar_url":"https://avatars.githubusercontent.com/u/5030250?v=3","gravatar_id":"","url":"https://api.github.com/users/kohr-h","html_url":"https://github.com/kohr-h","followers_url":"https://api.github.com/users/kohr-h/followers","following_url":"https://api.github.com/users/kohr-h/following{/other_user}","gists_url":"https://api.github.com/users/kohr-h/gists{/gist_id}","starred_url":"https://api.github.com/users/kohr-h/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kohr-h/subscriptions","organizations_url":"https://api.github.com/users/kohr-h/orgs","repos_url":"https://api.github.com/users/kohr-h/repos","events_url":"https://api.github.com/users/kohr-h/events{/privacy}","received_events_url":"https://api.github.com/users/kohr-h/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-12-26T13:57:47Z","updated_at":"2015-12-28T09:52:22Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/odlgroup/odl/pulls/190","html_url":"https://github.com/odlgroup/odl/pull/190","diff_url":"https://github.com/odlgroup/odl/pull/190.diff","patch_url":"https://github.com/odlgroup/odl/pull/190.patch"},"body":"This PR simplifies the interpolator structures significantly by using one class for both arrays and meshgrids and specifying the variant as init argument instead. The principle is to keep the private interpolator classes simple and implement the decision logic in the callers (the interpolation operators).\r\n\r\nSecondly, linear interpolation (#158) now works as specified in our internal discretization schemes. This means that all interpolators assume that the next \"virtual\" node outside the region has value zero. Hence, the value at the boundary is half the value at the last node in the region for linear interpolation. Proper boundary values are yet to be implemented.\r\n\r\nThirdly, interpolation schemes can now be specified per axis with the `PerAxisInterpolation` operator (#159). In fact, linear interpolation is just a special case of this operator. Nearest neighbor, however, has its own implementation for performance reasons (about 3x faster for arrays, about 2^(dim+1) times for meshes).\r\n\r\nAll new features and some old ones come with new tests.\r\n\r\nRemaining TODOs:\r\n- [ ] Cubic spline interpolation -> new issue?\r\n- [ ] Boundary values (grids with \"half basis functions\" at the ends)\r\n- [ ] Periodic interpolation\r\n- [ ] Add per-axis support to `DiscreteLp`\r\n- [ ] Adapt norm, inner product etc.\r\n- New issue: proper tessellations "},"comment":{"url":"https://api.github.com/repos/odlgroup/odl/issues/comments/167530017","html_url":"https://github.com/odlgroup/odl/pull/190#issuecomment-167530017","issue_url":"https://api.github.com/repos/odlgroup/odl/issues/190","id":167530017,"user":{"login":"adler-j","id":2202312,"avatar_url":"https://avatars.githubusercontent.com/u/2202312?v=3","gravatar_id":"","url":"https://api.github.com/users/adler-j","html_url":"https://github.com/adler-j","followers_url":"https://api.github.com/users/adler-j/followers","following_url":"https://api.github.com/users/adler-j/following{/other_user}","gists_url":"https://api.github.com/users/adler-j/gists{/gist_id}","starred_url":"https://api.github.com/users/adler-j/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/adler-j/subscriptions","organizations_url":"https://api.github.com/users/adler-j/orgs","repos_url":"https://api.github.com/users/adler-j/repos","events_url":"https://api.github.com/users/adler-j/events{/privacy}","received_events_url":"https://api.github.com/users/adler-j/received_events","type":"User","site_admin":false},"created_at":"2015-12-28T09:52:22Z","updated_at":"2015-12-28T09:52:22Z","body":"> Cubic spline interpolation -> new issue?\r\n\r\nNew issue\r\n\r\n> Boundary values (grids with \"half basis functions\" at the ends)\r\n\r\nAlso new issue\r\n\r\n> Periodic interpolation\r\n\r\nAlso new issue, perhaps same as \"Boundary values\" since they are very related.\r\n\r\n> Add per-axis support to DiscreteLp\r\n \r\nNew issue\r\n \r\n> Adapt norm, inner product etc.\r\n\r\nSame issue as above\r\n\r\n> New issue: proper tessellations\r\n\r\n:+1:\r\n\r\nI'll try to give you a review of this."}}