2.6.1.4.2. embeam.stem.probe.resolution.rise_distance
- rise_distance(discretized_rspace_intensity, rise=60, skip_validation_and_conversion=False)[source]
Estimate the rise-distance measure of the spatial resolution of the probe of interest for a given rise-distance ratio.
We define the \(\eta\) percent to \(\left(100-\eta\right)\) percent rise-distance for a given non-negative bivariate function \(F\left(x,y\right)\) to be
(2.6.1.4.2.1)\[R_{\text{rise-distance}}\left(\eta\right)=S^{-1}\left(100-\eta\right) -S^{-1}\left(\eta\right),\]where
(2.6.1.4.2.2)\[0<\eta<50,\]\(S^{-1}\left(\eta\right)\) is the inverse function to
(2.6.1.4.2.3)\[S\left(u\right)=100\frac{\int_{-\infty}^{u}dx\, \int_{-\infty}^{\infty}dy\, \overline{F}\left(r_{xy}\right)}{\int_{-\infty}^{\infty}dx\, \int_{-\infty}^{\infty}dy\,\overline{F}\left(r_{xy}\right)},\]with
(2.6.1.4.2.4)\[r_{xy}=\sqrt{x^{2}+y^{2}},\]and \(\overline{F}\left(r_{xy}\right)\) being the azimuthal average of \(F\left(x,y\right)\):
(2.6.1.4.2.5)\[\overline{F}\left(r_{xy}\right)=\frac{1}{2\pi r_{xy}} \int_{0}^{2\pi}d\phi\,r_{xy} F\left(r_{xy}\cos\left(\phi\right),r_{xy}\sin\left(\phi\right)\right).\]In our discussion, it is convenient to define the quantity
(2.6.1.4.2.6)\[\Delta_{S}=100-2\eta\]as the “rise”, and 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.2.7)\[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.2.8)\[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.2.9)\[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.2.10)\[\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{rise-distance}}\left(\eta\right)\).
For given \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) and \(\Delta_{S}\) as input, the Python function
embeam.stem.probe.resolution.rise_distance()estimates \(R_{\text{rise-distance}}\left(\eta\right)\) for the function(2.6.1.4.2.11)\[F\left(x,y\right)=p_{\text{probe}}\left(\left.X=x\right|Y=y\right).\]The Python function estimates \(R_{\text{rise-distance}}\left(\eta\right)\) by performing a series of interpolations and numerical integrations, where the integrands are sampled at the points
(2.6.1.4.2.12)\[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.2.10) above,
embeam.stem.probe.resolution.rise_distance()should give the exact \(R_{\text{rise-distance}}\left(\eta\right)\) for \(p_{\text{probe}}\left(\left.X=x\right|Y=y\right)\) within machine precision.See the documentation for the class
embeam.stem.probe.ModelParamsfor further discussion on probe modelling.- Parameters:
- discretized_rspace_intensity
embeam.stem.probe.discretized.symmetric.rspace.Intensity|embeam.stem.probe.discretized.periodic.rspace.Intensity The discretized real-space probe fractional intensity \(p_{\text{probe};\mathbf{R};n_{1},n_{2}}\) described above.
- risefloat | array_like (float, ndim=1), optional
The value or set of values of the rise \(\Delta_{S}\) [i.e. (2.6.1.4.2.6)] for which to estimate the \(\eta\) percent to \(\left(100-\eta\right)\) percent rise-distance of the probe of interest. Note that the rise must be greater than 0, and less than 100.
- skip_validation_and_conversionbool, optional
If
skip_validation_and_conversionis set toFalse, then validations and conversions are performed on the above parameters.Otherwise, if
skip_validation_and_conversionis set toTrue, 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.
- discretized_rspace_intensity
- Returns:
- resultfloat | array_like (float, ndim=1)
If the input argument
riseis a floating-point number, thenresultis the estimate of the \(\eta\) percent to \(\left(100-\eta\right)\) percent rise-distance of the probe of interest for the rise of valuerise. Otherwise, if the input argumentriseis an array of floating-point numbers, thenresultis an array of floating-point numbers whereresult[i]is the estimate of the \(\eta\) percent to \(\left(100-\eta\right)\) percent rise-distance of the probe of interest for the rise of valuerise[i], withibeing an integer satisfying0<=i<len(rise).