{"action":"created","issue":{"url":"https://api.github.com/repos/obspy/obspy/issues/1336","repository_url":"https://api.github.com/repos/obspy/obspy","labels_url":"https://api.github.com/repos/obspy/obspy/issues/1336/labels{/name}","comments_url":"https://api.github.com/repos/obspy/obspy/issues/1336/comments","events_url":"https://api.github.com/repos/obspy/obspy/issues/1336/events","html_url":"https://github.com/obspy/obspy/pull/1336","id":142095600,"number":1336,"title":"tr.__add__ crossfade possibility","user":{"login":"MMesch","id":2597803,"avatar_url":"https://avatars.githubusercontent.com/u/2597803?v=3","gravatar_id":"","url":"https://api.github.com/users/MMesch","html_url":"https://github.com/MMesch","followers_url":"https://api.github.com/users/MMesch/followers","following_url":"https://api.github.com/users/MMesch/following{/other_user}","gists_url":"https://api.github.com/users/MMesch/gists{/gist_id}","starred_url":"https://api.github.com/users/MMesch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MMesch/subscriptions","organizations_url":"https://api.github.com/users/MMesch/orgs","repos_url":"https://api.github.com/users/MMesch/repos","events_url":"https://api.github.com/users/MMesch/events{/privacy}","received_events_url":"https://api.github.com/users/MMesch/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/obspy/obspy/labels/.core","name":".core","color":"0b02e1"},{"url":"https://api.github.com/repos/obspy/obspy/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-19T19:47:14Z","updated_at":"2016-03-21T10:34:45Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/obspy/obspy/pulls/1336","html_url":"https://github.com/obspy/obspy/pull/1336","diff_url":"https://github.com/obspy/obspy/pull/1336.diff","patch_url":"https://github.com/obspy/obspy/pull/1336.patch"},"body":"This PR adds the possibility to crossfade traces when adding them or just cutting them in the middle. It works well but doesn't yet test all possible Exceptions (e.g. if one trace is contained fully...). Cutting in the middle is really useful when you don't want to use the end of each trace because of boundary effects after filtering. Crossfade is nice when merging traces that have slowly changing processing parameters. I hope this didn't exist before...\r\n\r\n![xfade](https://cloud.githubusercontent.com/assets/2597803/13900960/504efea6-ee13-11e5-99b2-b2d43bbcc46d.png)\r\n"},"comment":{"url":"https://api.github.com/repos/obspy/obspy/issues/comments/199219092","html_url":"https://github.com/obspy/obspy/pull/1336#issuecomment-199219092","issue_url":"https://api.github.com/repos/obspy/obspy/issues/1336","id":199219092,"user":{"login":"MMesch","id":2597803,"avatar_url":"https://avatars.githubusercontent.com/u/2597803?v=3","gravatar_id":"","url":"https://api.github.com/users/MMesch","html_url":"https://github.com/MMesch","followers_url":"https://api.github.com/users/MMesch/followers","following_url":"https://api.github.com/users/MMesch/following{/other_user}","gists_url":"https://api.github.com/users/MMesch/gists{/gist_id}","starred_url":"https://api.github.com/users/MMesch/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MMesch/subscriptions","organizations_url":"https://api.github.com/users/MMesch/orgs","repos_url":"https://api.github.com/users/MMesch/repos","events_url":"https://api.github.com/users/MMesch/events{/privacy}","received_events_url":"https://api.github.com/users/MMesch/received_events","type":"User","site_admin":false},"created_at":"2016-03-21T10:34:45Z","updated_at":"2016-03-21T10:34:45Z","body":"What do you mean exactly with 'interpolation' after a jump in timing?\r\n\r\nE.g. trace 1 samples at [...], 1, 2, 3, 4 and trace 2 samples at 3.1, 4.1, 5.1, 5.1, [...]? In a naive/perfect world either of the traces could be interpolated, throwing away one sample. If there are glitches etc, interpolation can do harm I guess, so it is better to just accept a shift by maximum delta/2, maybe issuing a warning.\r\n\r\nIs this what you were referring too? This point is really not very clear in the __add__ function...\r\n\r\nIf any interpolation is done, I would suggest to do it before any of the different combine methods (which is an 'interpolation' in trace.data amplitude). That way the time and amplitude interpolations are fully separate."}}