openmc.ZernikeRadialFilter

class openmc.ZernikeRadialFilter(order, x=0.0, y=0.0, r=1.0, filter_id=None)[source]

Score the \(m = 0\) (radial variation only) Zernike moments up to specified order.

The Zernike polynomials are defined the same as in ZernikeFilter.

\[Z_n^{0}(\rho, \theta) = R_n^{0}(\rho)\]

where the radial polynomials are

\[R_n^{0}(\rho) = \sum\limits_{k=0}^{n/2} \frac{(-1)^k (n-k)!}{k! (( \frac{n}{2} - k)!)^{2}} \rho^{n-2k}. \]

With this definition, the integral of \((Z_n^0)^2\) over the unit disk is \(\frac{\pi}{n+1}\).

If there is only radial dependency, the polynomials are integrated over the azimuthal angles. The only terms left are \(Z_n^{0}(\rho, \theta) = R_n^{0}(\rho)\). Note that \(n\) could only be even orders. Therefore, for a radial Zernike polynomials up to order of \(n\), there are \(\frac{n}{2} + 1\) terms in total. The indexing is from the lowest even order (0) to highest even order.

Parameters:
  • order (int) – Maximum radial Zernike polynomial order
  • x (float) – x-coordinate of center of circle for normalization
  • y (float) – y-coordinate of center of circle for normalization
  • r (int or None) – Radius of circle for normalization
Variables:
  • order (int) – Maximum radial Zernike polynomial order
  • x (float) – x-coordinate of center of circle for normalization
  • y (float) – y-coordinate of center of circle for normalization
  • r (int or None) – Radius of circle for normalization
  • id (int) – Unique identifier for the filter
  • num_bins (int) – The number of filter bins