Skip to content

uofuseismo/rtseis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI

RTSeis

RTSeis is a toolkit intended to aid in real-time filtering of seismic signals. As real-time signals processing is a superset of post-processing, RTSeis naturally has an extensive suite of post-processing algorithms. While the core library is written in C++, it is worth noting that there exist Python bindings that expose a subset of the library's functionality. These Python wrappers can outperform NumPy/SciPy equivalent implementations by 2-4x and ObsPy by factors in excess of 10x.

To get started go to the directory of your choosing and get the code

git clone https://github.com/uofuseismo/rtseis.git

Next, descend into rtseis and build the documentation

cd rtseis
doxygen Doxyfile

Finally, open the documentation with a web browser. This should provide build examples and usage instructions. For GCC users, an always valid build example is in .circleci/config.yml.

Disclaimers

The API is still being refined but the usage is basically worked. For the low-level stuff you would do something like

  1. Initialize the filter.
  2. If needed, set the filter's initial conditions.
  3. Apply the filter to the data as many times as requierd.
  4. For real-time processing reset the filter to its initial conditions in the presence of a gap.
  5. Clear the filter when you are finished. Note, the destructor will automatically release all memory as well once the filter class goes out of scope.

The higher level modules are more straightforward to use. For example,

postProcessing/singleChannel/waveform.hpp

The only potential major API change I foresee would be making the low-level real-time and post-processing behavior a filter specific to a template class. This means that instead of doing

filter.initialize(processing_mode);

you would instead do something like,

Filter<processingmode, precision> filter;

Again, if you use the high-level API you won't know this switch was made. Therefore, I'd recommend sticking with the high-level API since it is considerably less likely to change in any significant way.

About

A Real-Time Seismic Signals Processing Toolkit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published