2.6.1.4.1. embeam.stem.probe.resolution.information

information(discretized_rspace_intensity, signal_to_noise_ratio=50, skip_validation_and_conversion=False)[source]

Estimate the information resolution of the probe of interest for a given signal-to-noise ratio.

In Ref. [Ishitani1], the authors define the information resolution \(R_{\text{inf}}\) of a probe as

(2.6.1.4.1.1)\[R_{\text{inf}}=\frac{2}{\sqrt{\pi\rho_{s}}},\]

where \(\rho_{s}\) is the information-passing capacity density:

(2.6.1.4.1.2)\[\rho_{s}=\frac{1}{2}\int_{0}^{2k_{xy,\max}}dk_{xy} \int_{0}^{2\pi}dk_{\phi}\,k_{xy} G\left(k_{xy}\cos\left(k_{\phi}\right), k_{xy}\sin\left(k_{\phi}\right)\right),\]

with \(k_{xy,\max}\) being given by Eq. (2.6.1.1.3),

(2.6.1.4.1.3)\[G\left(k_{x},k_{y}\right)=\log_{2}\left[1+\left|\tau\left(k_{x}, k_{y}\right)\right|^{2}\left\{ S/N\right\} \right],\]

\(S/N\) being the signal-to-noise ratio, \(\tau\left(k_x, k_y\right)\) being the optical transfer function of the optical system:

(2.6.1.4.1.4)\[\tau\left(k_{x},k_{y}\right)=\int_{-\infty}^{\infty}dx\, \int_{-\infty}^{\infty}dy\, p_{\text{probe}}\left(\left.X=x\right|Y=y\right) e^{-2\pi ik_{x}x-2\pi ik_{y}y},\]

and \(p_{\text{probe}}\left(\left.X=x\right|Y=y\right)\) being the real-space fractional intensity of the probe.

In our discussion, it is convenient to let \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) be a discretized real-space probe fractional intensity that samples a continuous function \(\tilde{p}_{\text{probe}}\left(\left.X=x\right|Y=y\right)\):

(2.6.1.4.1.5)\[p_{\text{probe};\mathbf{R};n_{1},n_{2}}= \tilde{p}_{\text{probe}}\left(\left.X=x_{n_{2}}\right| Y=y_{n_{1}}\right),\]

where

(2.6.1.4.1.6)\[x_{n}=\Delta x\left\{ -\left\lfloor N_{x}/2\right\rfloor +n\right\} ,\]

with \(\Delta x\) being the \(x\)-dimension of each pixel, and \(N_{x}\) being the total number of columns of \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\); and

(2.6.1.4.1.7)\[y_{n}=\Delta y\left\{ \left\lfloor \left(N_{y}-1\right)/2\right\rfloor -n\right\} ,\]

with \(\Delta y\) being the \(y\)-dimension of each pixel, and \(N_{y}\) being the total number of rows of \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\); and

(2.6.1.4.1.8)\[\lim_{\Delta x,\Delta y\to0} \lim_{N_{x},N_{y}\to\infty} \lim_{N_{f}\to\infty} p_{\text{probe};\mathbf{R};n_{1},n_{2}}= p_{\text{probe}}\left(\left.X=x_{n_{2}}\right|Y=y_{n_{1}}\right),\]

with \(N_{f}\) being the number of points used in the Gauss-Hermite quadrature scheme of Eq. (2.6.1.1.11), and \(p_{\text{probe}}\left(\left.X=x\right|Y=y\right)\) being the real-space fractional intensity of the probe for which we want to estimate \(R_{\text{inf}}\).

For given \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) and \(S/N\) as input, the Python function embeam.stem.probe.resolution.information() estimates \(R_{\text{inf}}\) for the probe of interest. The Python function estimates \(R_{\text{inf}}\) by performing a series of interpolations and numerical integrations, where the integrands are sampled at the points

(2.6.1.4.1.9)\[A=\left\{ \left.\left(x_{n_{2}},y_{n_{1}}\right)\right| n_{1}\in\left\{ 0,\ldots,N_{y}-1\right\}, n_{2}\in\left\{ 0,\ldots,N_{x}-1\right\} \right\} ,\]

[i.e. the sampling points of \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\)]; and the interpolation knots include points in \(A\). In the sequence of limits introduced in Eq. (2.6.1.4.1.8) above, embeam.stem.probe.resolution.information() should give the exact \(R_{\text{inf}}\) for the probe of interest within machine precision.

See the documentation for the class embeam.stem.probe.ModelParams for further discussion on probe modelling.

Parameters:
discretized_rspace_intensityembeam.stem.probe.discretized.periodic.rspace.Intensity

The discretized real-space probe fractional intensity \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) described above. Because the calculation the information resolution \(R_{\text{inf}}\) is prohibitively expensive in terms of computational time for discretized non-periodic real-space probe fractional intensities, \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) must be periodic.

signal_to_noise_ratiofloat | array_like (float, ndim=1), optional

The value or set of values of the signal-to-noise ratio \(S/N\) for which to estimate the information resolution \(R_{\text{inf}}\) of the probe of interest. Note that the signal-to-noise ratio must be greater than 0.

skip_validation_and_conversionbool, optional

If skip_validation_and_conversion is set to False, then validations and conversions are performed on the above parameters.

Otherwise, if skip_validation_and_conversion is set to True, no validations and conversions are performed on the above parameters. This option is desired primarily when the user wants to avoid potentially expensive validation and/or conversion operations.

Returns:
resultfloat | array_like (float, ndim=1)

If the input argument signal_to_noise_ratio is a floating-point number, then result is the estimate of the information resolution \(R_{\text{inf}}\) of the probe of interest for the signal-to-noise ratio of value signal_to_noise_ratio. Otherwise, if the input argument signal_to_noise_ratio is an array of floating-point numbers, then result is an array of floating-point numbers where result[i] is the estimate of the \(R_{\text{inf}}\) of the probe of interest for the signal-to-noise ratio of value signal_to_noise_ratio[i], with i being an integer satisfying 0<=i<len(signal_to_noise_ratio).