{"action":"reopened","issue":{"url":"https://api.github.com/repos/sbrisard/janus/issues/10","labels_url":"https://api.github.com/repos/sbrisard/janus/issues/10/labels{/name}","comments_url":"https://api.github.com/repos/sbrisard/janus/issues/10/comments","events_url":"https://api.github.com/repos/sbrisard/janus/issues/10/events","html_url":"https://github.com/sbrisard/janus/issues/10","id":95197726,"number":10,"title":"Improvements to the API for the janus.fft module","user":{"login":"sbrisard","id":7432449,"avatar_url":"https://avatars.githubusercontent.com/u/7432449?v=3","gravatar_id":"","url":"https://api.github.com/users/sbrisard","html_url":"https://github.com/sbrisard","followers_url":"https://api.github.com/users/sbrisard/followers","following_url":"https://api.github.com/users/sbrisard/following{/other_user}","gists_url":"https://api.github.com/users/sbrisard/gists{/gist_id}","starred_url":"https://api.github.com/users/sbrisard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbrisard/subscriptions","organizations_url":"https://api.github.com/users/sbrisard/orgs","repos_url":"https://api.github.com/users/sbrisard/repos","events_url":"https://api.github.com/users/sbrisard/events{/privacy}","received_events_url":"https://api.github.com/users/sbrisard/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/sbrisard/janus/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":{"login":"sbrisard","id":7432449,"avatar_url":"https://avatars.githubusercontent.com/u/7432449?v=3","gravatar_id":"","url":"https://api.github.com/users/sbrisard","html_url":"https://github.com/sbrisard","followers_url":"https://api.github.com/users/sbrisard/followers","following_url":"https://api.github.com/users/sbrisard/following{/other_user}","gists_url":"https://api.github.com/users/sbrisard/gists{/gist_id}","starred_url":"https://api.github.com/users/sbrisard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sbrisard/subscriptions","organizations_url":"https://api.github.com/users/sbrisard/orgs","repos_url":"https://api.github.com/users/sbrisard/repos","events_url":"https://api.github.com/users/sbrisard/events{/privacy}","received_events_url":"https://api.github.com/users/sbrisard/received_events","type":"User","site_admin":false},"milestone":null,"comments":1,"created_at":"2015-07-15T13:44:29Z","updated_at":"2015-07-15T13:45:05Z","closed_at":null,"body":"The present implementation of the ``janus.fft`` module define transforms with cryptic tuple attributes called ``shape``, ``rshape`` and ``cshape``.\r\n\r\nTransform objects could in fact be seen as operators (as defined in the ``janus.operators`` module). Then the shape attributes should be renamed as follows\r\n\r\n  - ``rshape -> ishape``\r\n  - ``cshape -> oshape``\r\n  - ``shape -> global_ishape``\r\n\r\nAn additional attribute ``global_oshape`` should also be created (see Issue #7).\r\n\r\nThis has a few consequences on the ``janus.operators`` module itself. Indeed, FFT objects could not be considered as *structured operators*, since for such operators, we have (3D example)\r\n\r\n  - ``ishape = (n0, n1, n2, in3)``\r\n  - ``oshape = (n0, n1, n2,out3)``\r\n\r\nWhile for FFT objects, the last dimension should be 1, and the dimension before last of the input and output might differ (this is certainly true of *real* transforms).\r\n\r\nThis probably entails the creation of a super-class of ``StructuredOperator``."}}