doxygen_library_users.txt 4.6 KB
Newer Older
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:

97
    - libfourierxx (available from Seitosh)
98
    - libfftw3
99
    - libaff (available from Seitosh)
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 ----- */