Comments (6)
It looks like the stage gain is not being added to the kwargs dictionary in filter.py
in the method from_obspy_stage().
Here is the kwargs dict that we are getting
{'input_units': 'units_in',
'name': 'name',
'output_units': 'units_out',
'_zeros': '_zeros',
'_poles': '_poles',
'normalization_factor': 'normalization_factor'}
One solution maybe to add stage_gain to /timeseries/filters/standards/pole_zero_filter.json, but it maybe better in the generic obspy_mapping since obspy always populates this field. I'll runs some tests on this
from mt_metadata.
adding stage_gain to the global OBSPY_MAPPING is not enough, will try adding it to filter.json
This brings up a question -- shall we put gain as an attr for any filter? We are doing this now to accommodate populating via obspy, but if we add it in general then we need to define it ... and as mentioned in the initial ticket, how this related to normalization_factor ... it maybe best to make an @Property called total_gain that returns the gain*normalization_factor for pole_zero, but returns gain for most other filters. ...
from mt_metadata.
Added total_gain() methods to both filter base class and pole-zero filter.
Also added a placeholder test called test_correct_sense_of_normalization_factor() to test_filters.py
Hopefully we can leverage:
mth5/examples/make_mth5_from_nims.py to do this
from mt_metadata.
@kkappler What about a normalization frequency, is that something the user should input, or is that something we can estimate from the filters, like finding the pass band of the combined filters?
could do this by finding the minimum slope in the amplitude of the combined filters? Or could have a function that estimates the normalization frequency for each filter. Or just take it from the ZPK or FAP filters?
from mt_metadata.
@kkappler I added a simple function in PoleZerosFilter to estimate the normalization frequency of the pass band. This is then used in ChannelResponseFilter to estimate the instrument sensitivity. Its simple for now, might want to check my work.
from mt_metadata.
By multiplying the stage gain and the normalization factor we get the correct sensitivity estimate. We are setting the normalization frequency in the pass band, which is estimated from the filter. Appears to be correct.
from mt_metadata.
Related Issues (20)
- zmm files are empty when writing.
- List of next level objects should become an OrderedDict HOT 1
- Should Auxiliary channels require component field? HOT 1
- Make validation more efficient
- MTime does not support nanoseconds
- pandas Timestamp does not support years greater than 2600 or so
- remove aurora dependencies from processing config HOT 2
- Aurora not passing since merge HOT 1
- No attribute period error HOT 2
- Replace ListDict with Box
- TF instance has different values for self.transfer_function and self.dataset.transfer_function HOT 1
- TF XML Ingest HOT 13
- Z-file headers HOT 3
- write/read tf broken by "comments" HOT 1
- Add mt_metadata version in summary of metadata standards.
- TF should use SurveyMetadata as sole metadata object
- time and frequency axes are permuted in FC HOT 2
- Use Loguru for logging
- dataless mth5 from fdsn HOT 16
- python 3.7 install failing on fcs branch HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mt_metadata.