doxygen_library_users.txt 4.6 KB
 thomas.forbriger committed Oct 23, 2015 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 /*! \file doxygen_library_users.txt * \brief Information for users of the library * * ---------------------------------------------------------------------------- * * \author Thomas Forbriger * \date 04/10/2015 * * Information for users of the library * * ---- * libstfinv is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA * ---- * * Copyright (c) 2015 by Thomas Forbriger (BFO Schiltach) * * REVISIONS and CHANGES * - 04/10/2015 V1.0 Thomas Forbriger * * ============================================================================ */ /*! \page page_users Information for users of libstfinv (programmers) \par Contents of this page - \ref page_u_sec_users - \ref page_u_subsec_introduction - \ref page_u_subsec_libraries - \ref page_u_subsec_cusers - \ref page_u_subsec_cxxusers \section page_u_sec_users The library libstfinv for users \subsection page_u_subsec_introduction Introduction The purpose of this library is to provide methods for the derivation of source wavelet correction filters in approaches to full waveform inversion. Given a set of recorded data and a set of synthetic data (typically, but not necessarilly the impulse response of the subsurface) a source wavelet correction filter is obtained due to some optimization citerion. The synthetic waveforms are convolved with this filter wavelet and the convolved synthetics as well as the wavelet itself are returned to the user. The source wavelet correction filter in this context not necessarily is the actual force time history of the source used in the experiment or a similar quantity of physical meaning. The source wavelet correction filter simply is the wavelet which minimizes the misfit between synthetic and recorded waveforms due to some misfit condition, if the synthetics are concolved with this wavelet. In particular this implies that the synthetics not necessarily need be the impulse response (Greens function) of the subsurface, they may simply be synthetic waveforms computed for some generic source wavelet (like a Ricker wavelet). The derived source wavelet correction filter then has to be understood with respect to this generic wavelet. The library provides different \ref engines to find an optimal source wavelet correction filter. The basic steps of operation are: -# Initialize an engine. In this step pointers to arrays are passed to the engine together with some header information. The engines memorizes these pointers and expects to find the recorded data as well as the synthetics at the inidcated locations in memory. -# Call the run()-function of the engine. The engine takes the recorded and synthetic data currently found at the memory arrays, calculates an optimzed correction filter wavelet and returns the wavelet together with the convolved synthetics by copying them to the memory locations inidicated by the initializer of the engine. This step is repeated after each computation of synthetic data. -# Remove the engine once you terminate the iteration of inversion. \subsection page_u_subsec_libraries Libraries required by libstfinv Programs using this library will require the following libraries in addition:  thomas.forbriger committed Jul 23, 2016 97  - libfourierxx (available from Seitosh)  thomas.forbriger committed Oct 23, 2015 98  - libfftw3  thomas.forbriger committed Jul 23, 2016 99  - libaff (available from Seitosh)  thomas.forbriger committed Oct 23, 2015 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119  C programs will further be required to link against - libstdc++ \subsection page_u_subsec_cusers The C application programming interface (API) The library provides a \ref cinterface. Examples for using the \ref cinterface are given in the section Detailed Description of the documentation for the \ref cinterface. \subsection page_u_subsec_cxxusers The C++ application programming interface (API) The library provides a \ref cxxinterface. Examples for using the \ref cxxinterface are given in the section Detailed Description of the documentation for the \ref cxxinterface. */ /* ----- END OF doxygen_library_users.txt ----- */