{"id":292,"date":"2012-06-02T06:38:32","date_gmt":"2012-06-02T06:38:32","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=292"},"modified":"2015-09-03T03:19:07","modified_gmt":"2015-09-03T03:19:07","slug":"program-of-the-month-sfdip","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2012\/06\/02\/program-of-the-month-sfdip\/","title":{"rendered":"Program of the month: sfdip"},"content":{"rendered":"<p><a href=\"\/RSF\/sfdip.html\">sfdip<\/a> estimates a local slope (dip) using the <a href=\"\/RSF\/book\/sep\/pwd\/paper_html\/paper.html\">plane-wave destruction<\/a> algorithm. <\/p>\n<p>The dip is measured in time samples. If $\\alpha$ is the dip angle, then the output of sfdip corresponds to the dimensionless quantity $p=\\tan{\\alpha}$. <\/p>\n<p>The following example from <a href=\"\/RSF\/book\/jsg\/flat\/flat.html\">jsg\/flat\/flat<\/a> shows an input synthetic dataset and an estimated dip field <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/jsg\/flat\/flat\/Fig\/sigmoid.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/jsg\/flat\/flat\/Fig\/sdip.png\" alt=\"\" title=\"\" \/><\/p>\n<p>When applied to 3-D data, <strong>sfdip<\/strong> outputs a 4-D file with <strong>n4=2<\/strong> and two dips (inline and crossline). To compute only the inline dip, use <strong>n4=0<\/strong>. To compute only the crossline dip, use <strong>n4=1<\/strong>. The following example from <a href=\"\/RSF\/book\/sep\/plane\/qint.html\">sep\/plane\/qint<\/a> shows an input synthetic 3-D dataset and the two dip components calculated from it. <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/sep\/plane\/qint\/Fig\/qdome.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/sep\/plane\/qint\/Fig\/qslope.png\" alt=\"\" title=\"\" \/><\/p>\n<p>The algorithm consists of a number of non-linear Gauss-Newton iterations (specified by <strong>niter=<\/strong>) with a number of linear CG-shaping iterations (specified by <strong>liter=<\/strong>) inside each non-linear cycle. The convergence depends on the initial dip values, which can be specified either as constants (<strong>p0=<\/strong> and <strong>q0=<\/strong>) or as auxiliary input files (<strong>idip=<\/strong> and <strong>xdip=<\/strong>). If it is necessary to constrain the range of dip values, it can be controlled by specifying minimum or maximum parameters (<strong>pmin=<\/strong>, <strong>pmax=<\/strong> and <strong>qmin=<\/strong>, <strong>qmax=<\/strong>). The smoothness of the dip is assured by <a href=\"\/RSF\/book\/jsg\/shape\/paper_html\/\">shaping regularization<\/a> and controled by the smoothing radii <strong>rect1=<\/strong>, <strong>rect2=<\/strong>, <strong>rect3=<\/strong>. <\/p>\n<p>With default parameters, the dip estimate is accurate only up to 45 degrees. To estimate steeper (aliased) dips, increase the <strong>order=<\/strong> parameter. The order of the filter corresponds to the maximum dip. Alternatively, one can use the technique of filter stretching (interlacing), <a href=\"\/RSF\/book\/gee\/lal\/paper_html\/node2.html\">explained by Claerbout<\/a>; the stretching parameters are <strong>nj1=<\/strong> and <strong>nj2=<\/strong>. The following examples from <a href=\"\/RSF\/book\/sep\/pwd\/alias.html\">sep\/pwd\/alias<\/a> show aliased data interpolation using (a) order=12 (b) order=3 nj1=4. <\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/sep\/pwd\/alias\/Fig\/aliasp.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/sep\/pwd\/alias\/Fig\/aliasp0.png\" alt=\"\" title=\"\" \/><\/p>\n<p>For a faster version, with only one non-linear iteration but with fewer options, try <a href=\"\/RSF\/sffdip.html\">sffdip<\/a>. To estimate two interfering dips, try <a href=\"\/RSF\/sftwodip2.html\">sftwodip2<\/a>. To estimate a number of constant dips, try <a href=\"\/RSF\/sfdips.html\">sfdips<\/a>. <\/p>\n<h3 id=\"10previousprogramsofthemonth\">10 previous programs of the month<\/h3>\n<ul>\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<li><a href=\"\/blog\/2011\/08\/09\/program-of-the-month-sfgraph\/\">sfgraph<\/a><\/li>\n<li><a href=\"\/blog\/2011\/09\/03\/program-of-the-month-sfclip\/\">sfclip<\/a><\/li>\n<li><a href=\"\/blog\/2011\/10\/01\/program-of-the-month-sfagc\/\">sfagc<\/a><\/li>\n<li><a href=\"\/blog\/2011\/11\/05\/program-of-the-month-sfenvelope\/\">sfenvelope<\/a><\/li>\n<li><a href=\"\/blog\/2011\/12\/03\/programs-of-the-month-sfcontour\/\">sfcontour<\/a><\/li>\n<li><a href=\"\/blog\/2012\/01\/01\/program-of-the-month-sfsmooth\/\">sfsmooth<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfdip estimates a local slope (dip) using the plane-wave destruction algorithm. The dip is measured in time samples. If $\\alpha$ is the dip angle, then the output of sfdip corresponds to the dimensionless quantity $p=\\tan{\\alpha}$. The following example from jsg\/flat\/flat shows an input synthetic dataset and an estimated dip field When applied to 3-D data, [&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":"","activitypub_max_image_attachments":4,"activitypub_interaction_policy_quote":"anyone","activitypub_status":"","footnotes":""},"categories":[3],"tags":[],"class_list":["post-292","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/292","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=292"}],"version-history":[{"count":3,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/292\/revisions"}],"predecessor-version":[{"id":20820,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/292\/revisions\/20820"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=292"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=292"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=292"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}