You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In general, we would need to solve this integral for every point $\boldsymbol{\theta}$ requested by a user. In order to speed up this computation for the pixelated convergence $\kappa_{ij}$, defined on a grid $\{\boldsymbol{\theta}_{ij}'\}$, with $i,j \in \{0,\dots, 2N-1 \}$ and $\boldsymbol{\theta}_{00}' = (0, 0)$, we can instead precompute a convolution kernel matrix as follows
Note that the elements $\kappa_{ij}$ is only defined on a grid with $i = \{0, \dots, N-1\}$. We apply circular boundary condition to extend it to $i = \{0, \dots, 2N-1\}$.
This kernel is particularly useful when $\boldsymbol{\theta}$ lies exactly on our coordinate grid, i.e. $\boldsymbol{\theta}_{\ell k} \in \{\boldsymbol{\theta}_{ij}\}$. In that case, we can approximate the convolution by a discrete circular convolution as follows
$$\boldsymbol{\alpha}(\boldsymbol{\theta}_{\ell k}) = \frac{(\Delta \theta)^2}{\pi}\sum_{i = 0}^{2N-1} \sum_{j = 0}^{2N-1} \kappa_{ij} G_{\ell - i, k - j}$$
Using the convolution theorem, we can evaluate this in linear time with the FFT algorithm. Denoting the Fourier transform as $\mathcal{F}$, and considering only one component of the deflection field (e.g. the $x$-component), we have
where $\odot$ denotes the Hadamard product (element-wise product).
Issue 1
Suppose that $\boldsymbol{\theta}_{\ell k}$does not lie on our convolution grid. How should we evaluate the deflection angle for the pixelated convergence? In the code, we use bilinear interpolation which does not seem right and relies on strong assumptions, namely
The point $\boldsymbol{\theta}$ lies within the convolution grid or close enough to its edge
The convolution grid is spaced well enough to accurately reconstruct the underlying deflection field (which might have a Nyquist frequency smaller than the pixelated convergence)
The PixelatedConvergence needs more thorough testing to validate these assumptions, and perhaps needs an additional method to handle more exotic use cases.
Issue 2
We need to include an interpolation of the convergence map to decouple the convolution grid from the coordinates of the pixels in the pixelated convergence model.
The text was updated successfully, but these errors were encountered:
Background
Deflection angles are computed from the convergence using the following integral
where the kernel for the convolution is
In general, we would need to solve this integral for every point$\boldsymbol{\theta}$ requested by a user. In order to speed up this computation for the pixelated convergence $\kappa_{ij}$ , defined on a grid $\{\boldsymbol{\theta}_{ij}'\}$ , with $i,j \in \{0,\dots, 2N-1 \}$ and $\boldsymbol{\theta}_{00}' = (0, 0)$ , we can instead precompute a convolution kernel matrix as follows
Note that the elements$\kappa_{ij}$ is only defined on a grid with $i = \{0, \dots, N-1\}$ . We apply circular boundary condition to extend it to $i = \{0, \dots, 2N-1\}$ .
This kernel is particularly useful when$\boldsymbol{\theta}$ lies exactly on our coordinate grid, i.e. $\boldsymbol{\theta}_{\ell k} \in \{\boldsymbol{\theta}_{ij}\}$ . In that case, we can approximate the convolution by a discrete circular convolution as follows
Using the convolution theorem, we can evaluate this in linear time with the FFT algorithm. Denoting the Fourier transform as$\mathcal{F}$ , and considering only one component of the deflection field (e.g. the $x$ -component), we have
where$\odot$ denotes the Hadamard product (element-wise product).
Issue 1
Suppose that$\boldsymbol{\theta}_{\ell k}$ does not lie on our convolution grid. How should we evaluate the deflection angle for the pixelated convergence? In the code, we use bilinear interpolation which does not seem right and relies on strong assumptions, namely
The
PixelatedConvergence
needs more thorough testing to validate these assumptions, and perhaps needs an additional method to handle more exotic use cases.Issue 2
We need to include an interpolation of the convergence map to decouple the convolution grid from the coordinates of the pixels in the pixelated convergence model.
The text was updated successfully, but these errors were encountered: