Commit 48dc252c authored by nikolaos.athanasopoulos's avatar nikolaos.athanasopoulos

Merge branch 'time_window' into 'master'

Time window

See merge request !6
parents 9accb585 108ea90a
this is <README>
============================================================================
AFF --- A container for numbers
-------------------------------
$Id$
============================================================================
For compilation instructions see README.1st in the root directory of the tar-ball or
http://gpitrsvn.gpi.uni-karlsruhe.de:8000/TFSoftware/wiki/docs/installation
This software is part of the project Seitosh. See README.1st in the root
directory of the collection or https://git.scc.kit.edu/Seitosh/Seitosh for
general installation instructions.
The AFF (Array of Friederich and Forbriger) is a lightweight class library. It
offers a simple and easy to use container for numbers as is necessary in
......
this is <COPYING>
============================================================================
libfourier
----------
$Id$
============================================================================
Copyright (c) 2002, 2013 by Thomas Forbriger
......
# this is <Makefile>
# ----------------------------------------------------------------------------
# $Id$
#
# Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
#
......@@ -76,6 +75,8 @@ $(LOCLIBDIR)/%: install-include %
#----------------------------------------------------------------------
DOXYTXT=$(wildcard doxygen*txt)
flist: Makefile $(wildcard *.f *.inc *.h *.cc *.c README *.cfg) COPYING \
$(DOXYTXT)
echo $^ | tr ' ' '\n' | sort > $@
......
this is <README>
============================================================================
FOURIER --- Fourier coefficients library
-------------------------------
$Id$
============================================================================
For compilation instructions see README.1st in the root directory of the tar-ball or
http://gpitrsvn.gpi.uni-karlsruhe.de:8000/TFSoftware/wiki/docs/installation
This software is part of the project Seitosh. See README.1st in the root
directory of the collection or https://git.scc.kit.edu/Seitosh/Seitosh for
general installation instructions.
The library provides modules to perform Fourier transformations and to
operate on Fourier transforms.An interface to FFTW is available.Signal
......
......@@ -3,8 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
*
* ----
* libfourier is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
......@@ -41,8 +39,6 @@
*/
#define TF_CFFTWTEST_C_VERSION \
"TF_CFFTWTEST_C V1.0 "
#define TF_CFFTWTEST_C_CVSID \
"$Id$"
#include<drfftw.h>
#include<stdio.h>
......@@ -105,7 +101,6 @@ void process(int n, int m)
int main()
{
printf("%s\n", TF_CFFTWTEST_C_VERSION);
printf("%s\n", TF_CFFTWTEST_C_CVSID);
/*
* the code provided in the tutorial for rfftw_one produces segmentation
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 16/05/2011
*
......@@ -37,8 +36,6 @@
*/
#define CXXFFTWARTEST_VERSION \
"CXXFFTWARTEST V1.2 test fftw3 array engine"
#define CXXFFTWARTEST_CVSID \
"$Id$"
// use the input/output facilities from the standard library
#include <iostream>
......@@ -140,7 +137,6 @@ int main(int iargc, char* argv[])
// define full help text
char help_text[]=
{
CXXFFTWARTEST_CVSID
"\n"
"input input file name\n"
"output output file name\n"
......@@ -218,7 +214,7 @@ int main(int iargc, char* argv[])
// report program version if in verbose mode
if (opt.verbose)
{ cout << CXXFFTWARTEST_VERSION << endl << CXXFFTWARTEST_CVSID << endl; }
{ cout << CXXFFTWARTEST_VERSION << endl; }
// extract commandline arguments
// here the rest of the command line is parsed; i.e. the names of input
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 12/09/2007
*
......@@ -35,8 +34,6 @@
*/
#define CXXFFTWTEST_VERSION \
"CXXFFTWTEST V1.1 a small test program for fftw when called from C++"
#define CXXFFTWTEST_CVSID \
"$Id$"
#include <iostream>
#include <tfxx/commandline.h>
......@@ -123,7 +120,6 @@ int main(int iargc, char* argv[])
// define full help text
char help_text[]=
{
CXXFFTWTEST_CVSID
"\n"
"-n n set number of samples to n\n"
"-m f set frequency to f\n"
......
......@@ -2,8 +2,6 @@
* \brief C++ library to operate on Fourier transforms (libfourierxx)
*
* ----------------------------------------------------------------------------
*
* $Id$
*
* Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
*
......@@ -34,8 +32,6 @@
/*! \mainpage
\author Thomas Forbriger
\since 2002
\date $Date$
\version $Id$
The library provides modules to perform Fourier transformations and to operate
on Fourier transforms.
......@@ -128,6 +124,14 @@ Further stuff will be collected in this library in the future.
* integral transform, where
* \f$\Delta\omega=2\pi/T\f$ and \f$T=N\Delta t\f$.
*
* The library provides functions which return the appropriate scaling factors
* such that application of a inverse transformation in sequence with a
* forward transformation is an identity-operation.
*
* \sa fourier::fft::DRFFTWAFFArrayEngine::scale_series,
* fourier::fft::DRFFTWAFFArrayEngine::scale_spectrum,
* fourier::fft::DRFFTWAFF::scale_series,
* fourier::fft::DRFFTWAFF::scale_spectrum
*/
// ----- END OF doxygen.txt -----
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 11/09/2007
*
......@@ -35,8 +34,6 @@
*/
#define FOURIER_ERROR_CC_VERSION \
"FOURIER_ERROR_CC V1.1"
#define FOURIER_ERROR_CC_CVSID \
"$Id$"
#include <iostream>
#include <fourier/error.h>
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 11/09/2007
*
......@@ -39,8 +38,6 @@
#define FOURIER_ERROR_H_VERSION \
"FOURIER_ERROR_H V1.0"
#define FOURIER_ERROR_H_CVSID \
"$Id$"
namespace fourier {
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -35,8 +34,6 @@
*/
#define TF_FCOMMAND_CC_VERSION \
"TF_FCOMMAND_CC V1.0 "
#define TF_FCOMMAND_CC_CVSID \
"$Id$"
#include <fourier/fcommand.h>
#include <fstream>
......@@ -79,11 +76,8 @@ namespace fourier {
{
os << endl;
os << TF_FCOMMAND_H_VERSION << endl;
os << TF_FCOMMAND_H_CVSID << endl;
os << TF_FILTERS_H_VERSION << endl;
os << TF_FILTERS_H_CVSID << endl;
os << TF_POLESNZEROES_H_VERSION << endl;
os << TF_POLESNZEROES_H_CVSID << endl;
}
}
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -39,8 +38,6 @@
#define TF_FCOMMAND_H_VERSION \
"TF_FCOMMAND_H V1.0 "
#define TF_FCOMMAND_H_CVSID \
"$Id$"
#include<iostream>
#include<fourier/filters.h>
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 11/07/2006
*
......@@ -42,8 +41,6 @@
*/
#define TF_FFTWAFF_CC_VERSION \
"TF_FFTWAFF_CC V1.4"
#define TF_FFTWAFF_CC_CVSID \
"$Id$"
#include <iostream>
#include <fourier/fftwaff.h>
......@@ -308,7 +305,15 @@ namespace fourier {
/*----------------------------------------------------------------------*/
//! Return appropriate scaling factor for sampling interval dt.
/*! \brief Return appropriate scaling factor for sampling interval dt.
*
* Factor to be applied when transforming to time domain.
*
* \param[in] dt sampling interval
* \return scalar factor to be applied to all samples
*
* \sa \ref sec_fftw3_integral_transform
*/
DRFFTWAFF::Tsample DRFFTWAFF::scale_series(const Tsample& dt) const
{
return(1./(Msize*dt));
......@@ -316,7 +321,15 @@ namespace fourier {
/*----------------------------------------------------------------------*/
//! Return appropriate scaling factor for sampling interval dt.
/*! \brief Return appropriate scaling factor for sampling interval dt.
*
* Factor to be applied when transforming to Fourier domain.
*
* \param[in] dt sampling interval
* \return scalar factor to be applied to all samples
*
* \sa \ref sec_fftw3_integral_transform
*/
DRFFTWAFF::Tsample DRFFTWAFF::scale_spectrum(const Tsample& dt) const
{
return(dt);
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 11/07/2006
*
......@@ -75,8 +74,6 @@
#define TF_FFTWAFF_H_VERSION \
"TF_FFTWAFF_H V1.3"
#define TF_FFTWAFF_H_CVSID \
"$Id$"
#include<complex>
#ifdef FFTWFALLBACK
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 13/05/2011
*
......@@ -37,8 +36,6 @@
*/
#define TF_FFTWAFFAR_CC_VERSION \
"TF_FFTWAFFAR_CC V1.1"
#define TF_FFTWAFFAR_CC_CVSID \
"$Id$"
#include <iostream>
#include <fourier/fftwaffar.h>
......@@ -253,7 +250,15 @@ namespace fourier {
/*----------------------------------------------------------------------*/
//! Return appropriate scaling factor for sampling interval dt.
/*! \brief Return appropriate scaling factor for sampling interval dt.
*
* Factor to be applied when transforming to time domain.
*
* \param[in] dt sampling interval
* \return scalar factor to be applied to all samples
*
* \sa \ref sec_fftw3_integral_transform
*/
DRFFTWAFFArrayEngine::Tsample
DRFFTWAFFArrayEngine::scale_series(const Tsample& dt) const
{
......@@ -262,7 +267,15 @@ namespace fourier {
/*----------------------------------------------------------------------*/
//! Return appropriate scaling factor for sampling interval dt.
/*! \brief Return appropriate scaling factor for sampling interval dt.
*
* Factor to be applied when transforming to Fourier domain.
*
* \param[in] dt sampling interval
* \return scalar factor to be applied to all samples
*
* \sa \ref sec_fftw3_integral_transform
*/
DRFFTWAFFArrayEngine::Tsample
DRFFTWAFFArrayEngine::scale_spectrum(const Tsample& dt) const
{
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 13/05/2011
*
......@@ -44,8 +43,6 @@
#define TF_FFTWAFFAR_H_VERSION \
"TF_FFTWAFFAR_H V1.2"
#define TF_FFTWAFFAR_H_CVSID \
"$Id$"
#include<complex>
#include<fftw3.h>
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -34,16 +33,15 @@
* ============================================================================
*/
#define TF_FILTER_CC_VERSION \
"TF_FILTER_CC V1.0 "
#define TF_FILTER_CC_CVSID \
"$Id$"
"TF_FILTER_CC V1.0"
#include <fourier/filters.h>
#include <fourier/error.h>
#include <cmath>
namespace fourier {
const double Filter::pi;
const double Filter::pi=M_PI;
const Filter::Tcvalue Filter::ime=Tcvalue(0.,1.);
/*----------------------------------------------------------------------*/
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -40,9 +39,7 @@
#ifndef TF_FILTERS_H_VERSION
#define TF_FILTERS_H_VERSION \
"TF_FILTERS_H V1.0 "
#define TF_FILTERS_H_CVSID \
"$Id$"
"TF_FILTERS_H V1.0"
#include<fourier/polesnzeroes.h>
......@@ -53,7 +50,7 @@ namespace fourier {
typedef PolesNZeroes Tbase;
typedef Tbase::Tcvalue Tcvalue;
static const double pi=3.141592653589793;
static const double pi;
static const Tcvalue ime;
Filter(): Tbase(), Mfrequency(false) { }
......
c this is <filters.inc>
c ----------------------------------------------------------------------------
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -34,8 +33,6 @@
*/
#define TF_POLESNZEROES_CC_VERSION \
"TF_POLESNZEROES_CC V1.0 "
#define TF_POLESNZEROES_CC_CVSID \
"$Id$"
#include <fourier/polesnzeroes.h>
......
......@@ -3,7 +3,6 @@
*
* ----------------------------------------------------------------------------
*
* $Id$
* \author Thomas Forbriger
* \date 05/01/2003
*
......@@ -38,8 +37,6 @@
#define TF_POLESNZEROES_H_VERSION \
"TF_POLESNZEROES_H V1.0 "
#define TF_POLESNZEROES_H_CVSID \
"$Id$"
#include<cmath>
#include<complex>
......
c this is <polesnzeros.inc>
cS
c ----------------------------------------------------------------------------
c ($Id$)
c
c Copyright (c) 2002 by Thomas Forbriger (IMG Frankfurt)
c
......
this is <README>
============================================================================
SEIFE --- seismic waveform filters
----------------------------------
$Id$
============================================================================
For compilation instructions see README.1st in the root directory of the tar-ball or
http://gpitrsvn.gpi.uni-karlsruhe.de:8000/TFSoftware/wiki/docs/installation
For compilation instructions see README.1st in the root directory.
libseife is a collection of Fortran 77 functions and subroutines for time
series analysis and digital filters. It is a full-grown signal processing
......@@ -37,5 +34,15 @@ Dependencies
external dependencies: -
internal dependencies: -
Arrays in C version
-------------------
The proper definition of arrays and parameters to be passed to the C-API of
libseife becomes obvious in function seife_first, which is defined in cseife.c
A call
seife_first(x, n);
will address elements x[0] to x[n-1] in C-array x.
----- END OF README -----
......@@ -70,7 +70,7 @@ documentation.
User documentation
------------------
The theory behind the Fourier domain least squares engine is outlined by
The theory behind the Fourier domain least squares procedure is outlined by
Lisa Groos (2013, Appendix F, page 146). She also describes a way to find an
approrpiate water level by application of the L-curve criterion (Groos, 2013,
Appendix G, page 148).
......@@ -87,6 +87,9 @@ tests/onlinehelp Provides access to these texts. Just issue
to get access.
A toy example and a step-by-step introduction are provided in subdirectory
src/ts/wf/testcases in README.soutifu
A short descrpition of the library and the accompanying program soutifu is
provided on the OpenTOAST web-page:
http://www.opentoast.de/Data_analysis_code_soutifu_and_libstfinv.php
......
......@@ -40,7 +40,7 @@
"STFINV_DEBUG_H V1.0"
/*! \brief produce debug output
* \ingroup misc_h
* \ingroup group_debug
*
* \param C output will be generated if C == true
* \param N name of function
......@@ -54,8 +54,15 @@
std::cerr.flush(); \
}
/*! \brief report value in a sequence of output operators
* \ingroup group_debug
*
* \param P parameter to dump
*/
#define STFINV_value( P ) #P << "=" << P
/*! \brief report value of expression
* \ingroup misc_h
* \ingroup group_debug
*
* \param P parameter to dump
*/
......
......@@ -104,7 +104,7 @@ processing are described in the \ref page_help.
/*! \brief Engines implemented in libstfinv
\defgroup engines Engines
\defgroup group_engines Engines
\todo
A detailed description for implementers is still missing
......@@ -116,7 +116,7 @@ processing are described in the \ref page_help.
/*! \brief Tools and utilities used by the libstfinv engines
\defgroup tools Internal tools and utilities
\defgroup group_tools Internal tools and utilities
\todo
A detailed description for implementers is still missing
......@@ -136,4 +136,18 @@ processing are described in the \ref page_help.
\date 04.10.2015
*/
/*======================================================================*/
/*! \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
*/
// ----- END OF doxygen.txt -----
......@@ -94,9 +94,9 @@
Programs using this library will require the following libraries in
addition:
- libfourierxx (available from TFSoftware)
- libfourierxx (available from Seitosh)
- libfftw3
- libaff (available from TFSoftware)
- libaff (available from Seitosh)
C programs will further be required to link against
......
......@@ -29,11 +29,12 @@
*
* REVISIONS and CHANGES
* - 06/05/2011 V1.0 Thomas Forbriger
* - 18/01/2016 V1.1 rename function to secomtospace
*
* ============================================================================
*/
#define STFINV_PARAMETERHANDLER_CC_VERSION \
"STFINV_PARAMETERHANDLER_CC V1.0"
"STFINV_PARAMETERHANDLER_CC V1.1"
#include <algorithm>
#include <stfinv/parameterhandler.h>
......@@ -50,7 +51,7 @@ std::string stfinv::tools::clipstring(std::string& s, const std::string& delim)
s.erase();
}
return(result);
} // std::string stfinv::tools::clipstring^
} // std::string stfinv::tools::clipstring()
/*----------------------------------------------------------------------*/
......@@ -71,11 +72,12 @@ stfinv::tools::Tparamap stfinv::tools::makeparamap(const std::string& p,
/*----------------------------------------------------------------------*/
std::string stfinv::tools::commatospace(std::string s)
std::string stfinv::tools::secomtospace(std::string s)
{
std::replace(s.begin(), s.end(), ',', ' ');
std::replace(s.begin(), s.end(), ';', ' ');
return(s);
} // std::string stfinv::tools::commatospace(const std::string& s)
} // std::string stfinv::tools::secomtospace(const std::string& s)
/*----------------------------------------------------------------------*/
......
......@@ -29,6 +29,7 @@
*
* REVISIONS and CHANGES
* - 06/05/2011 V1.0 Thomas Forbriger
* - 18/01/2016 V1.1 rename function to secomtospace
*
* ============================================================================
*/
......@@ -37,7 +38,7 @@
#ifndef STFINV_PARAMETERHANDLER_H_VERSION
#define STFINV_PARAMETERHANDLER_H_VERSION \
"STFINV_PARAMETERHANDLER_H V1.0"
"STFINV_PARAMETERHANDLER_H V1.1"
#include <string>
#include <map>
......@@ -45,12 +46,12 @@
namespace stfinv {
/*! \brief Namespace for internal tools
* \ingroup tools
* \ingroup group_tools
*/
namespace tools {
/*! strip substring
* \ingroup tools
* \ingroup group_tools
*
* Strips off first substring up to given delimiter.
* The string is passed as a reference and will be modified (i.e. the
......@@ -65,14 +66,14 @@ namespace stfinv {
/*----------------------------------------------------------------------*/
/*! \brief A map to store parameters.
* \ingroup tools
* \ingroup group_tools
*/
typedef std::map<std::string,std::string> Tparamap;
/*----------------------------------------------------------------------*/
/*! \brief Create a parameter map from a parameter string
* \ingroup tools
* \ingroup group_tools
*
* \param p parameter string
* \param delimiter delimiter which separates two parameters
......@@ -85,18 +86,19 @@ namespace stfinv {
/*----------------------------------------------------------------------*/
/*! replace comma by whitespace
* \ingroup tools
/*! replace commas and semicolons by whitespace
* \ingroup group_tools
*
* \param s input string
* \return input string with all commas replaced by whitespace
* \return input string with all commas replaced by whitespace and
* all semicolons replaced by whitespace
*/
std::string commatospace(std::string s);
std::string secomtospace(std::string s);
/*----------------------------------------------------------------------*/
/*! \brief remove leading and trailing whitespace
* \ingroup tools
* \ingroup group_tools
*
* \param s any string
* \return value a input string with any leading and trailing whitespace
......
......@@ -47,7 +47,7 @@
namespace stfinv {
/*! \brief Fourier domain least squares engine
* \ingroup engines
* \ingroup group_engines
*
* \par Concept behind this engine
* If
......
......@@ -30,7 +30,7 @@
namespace stfinv {
/*! \brief Engine to find a finite, causal source time-history in time domain
* \ingroup engines
* \ingroup group_engines
*
* \par Concept behin this engine
*
......
......@@ -44,7 +44,7 @@
namespace stfinv {
/*! \brief Engine to provide a fixed wavelet
* \ingroup engines
* \ingroup group_engines
*/
class STFEngineFixedWavelet: public stfinv::STFFourierDomainEngine {
public:
......
This diff is collapsed.
......@@ -30,6 +30,9 @@
* - 08/05/2011 V1.0 Thomas Forbriger