Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phase association (Tracking issue) #88

Open
yetinam opened this issue May 11, 2022 · 1 comment
Open

Phase association (Tracking issue) #88

yetinam opened this issue May 11, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@yetinam
Copy link
Member

yetinam commented May 11, 2022

SeisBench should eventually include phase association models. Together with the pickers, this would allow to create (preliminary) catalogs directly within SeisBench. This issue tracks discussions, options and progress in this direction.

@yetinam yetinam added the enhancement New feature or request label May 11, 2022
@jawooll
Copy link
Contributor

jawooll commented May 16, 2022

Just posting the current idea on this, from internal discussions. The aim would be to integrate high-level interaction through the obspy API in a similar way to how it was done for model.annotate. This will be through some base method associate. The obspy event object hierarchy (e.g. obspy WaveformID, Pick, Event, Catalog, etc.) are used for outputting the stored Catalog. First point to investigate is whether this integration will introduce a significant overhead and we should instead use our own streamlined version of these objects (1).

The second point is, we need to think about what types of models will be performing association (2). As we can have association models which directly use the waveforms themselves to associate events,WaveformModel will need an associate method. But, more generally, you can have association models which operate on just metadata information (e.g. just picks). Do we provide a new general base class for such models? Complete with its own associate base method? Or, we can also stick an abstractmethod associate in WaveformPipeline keeping it general enough to take any input parameter and for each association model we override this in.

It just will take a little more thinking about compared to the picking and detection models, as this was a simpler case where we knew the format of the inputs and the outputs, as they always operate on the waveforms.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants