doxygen.txt 5.06 KB
Newer Older
1
/*! \file libstfinv/doxygen.txt
2
 * \brief STFINV library: seek source wavelet correction filter (libstfinv)
thomas.forbriger's avatar
thomas.forbriger committed
3
4
5
 *
 * ----------------------------------------------------------------------------
 *
thomas.forbriger's avatar
thomas.forbriger committed
6
 * Copyright (c) 2011 by Thomas Forbriger (BFO, Schiltach)
7
 *
8
9
10
 * The source code in this directory is part of libstfinv which compiles to
 * libstfinv.a
 *
11
 * ----
12
 * libstfinv is free software; you can redistribute it and/or modify
13
14
15
16
17
18
19
20
21
22
23
24
25
 * 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
 * ----
thomas.forbriger's avatar
thomas.forbriger committed
26
 * 
27
 * STFINV library: seek source wavelet correction filter (libstfinv)
thomas.forbriger's avatar
thomas.forbriger committed
28
29
 *
 * This file contains:
thomas.forbriger's avatar
thomas.forbriger committed
30
 *  - documentation of namespace stfinv
thomas.forbriger's avatar
thomas.forbriger committed
31
32
33
 *  - mainpage text
 * 
 * REVISIONS and CHANGES 
thomas.forbriger's avatar
thomas.forbriger committed
34
 *  - 05/05/2011   V1.0   Thomas Forbriger
thomas.forbriger's avatar
thomas.forbriger committed
35
 *  - 05/10/2011   V1.1   added code fragments for using waveform pairs
36
 *  - 18/07/2013   V1.2   tmetz (renamed file)
thomas.forbriger's avatar
thomas.forbriger committed
37
38
39
40
41
42
 * ============================================================================
 */

/*! \brief Root namespace of library
  
 */
thomas.forbriger's avatar
thomas.forbriger committed
43
44
namespace stfinv {
} // namespace stfinv
thomas.forbriger's avatar
thomas.forbriger committed
45
46
47
48
49
50

/*======================================================================*/

/*! \mainpage

\author Thomas Forbriger
thomas.forbriger's avatar
thomas.forbriger committed
51
\since May 2011
52
\date October 2015
thomas.forbriger's avatar
thomas.forbriger committed
53
\version V1.0
thomas.forbriger's avatar
thomas.forbriger committed
54

55
\par Purpose
56
This library provides methods for the derivation of source
57
58
59
60
61
62
63
wavelet correction filters in approaches to full waveform inversion.

\par Table of contents
- \ref page_end_users
  - \ref page_eu_sec_users
    - \ref page_eu_subsec_introduction
    - \ref page_eu_subsec_parameters
64
  - \ref page_eu_sec_texts
65
66
67
68
69
70
71
72
73
74
- \ref page_users
  - \ref page_u_sec_users 
    - \ref page_u_subsec_introduction
    - \ref page_u_subsec_libraries
- \ref page_implementers
  - \ref page_i_sec_implementers
    - \ref page_i_subsec_cusers
    - \ref page_i_subsec_cxxusers
  - \ref page_i_sec_design
    - \ref page_i_subsec_design_initialization
75
76
77
78

Currently implemented \ref engines as well as parameters to control the
processing are described in the \ref page_help.

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
\todo
  Engines I consider to implement:
  - stf which just applies a scalar factor:
    stfinv::STFEngineIdentity
  - stf read from file (always the same stf, independent of data and
                        synthetics):
    stfinv::STFEngineFixedWavelet
  - stf which normalizes the synthetics in the Fourier domain; this ensures
    that data and synthetic always contain the same signal energy; this avoid
    a zero stf during the first iterations starting from a new inappropriate
    initial model:
    stfinv::STFEngineNormalize
  - causal and time limited stf as found by convolution condition in the time
    domain; this is a solution to a system of linear equations and will
    requires LAPACK:
    stfinv::STFEngineFiniteCausal
95
96
97
  
\todo
  Replace reference \ref page_help by verbatim display of usage texts
98

99
\date 04.10.2015
thomas.forbriger's avatar
thomas.forbriger committed
100
101
102

*/

103
104
/*======================================================================*/

105
/*! \brief Engines implemented in libstfinv
thomas.forbriger's avatar
thomas.forbriger committed
106

107
\defgroup group_engines Engines
108

109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
All engines provide a common API. 
They inherit this API from stfinv::STFBaseEngine.
The library thus can be extended by additional approaches without the need to
modify client programs.
Currently implemented engines are made available through
stfinv::STFEngine which serves as a handle class.
The actual implementation to be used is selected in
stfinv::STFEngine::initialize by means of a parameter string provided by the
client.

\note
Not all engines classes for which drafts are available in the code are
actually fully implemented.
Only engines provided in stfinv::STFEngine::initialize should be considered as
operational.

125
126
\todo
  A detailed description for implementers is still missing
127
128

\date 05.05.2011
thomas.forbriger's avatar
thomas.forbriger committed
129
130
 */

131
132
/*======================================================================*/

133
/*! \brief Tools and utilities used by the libstfinv engines
thomas.forbriger's avatar
thomas.forbriger committed
134

135
\defgroup group_tools Internal tools and utilities
136

137
138
\todo
  A detailed description for implementers is still missing
139
140

\date 05.05.2011
thomas.forbriger's avatar
thomas.forbriger committed
141
142
143
144
 */

/*======================================================================*/

145
/*! \brief Error handling module
146

147
\defgroup group_error Error handling module
148

149
150
151
152
\todo
  A detailed description for implementers is still missing

\date 04.10.2015
thomas.forbriger's avatar
thomas.forbriger committed
153
154
 */

155
156
157
158
159
160
161
162
163
164
165
166
167
168
/*======================================================================*/

/*! \brief Debug tools

\defgroup group_debug Debugging module

\todo
  Selection of debug statements in most parts of the code is done by bits in
  the value of the debug variable. E.g∵ The value 16 (bit 4) selects debugging
  of the taper function. This is not yet properly documented.

\date 04.10.2015
 */

169
// ----- END OF doxygen.txt -----