Skip to content

(FEATURE) Filterpicker implementation for SeisComP based on A Lomax (2012)#186

Closed
Donavin97 wants to merge 18 commits intoSeisComP:mainfrom
Donavin97:feature/filterpicker-implementation
Closed

(FEATURE) Filterpicker implementation for SeisComP based on A Lomax (2012)#186
Donavin97 wants to merge 18 commits intoSeisComP:mainfrom
Donavin97:feature/filterpicker-implementation

Conversation

@Donavin97
Copy link
Copy Markdown

@Donavin97 Donavin97 commented Mar 31, 2026

Hi @Jabe
I made a new PR, because I messe up the last one.
This branch has 2 commits seperating filterpicker plugin and filterpickercf characteristic function.

Donavin97 and others added 18 commits March 26, 2026 13:04
- Implement FilterPicker characteristic function as InPlaceFilter
- Allows CF to be used independently from the picker
- Can be used as preprocessing filter in scautopick
- Available for custom processing chains and analysis
- Updated filterpicker plugin to use the new InPlaceFilter
- Added documentation for InPlaceFilter usage

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Document how to use FilterPickerCF as preprocessing filter
- Add example configuration for scautopick
- Add C++ code example for programmatic usage
- Explain benefits of CF preprocessing

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Fix ButterworthBandpass to use IIR namespace
- Fix member initialization order to match declaration
- Add SEISCOMP_COMPONENT define

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Use constructor with parameters instead of setup()
- Apply filter to inputData, not original data
- Fix apply() call to use (count, data) signature

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- These variables are now internal to FilterPickerCF InPlaceFilter
- Simplified debug output

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Add REGISTER_INPLACE_FILTER macro for FilterPickerCF
- Filter can now be used by name: FILTERPICKERCF
- Enables use in scautopick configuration

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Required for proper template instantiation
- Filter name: FILTERPICKERCF

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Changed to 3 parameters: numBands, minFreq, maxFreq
- Creates multiple logarithmically-spaced frequency bands
- Combines CFs using maximum across all bands
- Registered with short name: FP
- Usage: FP(5, 1.0, 20.0) or FP(numbands, lowfreq, highfreq)

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Cannot register same class twice
- Use short name FP as primary

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
- Create FilterPickerCF as InplaceFilter in math/filter/
- Implements characteristic function computation incrementally
- Produces identical results for bulk and sample-by-sample processing
- Filter maintains state between apply() calls via IIR filter memory
- Registered as 'FP' filter plugin for use in filter chains
- Can be combined with any picker (AIC, STALTA, etc.)

Usage:
  picker.filter = "FP(5,0.5,20)"
  picker = AIC
  picker.filter = "FP(5,0.5,20)"

Fixes PR SeisComP#184 review comment by @gempa-jabe:
- Filter now works incrementally (not time-window based)
- Properly integrates with filter chains
- Separates CF computation from detection logic

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
Resolved conflicts in CMakeLists.txt files to use filterpickercf implementation.

Co-authored-by: Qwen-Coder <qwen-coder@alibabacloud.com>
@cla-bot cla-bot bot added the cla-signed The CLA has been signed by all contributors label Mar 31, 2026
@Donavin97 Donavin97 closed this Mar 31, 2026
@Donavin97 Donavin97 deleted the feature/filterpicker-implementation branch March 31, 2026 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The CLA has been signed by all contributors

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant