{"id":311,"date":"2012-12-23T07:51:12","date_gmt":"2012-12-23T07:51:12","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=311"},"modified":"2015-09-02T14:47:45","modified_gmt":"2015-09-02T14:47:45","slug":"program-of-the-month-sfhalfint","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2012\/12\/23\/program-of-the-month-sfhalfint\/","title":{"rendered":"Program of the month: sfhalfint"},"content":{"rendered":"<p><a href=\"\/RSF\/sfhalfint.html\">sfhalfint<\/a> implements half-order integration or differentiation, a filtering operation common in 2-D imaging operators such as as slant stacking or Kirchhoff migration. <\/p>\n<p>By default, <strong>sfhalfint<\/strong> performs half-order integration. To apply half-order differentiation, use <strong>inv=y<\/strong>. To apply the adjoint operator, use <strong>adj=y<\/strong>. <\/p>\n<p>Theoretically, half-order integration and differiation correspond to division by $(i\\omega)^{1\/2}$. For stability, $i\\omega$ is replaced in practice by $1-\\rho\\,Z$ when doing differentiation and by $\\frac{1}{2}\\,\\frac{1-\\rho\\,Z}{1+\\rho\\,Z}$ when doing integration. Here $Z=e^{i\\omega\\,\\Delta t}$. As <a href=\"\/RSF\/book\/bei\/ft1\/paper_html\/node18.html\">explained by Jon Claerbout<\/a>, this approximation attenuates high frequencies and assures a causal impulse response. The value of the $\\rho$ parameter is controlled by <strong>rho=<\/strong>. <\/p>\n<p>The following plot from <a href=\"\/RSF\/book\/bei\/ft1\/hankel.html\">bei\/ft1\/hankel<\/a> shows the impulse response of half-order differentiation (also known as the &#8220;rho filter&#8221;) <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/bei\/ft1\/hankel\/Fig\/hankel.png\" alt=\"\" title=\"\" \/><\/p>\n<h3 id=\"10previousprogramsofthemonth\">10 previous programs of the month<\/h3>\n<ul>\n<li><a href=\"\/blog\/2012\/11\/03\/program-of-the-month-sfbandpass\/\">sfbandpass<\/a><\/li>\n<li><a href=\"\/blog\/2012\/10\/03\/program-of-the-month-sfkirmod\/\">sfkirmod<\/a><\/li>\n<li><a href=\"\/blog\/2012\/09\/03\/program-of-the-month-sfiwarp\/\">sfiwarp<\/a><\/li>\n<li><a href=\"\/blog\/2012\/08\/01\/program-of-the-month-sfpick\/\">sfpick<\/a><\/li>\n<li><a href=\"\/blog\/2012\/07\/02\/program-of-the-month-sffft3\/\">sffft3<\/a><\/li>\n<li><a href=\"\/blog\/2012\/06\/02\/program-of-the-month-sfdip\/\">sfdip<\/a><\/li>\n<li><a href=\"\/blog\/2012\/05\/01\/program-of-the-month-sfderiv\/\">sfderiv<\/a><\/li>\n<li><a href=\"\/blog\/2012\/04\/01\/program-of-the-month-sfgrey3\/\">sfgrey3<\/a><\/li>\n<li><a href=\"\/blog\/2012\/03\/18\/program-of-the-month-sfspectra\/\">sfspectra<\/a><\/li>\n<li><a href=\"\/blog\/2011\/07\/03\/program-of-the-month-sfnoise\/\">sfnoise<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfhalfint implements half-order integration or differentiation, a filtering operation common in 2-D imaging operators such as as slant stacking or Kirchhoff migration. By default, sfhalfint performs half-order integration. To apply half-order differentiation, use inv=y. To apply the adjoint operator, use adj=y. Theoretically, half-order integration and differiation correspond to division by $(i\\omega)^{1\/2}$. For stability, $i\\omega$ is [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","activitypub_content_warning":"","activitypub_content_visibility":"local","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-311","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/comments?post=311"}],"version-history":[{"count":3,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/311\/revisions"}],"predecessor-version":[{"id":19626,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/311\/revisions\/19626"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}