<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Earth Sci.</journal-id>
<journal-title>Frontiers in Earth Science</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Earth Sci.</abbrev-journal-title>
<issn pub-type="epub">2296-6463</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1103522</article-id>
<article-id pub-id-type="doi">10.3389/feart.2023.1103522</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Earth Science</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Reconstruction of seismic data based on SFISTA and curvelet transform</article-title>
<alt-title alt-title-type="left-running-head">Tian and Qin</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/feart.2023.1103522">10.3389/feart.2023.1103522</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Tian</surname>
<given-names>Lin</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Qin</surname>
<given-names>Si</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1977570/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>School of Electronic Engineering</institution>, <institution>Yili Normal University</institution>, <addr-line>Yining</addr-line>, <country>China</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Key Laboratory of Signal Detection and Control Technology</institution>, <institution>Yili Normal University</institution>, <addr-line>Yining</addr-line>, <country>China</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1894508/overview">Peng Zhenming</ext-link>, University of Electronic Science and Technology of China, China</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2158392/overview">Shu Li</ext-link>, Jishou University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2158372/overview">Bibo Yue</ext-link>, Southwest Petroleum University, China</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/987126/overview">Gulan Zhang</ext-link>, Southwest Petroleum University, China</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Lin Tian, <email>1610356358@qq.com</email>
</corresp>
<fn fn-type="other">
<p>This article was submitted to Environmental Informatics and Remote Sensing, a section of the journal Frontiers in Earth Science</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>23</day>
<month>02</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>11</volume>
<elocation-id>1103522</elocation-id>
<history>
<date date-type="received">
<day>20</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>03</day>
<month>02</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Tian and Qin.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Tian and Qin</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/">
<p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) and the copyright owner(s) are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p>
</license>
</permissions>
<abstract>
<p>In seismic data processing, the reconstruction and interpolation of missing traces are essential tasks. To overcome the limitations of irregularly sampled seismic data, this paper proposes a seismic data interpolation method combining the smoothing fast iterative soft threshold algorithm (SFISTA) and the curvelet transform; this method uses the curvelet domain as the sparse domain. For comparison, the contourlet transform is used for different sparse domains, and the fast iterative shrinkage-thresholding algorithm (FISTA) is used for different optimization algorithms. Numerical modeling and real data show that the SFISTA method in the curvelet domain can give better reconstruction effects and higher reconstruction accuracy than those in the contourlet domain with the FISTA method; in addition, the SFISTA method in the curvelet domain can be used to reconstruct the missing traces of three-dimensional seismic data.</p>
</abstract>
<kwd-group>
<kwd>seismic data reconstruction</kwd>
<kwd>sparse constraint</kwd>
<kwd>curvelet transform</kwd>
<kwd>contourlet transform</kwd>
<kwd>SFISTA</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>In complex environments, seismic data reconstruction has great significance as a recovery technique. Under external disturbance, irregularly sampled seismic data will affect further geological data processing such as migration imaging and data interpretation. In order to obtain high-quality seismic data, interpolation reconstruction is needed to approximate the original data. In recent years, under the compressive sensing theory, seismic data reconstruction methods based on sparse constraints have become more and more popular. It mainly consists of the sparse transform, measurement matrix, and reconstruction algorithm. The sparse transforms that are often used include the Fourier transform (<xref ref-type="bibr" rid="B17">Zhang et al., 2013</xref>; <xref ref-type="bibr" rid="B1">Ciabarri et al., 2014</xref>), curvelet transform (<xref ref-type="bibr" rid="B4">Hennenfent et al., 2010</xref>; <xref ref-type="bibr" rid="B6">Liu et al., 2015</xref>; <xref ref-type="bibr" rid="B18">Zhang et al., 2017</xref>; <xref ref-type="bibr" rid="B19">Zhang et al., 2019</xref>; <xref ref-type="bibr" rid="B14">Tian and Qin, 2022</xref>), contourlet transform (<xref ref-type="bibr" rid="B3">Eslami and Radha, 2006</xref>), and seislet transform (<xref ref-type="bibr" rid="B5">Liu W et al., 2016</xref>). Because the curvelet transform undergoes multi-scale and multi-direction analysis and can perform the optimal local decomposition of seismic data (<xref ref-type="bibr" rid="B15">Yang et al., 2017</xref>), the curvelet transform is employed in this paper as a sparse transform, and the contourlet transform is also used in this paper for comparison analysis.</p>
<p>A classical sparse recovery problem usually requires minimizing the <italic>L</italic>
<sub>0</sub> norm, which is NP-hard. The <italic>L</italic>
<sub>1</sub> norm is the approximate of the <italic>L</italic>
<sub>0</sub> norm, which is a convex function, and can be solved by the convex optimization algorithms or tools; so, the <italic>L</italic>
<sub>0</sub> norm is replaced by the <italic>L</italic>
<sub>1</sub> norm for simplicity and effectiveness. The iterative soft threshold algorithm (ISTA) shows great advantages (<xref ref-type="bibr" rid="B2">Daubechies et al., 2004</xref>; <xref ref-type="bibr" rid="B10">Mohsin et al., 2015</xref>) for a convex optimization algorithm. Gradually, a faster ISTA algorithm (FISTA) has been developed. FISTA is more suitable the synthesis approach to sparse recovery. And for the analysis approach to sparse recovery, <xref ref-type="bibr" rid="B13">Tan et al. (2014)</xref> proposed a monotone version of the fast iterative shrinkage-thresholding algorithm, which is the smoothing fast iterative soft threshold algorithm (SFISTA). In this paper, we introduce the SFISTA method-based curvelet transform to the seismic data interpolation reconstruction problem (<xref ref-type="bibr" rid="B13">Tan et al., 2014</xref>; <xref ref-type="bibr" rid="B7">Liu Y et al., 2016</xref>; <xref ref-type="bibr" rid="B11">Pokala and Seelamantula, 2020</xref>; <xref ref-type="bibr" rid="B12">Shen et al., 2020</xref>). The theory is given in <xref ref-type="sec" rid="s2">section 2</xref>, and experimental results are given in <xref ref-type="sec" rid="s3">section 3</xref>.</p>
</sec>
<sec id="s2">
<title>2 Theory</title>
<p>Assuming that the observed seismic data is <inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and the downsampling matrix is <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>U</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the irregular missing seismic data can be modeled as follows:<disp-formula id="e1">
<mml:math id="m3">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi>U</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>where <italic>n</italic> is a randomly generated noise and <inline-formula id="inf3">
<mml:math id="m4">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the original seismic data.</p>
<p>The interpolation problem can be expressed as follows:<disp-formula id="e2">
<mml:math id="m5">
<mml:mrow>
<mml:munder>
<mml:mi>min</mml:mi>
<mml:mi>x</mml:mi>
</mml:munder>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>where <inline-formula id="inf4">
<mml:math id="m6">
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mo>&#x2219;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>L</italic>
<sub>2</sub> norm, <inline-formula id="inf5">
<mml:math id="m7">
<mml:mrow>
<mml:mfenced open="&#x2016;" close="" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mfenced open="" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mo>&#x2219;</mml:mo>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>L</italic>
<sub>1</sub> norm, <inline-formula id="inf6">
<mml:math id="m8">
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the regularization parameter, and <inline-formula id="inf7">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the analysis operator. Moreover, <inline-formula id="inf8">
<mml:math id="m10">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf9">
<mml:math id="m11">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> denotes the adjoint of the operator <inline-formula id="inf10">
<mml:math id="m12">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf11">
<mml:math id="m13">
<mml:mrow>
<mml:mi mathvariant="normal">I</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the identity matrix. The sparse transform can be expressed as <inline-formula id="inf12">
<mml:math id="m14">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf13">
<mml:math id="m15">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the transform operator and <inline-formula id="inf14">
<mml:math id="m16">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the sparse coefficient. Let us denote the following equation:<disp-formula id="e3">
<mml:math id="m17">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>where <inline-formula id="inf15">
<mml:math id="m18">
<mml:mrow>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the smooth part.<disp-formula id="e4">
<mml:math id="m19">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>where <inline-formula id="inf16">
<mml:math id="m20">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is the non-smooth part that needs to be replaced by the Moreau envelope with an approximately smooth form <inline-formula id="inf17">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf18">
<mml:math id="m22">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the smooth approximate parameter.<disp-formula id="e5">
<mml:math id="m23">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where <inline-formula id="inf19">
<mml:math id="m24">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> is the gradient and <inline-formula id="inf20">
<mml:math id="m25">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the soft threshold operator; the threshold of <inline-formula id="inf21">
<mml:math id="m26">
<mml:mrow>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the multiplication of <inline-formula id="inf22">
<mml:math id="m27">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf23">
<mml:math id="m28">
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>In this paper, the process of the smoothing fast iterative soft threshold algorithm (<xref ref-type="bibr" rid="B12">Shen et al., 2020</xref>) for optimization is expressed as follows:<disp-formula id="e6">
<mml:math id="m29">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>where <inline-formula id="inf24">
<mml:math id="m30">
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the number of iterations, and <inline-formula id="inf25">
<mml:math id="m31">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mtext>&#x2009;</mml:mtext>
<mml:mi mathvariant="normal">a</mml:mi>
<mml:mi mathvariant="normal">n</mml:mi>
<mml:mi mathvariant="normal">d</mml:mi>
<mml:mtext>&#x2009;</mml:mtext>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>.<disp-formula id="e7">
<mml:math id="m32">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>The core iterations of the SFISTA are as follows:<disp-formula id="e8">
<mml:math id="m33">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2207;</mml:mo>
<mml:mi>f</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mo>&#x2207;</mml:mo>
<mml:msub>
<mml:mi>g</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mi>x</mml:mi>
</mml:mrow>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf26">
<mml:math id="m34">
<mml:mrow>
<mml:mi>L</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the Lipschitz constant. At <inline-formula id="inf27">
<mml:math id="m35">
<mml:mrow>
<mml:mn>0</mml:mn>
<mml:mo>&#x3c;</mml:mo>
<mml:mi mathvariant="normal">&#x3b3;</mml:mi>
<mml:mo>&#x2264;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>, <inline-formula id="inf28">
<mml:math id="m36">
<mml:mrow>
<mml:mi>L</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>. Substituting (6) and (7) in (8), the aforementioned equation is equivalent to the following equation:<disp-formula id="e9">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf29">
<mml:math id="m38">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the iteration step size. <inline-formula id="inf30">
<mml:math id="m39">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is expressed as follows:<disp-formula id="e10">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Then, we derive the following equation:<disp-formula id="e11">
<mml:math id="m41">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mo>.</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>
</p>
<p>The specific algorithm steps are as follows:</p>
<p>
<statement content-type="algorithm" id="Algorithm_1">
<label>Algorithm 1</label>
<p>SFISTA for seismic data interpolation<list list-type="simple">
<list-item>
<p>Parameters: <inline-formula id="inf31">
<mml:math id="m42">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3bc;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>/</mml:mo>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>/</mml:mo>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>Initialization: <inline-formula id="inf32">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>When not convergent, the following equations are used to calculate:</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf33">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3bb;</mml:mi>
<mml:mi>&#x3bc;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mi>&#x3b3;</mml:mi>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>U</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf34">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf35">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf36">
<mml:math id="m47">
<mml:mrow>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>x</mml:mi>
<mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>end if <inline-formula id="inf37">
<mml:math id="m48">
<mml:mrow>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> or the maximum number of iterations is reached.</p>
</list-item>
<list-item>
<p>end</p>
</list-item>
<list-item>
<p>Output: <inline-formula id="inf38">
<mml:math id="m49">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
</list>
</p>
</statement>
</p>
<p>
<statement content-type="algorithm" id="Algorithm_2">
<label>Algorithm 2</label>
<p>FISTA for seismic data interpolation<list list-type="simple">
<list-item>
<p>Parameters: <inline-formula id="inf39">
<mml:math id="m50">
<mml:mrow>
<mml:mi mathvariant="normal">&#x3bb;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="normal">&#x3b3;</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>Initialization: <inline-formula id="inf40">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>t</mml:mi>
</mml:mrow>
<mml:mn>0</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>When not convergent, the following equations are used to calculate:</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf41">
<mml:math id="m52">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>T</mml:mi>
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi>&#x3bb;</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>&#x3b3;</mml:mi>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:msup>
<mml:mi>U</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>U</mml:mi>
<mml:msup>
<mml:mi mathvariant="normal">&#x3a8;</mml:mi>
<mml:mo>&#x2a;</mml:mo>
</mml:msup>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf42">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>4</mml:mn>
<mml:msubsup>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:msqrt>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf43">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mi>k</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>
<inline-formula id="inf44">
<mml:math id="m55">
<mml:mrow>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mover accent="true">
<mml:mi>&#x3b1;</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2225;</mml:mo>
<mml:mi>&#x3b1;</mml:mi>
<mml:msub>
<mml:mo>&#x2225;</mml:mo>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
<list-item>
<p>end if <inline-formula id="inf45">
<mml:math id="m56">
<mml:mrow>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mi mathvariant="normal">L</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mo>&#x3c;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> or the maximum number of iterations is reached.</p>
</list-item>
<list-item>
<p>end</p>
</list-item>
<list-item>
<p>Output: <inline-formula id="inf46">
<mml:math id="m57">
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
</list>
</p>
</statement>
</p>
</sec>
<sec id="s3">
<title>3 Examples</title>
<p>In this section, we conduct numerical experiments with different seismic data to demonstrate the reconstruction performance of the SFISTA method in the curvelet domain. The algorithm performance is evaluated by interpolation results, the average amplitude spectrum, single-channel interpolation effect, reconstruction error, and signal-to-noise ratio. Numerical experiments are used to test the method. At last, the paper continues to test the 3D interpolation effect of the interpolation method of the proposed method. The experiments are conducted on a Millet computer running on the Windows 10 operating system and Inter Core m3-6Y30.</p>
<sec id="s3-1">
<title>3.1 Synthetic examples</title>
<sec id="s3-1-1">
<title>3.1.1 Seismic data interpolation in the contourlet domain</title>
<p>The regularization parameters of the FISTA and SFISTA methods are set to <inline-formula id="inf47">
<mml:math id="m58">
<mml:mrow>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msup>
<mml:mo>.</mml:mo>
</mml:mrow>
</mml:math>
</inline-formula> The step size of the FISTA is 1, and the step size of the SFISTA is set to 0.5 (<xref ref-type="bibr" rid="B7">Liu Y et al., 2016</xref>); the number of iterations is set as 500. The two-dimensional data tests have the same parameters.</p>
<p>Part data on the Marmousi2 model (<xref ref-type="bibr" rid="B9">Martin et al., 2006</xref>) are selected as test data; the data are shown in <xref ref-type="fig" rid="F1">Figure 1A</xref>. <xref ref-type="fig" rid="F1">Figure 1B</xref> shows the irregular data with 50% of the traces removed randomly, and this part&#x2019;s records are padded with zeros. The sparse domain is the contourlet domain. <xref ref-type="fig" rid="F1">Figures 1C,D</xref> are interpolation results of <xref ref-type="fig" rid="F1">Figure 1B</xref> using FISTA and SFISTA methods based on the contourlet transform. <xref ref-type="fig" rid="F1">Figures 1E,F</xref> show the reconstruction errors that correspond to the FISTA and SFISTA methods, in which the reconstruction residuals of the SFISTA method have smaller amplitude ranges than those of the FISTA method. It is obvious that the reconstruction method of SFISTA based on the contourlet transform is more effective.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Reconstruction results of synthetic data in the contourlet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g001.tif"/>
</fig>
<p>The performance of the proposed method in seismic data interpolation could be evaluated using different qualitative and quantitative analyzing tools. The reconstruction error is the general quantitative evaluation tool used in seismic data interpolation; the reconstruction error is defined to be <inline-formula id="inf48">
<mml:math id="m59">
<mml:mrow>
<mml:mo>&#x2211;</mml:mo>
<mml:mrow>
<mml:mfenced open="|" close="|" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, where <inline-formula id="inf49">
<mml:math id="m60">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> denotes the original data and <inline-formula id="inf50">
<mml:math id="m61">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> denotes the reconstructed seismic data. If the reconstruction error is smaller, the reconstructed seismic data will be closer to the original data. SNR is the signal-to-noise ratio, which is defined as <inline-formula id="inf51">
<mml:math id="m62">
<mml:mrow>
<mml:mi mathvariant="normal">S</mml:mi>
<mml:mi mathvariant="normal">N</mml:mi>
<mml:mi mathvariant="normal">R</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mn>101</mml:mn>
<mml:mi mathvariant="normal">o</mml:mi>
<mml:mi mathvariant="normal">g</mml:mi>
</mml:mrow>
<mml:mn>10</mml:mn>
</mml:msub>
<mml:mfrac>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>&#x2212;</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>&#x5e;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>. A higher SNR value means that the data have better reconstruction quality. The reconstruction error and signal-to-noise ratio are illustrated in <xref ref-type="table" rid="T1">Table 1</xref>. <xref ref-type="table" rid="T1">Table 1</xref> shows that the SFISTA method has a smaller reconstruction error value and higher SNR. Compared to the two methods, the SFISTA method based on the contourlet transform has a lower reconstruction error and higher SNR, and therefore, the SFISTA method shows better performance.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">784.34</td>
<td align="center">450.45</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">10.12</td>
<td align="center">12.41</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-1-2">
<title>3.1.2 Seismic data interpolation in the curvelet domain</title>
<p>The part of the Marmousi2 model is shown in <xref ref-type="fig" rid="F2">Figure 2A</xref>. <xref ref-type="fig" rid="F2">Figure 2B</xref> shows the irregular data with 50% of the traces missing randomly. <xref ref-type="fig" rid="F2">Figures 2C, D</xref> show interpolation effects using FISTA and SFISTA methods based on the curvelet transform. <xref ref-type="fig" rid="F2">Figures 2E, F</xref> show the reconstruction errors that correspond to the FISTA and SFISTA methods, in which the reconstruction residuals of the SFISTA method have a smaller magnitude than those of the FISTA method. It is obvious that the reconstruction method of SFISTA in the curvelet domain is more effective.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Reconstruction results of synthetic data in the curvelet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g002.tif"/>
</fig>
<p>Comparing <xref ref-type="fig" rid="F1">Figures 1</xref>, <xref ref-type="fig" rid="F2">2</xref>, the SFISTA method in the curvelet domain has lower reconstruction errors when using the qualitative analyzing method. Comparing <xref ref-type="table" rid="T1">Tables 1</xref>, <xref ref-type="table" rid="T2">2</xref>, the SFISTA method in the curvelet domain has lower reconstruction errors and higher SNR when using the quantitative analyzing method. The SFISTA method shows better performance when using the curvelet domain as the sparse domain.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">223.16</td>
<td align="center">193.62</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">17.75</td>
<td align="center">20.67</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-1-3">
<title>3.1.3 Coral reef model tests in the contourlet domain</title>
<p>The selected coral reef synthetic data are illustrated in <xref ref-type="fig" rid="F3">Figure 3A</xref>. <xref ref-type="fig" rid="F3">Figure 3B</xref> shows corrupted data with 50% of traces missing randomly. <xref ref-type="fig" rid="F3">Figures 3C, D</xref> show interpolation effects using FISTA and SFISTA methods in the contourlet domain. <xref ref-type="fig" rid="F3">Figures 3E, F</xref> show the reconstructed errors between the reconstruction and original data; <xref ref-type="fig" rid="F3">Figure 3F</xref> shows a smaller reconstructed error. <xref ref-type="table" rid="T3">Table 3</xref> shows the reconstruction error and SNR, which demonstrates the validity of the SFISTA method in the contourlet domain.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Reconstruction results of the coral reef model in the contourlet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g003.tif"/>
</fig>
<table-wrap id="T3" position="float">
<label>TABLE 3</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">1695.09</td>
<td align="center">407.17</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">9.11</td>
<td align="center">25.07</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-1-4">
<title>3.1.4 Coral reef model tests in the curvelet domain</title>
<p>The selected Coral reef synthetic data are tested in the curvelet domain; the original data are shown in <xref ref-type="fig" rid="F4">Figure 4A</xref>. <xref ref-type="fig" rid="F4">Figure 4B</xref> shows corrupted data with 50% of traces missing randomly. <xref ref-type="fig" rid="F4">Figures 4C, D</xref> show interpolation results using FISTA and SFISTA methods in the curvelet domain. <xref ref-type="fig" rid="F4">Figures 4E, F</xref> show the reconstructed errors between the reconstruction and original data; <xref ref-type="fig" rid="F4">Figure 4F</xref> shows a smaller reconstructed error. <xref ref-type="table" rid="T4">Table 4</xref> shows the reconstruction error and SNR, which demonstrates the validity of the proposed method.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Reconstruction results of the coral reef model in the curvelet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g004.tif"/>
</fig>
<table-wrap id="T4" position="float">
<label>TABLE 4</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">902.74</td>
<td align="center">323.55</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">15.45</td>
<td align="center">27.72</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Comparing the detailed values in <xref ref-type="table" rid="T3">Tables 3</xref>, <xref ref-type="table" rid="T4">4</xref>, the reconstruction performance of the SFISTA method in the curvelet domain is better than that in the contourlet domain.</p>
</sec>
</sec>
<sec id="s3-2">
<title>3.2 Field examples</title>
<sec id="s3-2-1">
<title>3.2.1 Seismic data interpolation in the contourlet domain</title>
<p>The field data are illustrated in <xref ref-type="fig" rid="F5">Figure 5A</xref>. <xref ref-type="fig" rid="F5">Figure 5B</xref> shows corrupted data with 50% of traces missing randomly. <xref ref-type="fig" rid="F5">Figures 5C, D</xref> show interpolation effects using FISTA and SFISTA methods in the contourlet domain. By comparing the interpolation results of the ellipse regions, we learn that the reconstruction results of the SFISTA method in the contourlet domain are similar to the original data. <xref ref-type="fig" rid="F5">Figures 5E, F</xref> show the reconstructed errors between the reconstruction and original data; <xref ref-type="fig" rid="F5">Figure 5F</xref> shows a smaller reconstructed error. <xref ref-type="table" rid="T5">Table 5</xref> shows the reconstruction error and SNR, which demonstrates the validity of the SFISTA method in the contourlet domain.</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Reconstruction results of field data in the contourlet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g005.tif"/>
</fig>
<table-wrap id="T5" position="float">
<label>TABLE 5</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">3904.69</td>
<td align="center">3633.50</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">6.43</td>
<td align="center">7.16</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s3-2-2">
<title>3.2.2 Seismic data interpolation in the curvelet domain</title>
<p>The field data are illustrated in <xref ref-type="fig" rid="F6">Figure 6A</xref>. <xref ref-type="fig" rid="F6">Figure 6B</xref> shows incomplete seismic data with 50% of traces missing randomly. <xref ref-type="fig" rid="F6">Figures 6C, D</xref> show interpolation effects using FISTA and SFISTA methods in the curvelet domain. By comparing the interpolation results of the ellipse regions, we learn that the reconstruction data on the SFISTA method in the curvelet domain are similar to the original data. <xref ref-type="fig" rid="F6">Figures 6E, F</xref> show the reconstructed errors between the reconstruction and original data; <xref ref-type="fig" rid="F6">Figure 6F</xref> shows a smaller reconstructed error. <xref ref-type="table" rid="T6">Table 6</xref> shows the reconstruction error and SNR results of the two algorithms in the curvelet domain. Comparing the two methods, SFISTA performs better with a lower error and higher SNR.</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Reconstruction results of field data in the curvelet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 50% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g006.tif"/>
</fig>
<table-wrap id="T6" position="float">
<label>TABLE 6</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">2968.24</td>
<td align="center">2220.78</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">9.18</td>
<td align="center">12.91</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="fig" rid="F7">Figure 7A</xref> plots the interpolation single trace of the missing trace with zero values. In <xref ref-type="fig" rid="F7">Figures 7</xref>, the black, pink, and blue lines correspond to the original data and those obtained by FISTA and SFISTA methods, respectively. <xref ref-type="fig" rid="F7">Figure 7B</xref> shows the zoomed traces from the transparent gray window of <xref ref-type="fig" rid="F7">Figure 7A</xref>. A detailed comparison reveals that the blue line is similar to the black line. We can, therefore, affirm that the proposed SFISTA method can better restore the significant features of the useful signal than the FISTA method.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>
<bold>(A)</bold> Comparison of a missing single-trace amplitude interpolated with FISTA and SFISTA methods; <bold>(B)</bold> zoomed traces from the transparent gray window of <bold>(A)</bold>.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g007.tif"/>
</fig>
<p>Comparing the detailed values in <xref ref-type="table" rid="T5">Tables 5</xref>, <xref ref-type="table" rid="T6">6</xref>, the SFISTA method in the curvelet domain is better than that in the contourlet domain.</p>
<p>The performance of these methods could be investigated more by comparing the average amplitude spectrum (<xref ref-type="bibr" rid="B8">Mafakheri et al., 2022</xref>). The average amplitude spectrum presents the original data and those obtained by FISTA and SFISTA methods, as shown in <xref ref-type="fig" rid="F8">Figure 8</xref> by the black, pink, and blue lines, respectively. The SFISTA method in the curvelet domain gives a closer spectrum to that of the original data, particularly in the range of 5&#x2013;30&#xa0;Hz. In this case, our method has better performance.</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Average amplitude spectrum from original data, interpolated with FISTA and SFISTA methods.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g008.tif"/>
</fig>
</sec>
<sec id="s3-2-3">
<title>3.2.3 Three-dimensional seismic data tests</title>
<p>The experimental results of three sets of 2D data show that SFISTA based on the curvelet transform shows good performance. Next, this method will be tested for 3D seismic data reconstruction. The 3D data (size: 64 &#xd7; 64 &#xd7; 64) are from the software package of MathGeo 2020 (<ext-link ext-link-type="uri" xlink:href="https://gitee.com/sevenysw/MathGeo2020">https://gitee.com/sevenysw/MathGeo2020</ext-link>). The 3D discrete curvelet transform method comes from the reference of <xref ref-type="bibr" rid="B16">Ying et al. (2005)</xref>.</p>
<p>The original data are shown in <xref ref-type="fig" rid="F9">Figure 9A</xref>. <xref ref-type="fig" rid="F9">Figure 9B</xref> shows corrupted data with 51% of the traces removed randomly; the iteration number of the FISTA and SFISTA methods is 1000. <xref ref-type="fig" rid="F9">Figures 9C, D</xref> show the interpolation results using the FISTA and SFISTA methods in the curvelet domain. <xref ref-type="fig" rid="F9">Figures 9E, F</xref> show reconstructed errors obtained by the FISTA and SFISTA methods. The quantitatively recovered reconstruction error and SNR are shown in <xref ref-type="table" rid="T7">Table 7</xref>; <xref ref-type="table" rid="T7">Table 7</xref> illustrates that the SFISTA method is better than the FISTA method.</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Reconstruction results of three-dimensional field data in the curvelet domain. <bold>(A)</bold> Original data; <bold>(B)</bold> 51% of randomly missing data; <bold>(C)</bold> interpolated data obtained by the FISTA method; <bold>(D)</bold> interpolated data obtained by the SFISTA method; <bold>(E)</bold> reconstructed errors obtained by the FISTA method; <bold>(F)</bold> reconstructed errors obtained by the SFISTA method.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g009.tif"/>
</fig>
<table-wrap id="T7" position="float">
<label>TABLE 7</label>
<caption>
<p>Reconstruction error and SNR of different methods.</p>
</caption>
<table>
<thead valign="top">
<tr>
<th align="center"/>
<th align="center">FISTA</th>
<th align="center">SFISTA</th>
</tr>
</thead>
<tbody valign="top">
<tr>
<td align="center">Reconstruction error</td>
<td align="center">27781.58</td>
<td align="center">18396.99</td>
</tr>
<tr>
<td align="center">SNR</td>
<td align="center">7.32</td>
<td align="center">10.79</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>
<xref ref-type="fig" rid="F10">Figure 10A</xref> plots the interpolation single trace from <xref ref-type="fig" rid="F9">Figures 9C, D</xref>. The black, pink, and blue lines represent the original data and those obtained by FISTA and SFISTA methods, respectively. <xref ref-type="fig" rid="F10">Figure 10B</xref> shows the zoomed traces from the transparent gray window of <xref ref-type="fig" rid="F10">Figure 10A</xref>. A detailed comparison reveals that the blue line is similar to the black line. We can, therefore, affirm that the proposed SFISTA method can better restore the significant features of the useful signal than the FISTA approach.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>
<bold>(A)</bold> Comparison of a missing single-trace amplitude interpolated with FISTA and SFISTA methods; <bold>(B)</bold> zoomed traces from the transparent gray window of <bold>(A)</bold>.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g010.tif"/>
</fig>
<p>The performance of these methods could be investigated more by comparing the average amplitude spectrum. The average amplitude spectrum of the original data and FISTA and SFISTA methods are shown in <xref ref-type="fig" rid="F11">Figure 11</xref> by the black, pink, and blue lines, respectively. Interestingly, in this case, the reconstruction data obtained by our method are very similar to the original data.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Average amplitude spectrum from original data, interpolated with FISTA and SFISTA methods.</p>
</caption>
<graphic xlink:href="feart-11-1103522-g011.tif"/>
</fig>
</sec>
</sec>
</sec>
<sec sec-type="conclusion" id="s4">
<title>4 Conclusion</title>
<p>In this paper, we proposed a new seismic data reconstruction method combining the curvelet transform and the SFISTA method. Comparing the results obtained when using the contourlet and curvelet domains as the sparse domain, it can be concluded that the optimization algorithm in the curvelet domain has better performance. In the same sparse domain, comparing the FISTA and SFISTA methods, it can be concluded that SFISTA shows better performance. The seismic data reconstruction effects of SFISTA based on the curvelet transform have been demonstrated by quantitative and qualitative comparisons with several sets of data. The proposed method can be used for 2D and 3D seismic data reconstruction.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material; further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>This work was supported by the Yili Normal University Foundation under Grant 22XKZZ22, the Talent Position Project of Yili Normal University under Grant YSXSGG22006, and the National Natural Science Foundation of China under Grant 61761043.</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<title>Conflict of interest</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
<sec sec-type="disclaimer" id="s9">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors, and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ciabarri</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Mazzotti</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Stucchi</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Bienati</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Appraisal problem in the 3D least squares Fourier seismic data reconstruction</article-title>. <source>Geophys. Prospect.</source> <volume>63</volume> (<issue>2</issue>), <fpage>296</fpage>&#x2013;<lpage>314</lpage>. <pub-id pub-id-type="doi">10.1111/1365-2478.12192</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Daubechies</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Defrise</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Mol</surname>
<given-names>C. D.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>An iterative thresholding algorithm for linear inverse problems with a sparsity constraint</article-title>. <source>Commun. Pure Appl. Math.</source> <volume>57</volume> (<issue>11</issue>), <fpage>1413</fpage>&#x2013;<lpage>1457</lpage>. <pub-id pub-id-type="doi">10.1002/cpa.20042</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Eslami</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Radha</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Translation-invariant contourlet transform and its application to image denoising</article-title>. <source>IEEE Trans. Image Process</source> <volume>15</volume> (<issue>11</issue>), <fpage>3362</fpage>&#x2013;<lpage>3374</lpage>. <pub-id pub-id-type="doi">10.1109/tip.2006.881992</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hennenfent</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Fenelon</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Herrmann</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Nonequispaced curvelet transform for seismic data reconstruction: A sparsity-promoting approach</article-title>. <source>GEOPHYSICS</source> <volume>75</volume> (<issue>6</issue>), <fpage>203</fpage>&#x2013;<lpage>210</lpage>. <pub-id pub-id-type="doi">10.1190/1.3494032</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gan</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zu</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>One-step slope estimation for dealiased seismic data reconstruction via iterative seislet thresholding</article-title>. <source>IEEE Geoscience Remote Sens. Lett.</source> <volume>13</volume> (<issue>10</issue>), <fpage>1462</fpage>&#x2013;<lpage>1466</lpage>. <pub-id pub-id-type="doi">10.1109/lgrs.2016.2591939</pub-id>
</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Cao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>He</surname>
<given-names>Y.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Reconstruction of seismic data with missing traces based on local random sampling and curvelet transform</article-title>. <source>J. Appl. Geophys.</source> <volume>115</volume>, <fpage>129</fpage>&#x2013;<lpage>139</lpage>. <pub-id pub-id-type="doi">10.1016/j.jappgeo.2015.02.009</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Liu</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Zhan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Cai</surname>
<given-names>J.-F.</given-names>
</name>
<name>
<surname>Guo</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Qu</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2016</year>). <article-title>Projected iterative soft-thresholding algorithm for tight frames in compressed sensing magnetic resonance imaging</article-title>. <source>IEEE Trans. Med. Imaging</source> <volume>35</volume> (<issue>9</issue>), <fpage>2130</fpage>&#x2013;<lpage>2140</lpage>. <pub-id pub-id-type="doi">10.1109/TMI.2016.2550080</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mafakheri</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kahoo</surname>
<given-names>A. R.</given-names>
</name>
<name>
<surname>Anvari</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Mohammadi</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Radad</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Monfared</surname>
<given-names>M. S.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Expand dimensional of seismic data and random noise attenuation using Low-Rank estimation</article-title>. <source>IEEE J. Sel. Top. Appl. Earth Observations Remote Sens.</source> <volume>15</volume>, <fpage>2773</fpage>&#x2013;<lpage>2781</lpage>. <pub-id pub-id-type="doi">10.1109/jstars.2022.3162763</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Martin</surname>
<given-names>G. S.</given-names>
</name>
<name>
<surname>Wiley</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Marfurt</surname>
<given-names>K. J.</given-names>
</name>
</person-group> (<year>2006</year>). <article-title>Marmousi2: An elastic upgrade for Marmousi</article-title>. <source>Lead. Edge</source> <volume>25</volume> (<issue>2</issue>), <fpage>156</fpage>&#x2013;<lpage>166</lpage>. <pub-id pub-id-type="doi">10.1190/1.2172306</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mohsin</surname>
<given-names>Y. Q.</given-names>
</name>
<name>
<surname>Ongie</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Jacob</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Iterative shrinkage algorithm for patch-smoothness regularized medical image recovery</article-title>. <source>IEEE Trans. Med. Imaging</source> <volume>34</volume> (<issue>12</issue>), <fpage>2417</fpage>&#x2013;<lpage>2428</lpage>. <pub-id pub-id-type="doi">10.1109/tmi.2015.2398466</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Pokala</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Seelamantula</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>Accelerated weighted &#x2113;<sub>1</sub>-minimization for MRI reconstruction under tight frames in complex domain</article-title>,&#x201d; in <conf-name>International Conference on Signal Processing and Communications (SPCOM)</conf-name>, <conf-loc>Bangalore, India</conf-loc>, <conf-date>19-24 July 2020</conf-date>. <pub-id pub-id-type="doi">10.1109/SPCOM50965.2020.9179611</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Shen</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Tan</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Ye</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Improving the sound source identification performance of sparsity constrained deconvolution beamforming utilizing SFISTA</article-title>. <source>Shock Vib.</source> <volume>2020</volume>, <fpage>1</fpage>&#x2013;<lpage>9</lpage>. <pub-id pub-id-type="doi">10.1155/2020/1482812</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Tan</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Eldar</surname>
<given-names>Y. C.</given-names>
</name>
<name>
<surname>Beck</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Nehorai</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Smoothing and decomposition for analysis sparse recovery</article-title>. <source>IEEE Trans. Signal Process.</source> <volume>62</volume> (<issue>7</issue>), <fpage>1762</fpage>&#x2013;<lpage>1774</lpage>. <pub-id pub-id-type="doi">10.1109/tsp.2014.2304932</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Tian</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Qin</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>Seismic data interpolation by the projected iterative soft-threshold algorithm for tight frame</article-title>,&#x201d; in <conf-name>2022 4th International Conference on Image Processing and Machine Vision (IPMV)</conf-name>, <conf-loc>Hong Kong China</conf-loc>, <conf-date>March 25 - 27, 2022</conf-date>. <pub-id pub-id-type="doi">10.1145/3529446.3529460</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Long</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Lin</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>A seismic interpolation and denoising method with curvelet transform matching filter</article-title>. <source>Acta Geophys.</source> <volume>65</volume> (<issue>5</issue>), <fpage>1029</fpage>&#x2013;<lpage>1042</lpage>. <pub-id pub-id-type="doi">10.1007/s11600-017-0078-x</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Ying</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Demanet</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Candes</surname>
<given-names>E.</given-names>
</name>
</person-group> (<year>2005</year>). <article-title>3D discrete curvelet transform</article-title>. <source>Proc. SPIE - Int. Soc. Opt. Eng.</source> <volume>50</volume> (<issue>3</issue>), <fpage>351</fpage>&#x2013;<lpage>361</lpage>. <pub-id pub-id-type="doi">10.1117/12.616205</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.-H.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>X.-M.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Seismic data reconstruction based on CS and Fourier theory</article-title>. <source>Appl. Geophys.</source> <volume>10</volume> (<issue>2</issue>), <fpage>170</fpage>&#x2013;<lpage>180</lpage>. <pub-id pub-id-type="doi">10.1007/s11770-013-0375-3</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>X.-H.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>L.-Y.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>3D simultaneous seismic data reconstruction and noise suppression based on the curvelet transform</article-title>. <source>Appl. Geophys.</source> <volume>14</volume> (<issue>1</issue>), <fpage>87</fpage>&#x2013;<lpage>95</lpage>. <pub-id pub-id-type="doi">10.1007/s11770-017-0607-z</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zhang</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Diao</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Huang</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>H.</given-names>
</name>
<name>
<surname>Bai</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Curvelet reconstruction of non-uniformly sampled seismic data using the linearized Bregman method</article-title>. <source>Geophys. Prospect.</source> <volume>67</volume> (<issue>5</issue>), <fpage>1201</fpage>&#x2013;<lpage>1218</lpage>. <pub-id pub-id-type="doi">10.1111/1365-2478.12762</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>