Backprojection#

class covseisnet.backprojection.DifferentialBackProjection(differential_travel_times: dict[str, DifferentialTravelTimes])[source]#

Bases: Regular3DGrid

Differential travel-times backprojection from cross-correlation

functions.

Using differential travel times, this object calculates the likelihood of the back-projection for a set of cross-correlation functions.

Parameters:

differential_travel_times (dict) -- The differential travel times between several pairs of receivers. Each key of the dictionary is a pair of receivers, and the value is a DifferentialTravelTimes object.

calculate_likelihood(cross_correlation: CrossCorrelationMatrix, normalize: bool = True)[source]#

Calculate the likelihood of the back-projection.

This method calculates the likelihood of the back-projection for a set of cross-correlation functions. The likelihood is calculated by summing the cross-correlation functions for various differential travel times. The likelihood is then normalized by the sum of the likelihood.

The likelihood \(\mathcal{L}(\varphi, \lambda, z)\) is calculated as:

\[\mathcal{L}(\varphi, \lambda, z) = \sum_{i = 1}^N C_i(\tau - \delta \tau_{i}(\varphi, \lambda, z))\]

where \(C_{i}\) is the cross-correlation function for the pair of receivers \(i\), \(\tau\) is the cross-correlation lag, and \(\delta \tau_{i}(\varphi, \lambda, z)\) is the differential travel time for the pair of receivers \(i\) at the grid point \((\varphi, \lambda, z)\). Once calculated, the likelihood is normalized by the sum of the likelihood:

\[\mathcal{L}(\varphi, \lambda, z) = \frac{\mathcal{L}(\varphi, \lambda, z)}{\int \mathcal{L}(\varphi, \lambda, z) d\varphi d\lambda dz}\]
Parameters:
  • cross_correlation

  • :class:`~covseisnet.correlation.CrossCorrelationMatrix` -- The cross-correlation functions.

calculate_likelihood_bp(cross_correlation: CrossCorrelationMatrix, normalize: bool = True)[source]#

Calculate the likelihood of the back-projection.

This method calculates the likelihood of the back-projection for a set of cross-correlation functions. The likelihood is calculated by summing the cross-correlation functions for various differential travel times. The likelihood is then normalized by the sum of the likelihood.

The likelihood \(\mathcal{L}(\varphi, \lambda, z)\) is calculated as:

\[\mathcal{L}(\varphi, \lambda, z) = \sum_{i = 1}^N C_i(\tau - \delta \tau_{i}(\varphi, \lambda, z))\]

where \(C_{i}\) is the cross-correlation function for the pair of receivers \(i\), \(\tau\) is the cross-correlation lag, and \(\delta \tau_{i}(\varphi, \lambda, z)\) is the differential travel time for the pair of receivers \(i\) at the grid point \((\varphi, \lambda, z)\). Once calculated, the likelihood is normalized by the sum of the likelihood:

\[\mathcal{L}(\varphi, \lambda, z) = \frac{\mathcal{L}(\varphi, \lambda, z)}{\int \mathcal{L}(\varphi, \lambda, z) d\varphi d\lambda dz}\]
Parameters:
  • cross_correlation

  • :class:`~covseisnet.correlation.CrossCorrelationMatrix` -- The cross-correlation functions.

maximum_coordinates()[source]#

Return the coordinates of the maximum likelihood.