{"id":403,"date":"2014-11-12T18:29:00","date_gmt":"2014-11-12T18:29:00","guid":{"rendered":"http:\/\/ahay.org\/blog\/?p=403"},"modified":"2015-08-22T16:16:24","modified_gmt":"2015-08-22T16:16:24","slug":"program-of-the-month-sfthreshold","status":"publish","type":"post","link":"https:\/\/ahay.org\/blog\/2014\/11\/12\/program-of-the-month-sfthreshold\/","title":{"rendered":"Program of the month: sfthreshold"},"content":{"rendered":"<p><a href=\"\/RSF\/sfthreshold.html\">sfthreshold<\/a> filters the input by soft thresholding (shrinkage).<\/p>\n<p>Soft thresholding is a point-by-point operation, which can be described mathematically as<br \/>\n$T_{\\mu}[u] = \\left\\{\\begin{array}{rcl} u &#8211; \\mu\\,\\mbox{sign}(u) &amp; \\quad &amp; \\mbox{if}\\,|u| > \\mu \\\\ 0 &amp; \\quad &amp; \\mbox{if}\\,|u| \\le \\mu\\end{array}\\right.$<\/p>\n<p>Soft thresholding was analyzed by Donoho (1995) and became particularly popular thanks to the iterative shrinkage-thresholding algorithm by Daubechies et al. (2004). <\/p>\n<p>Donoho, D. L. (1995). De-noising by soft-thresholding. Information Theory, IEEE Transactions on, 41(3), 613-627. <\/p>\n<p>Daubechies, I., Defrise, M., &amp; De Mol, C. (2004). An iterative thresholding algorithm for linear inverse problems with a sparsity constraint. Communications on pure and applied mathematics, 57(11), 1413-1457. <\/p>\n<p>The following example from <a href=\"\/RSF\/book\/tccs\/seislet\/lena.html\">tccs\/seislet\/lena<\/a> shows an image (<a href=\"http:\/\/library.seg.org\/doi\/abs\/10.1190\/1.1481249\">Seismic Lena<\/a>) and its reconstruction after soft thresholding in the <a href=\"\/RSF\/book\/tccs\/seislet\/paper_html\/\">seislet<\/a> domain using 5% thresholding (<strong>pclip=5<\/strong>).<\/p>\n<p><img decoding=\"async\" src=\"\/RSF\/book\/tccs\/seislet\/lena\/Fig\/slena.png\" alt=\"\" title=\"\" \/> <img decoding=\"async\" src=\"\/RSF\/book\/tccs\/seislet\/lena\/Fig\/srec5.png\" alt=\"\" title=\"\" \/><\/p>\n<p><strong>sfthreshold<\/strong> uses percentage parameter <strong>pclip=<\/strong> to set thresholding at the corresponding quantile of the data values. To do soft or hard thresholding with a fixed threshold, use <a href=\"\/RSF\/sfthr.html\">sfthr<\/a>. <\/p>\n<p>An alternative thresholding-like operation is provided by <a href=\"\/RSF\/sfsharpen.html\">sfsharpen<\/a>. <\/p>\n<h3 id=\"10previousprogramsofthemonth\">10 previous programs of the month:<\/h3>\n<ul>\n<li><a href=\"\/blog\/2014\/10\/08\/program-of-the-month-sfsigmoid\/\">sfsigmoid<\/a><\/li>\n<li><a href=\"\/blog\/2014\/09\/24\/program-of-the-month-sfmax1\/\">sfmax1<\/a><\/li>\n<li><a href=\"\/blog\/2014\/08\/03\/program-of-the-month-sfstolt\/\">sfstolt<\/a><\/li>\n<li><a href=\"\/blog\/2014\/07\/13\/program-of-the-month-sfltft\/\">sfltft<\/a><\/li>\n<li><a href=\"\/blog\/2014\/06\/11\/program-of-the-month-sfeikonal\/\">sfeikonal<\/a><\/li>\n<li><a href=\"\/blog\/2014\/05\/13\/program-of-the-month-sfhelicon\/\">sfhelicon<\/a><\/li>\n<li><a href=\"\/blog\/2014\/04\/02\/program-of-the-month-sfcostaper\/\">sfcostaper<\/a><\/li>\n<li><a href=\"\/blog\/2014\/03\/11\/program-of-the-month-sflpad\/\">sflpad<\/a><\/li>\n<li><a href=\"\/blog\/2014\/02\/06\/program-of-the-month-sfdipfilter\/\">sfdipfilter<\/a><\/li>\n<li><a href=\"\/blog\/2014\/01\/09\/program-of-the-month-sfinttest1\/\">sfinttest1<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>sfthreshold filters the input by soft thresholding (shrinkage). Soft thresholding is a point-by-point operation, which can be described mathematically as $T_{\\mu}[u] = \\left\\{\\begin{array}{rcl} u &#8211; \\mu\\,\\mbox{sign}(u) &amp; \\quad &amp; \\mbox{if}\\,|u| > \\mu \\\\ 0 &amp; \\quad &amp; \\mbox{if}\\,|u| \\le \\mu\\end{array}\\right.$ Soft thresholding was analyzed by Donoho (1995) and became particularly popular thanks to the iterative [&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-403","post","type-post","status-publish","format-standard","hentry","category-programs"],"_links":{"self":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/403","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=403"}],"version-history":[{"count":13,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/403\/revisions"}],"predecessor-version":[{"id":13539,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/posts\/403\/revisions\/13539"}],"wp:attachment":[{"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/media?parent=403"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/categories?post=403"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ahay.org\/blog\/wp-json\/wp\/v2\/tags?post=403"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}