Azimuthal Integration¶
-
template<typename T = double>
class foam::AzimuthalIntegrator¶ Perform 1D azimuthal integration of image data.
Public Functions
-
template<typename E, EnableIf<std::decay_t<E>, IsImage> = false>
auto integrate1d(E &&src, size_t npt, size_t min_count = 1, AzimuthalIntegrationMethod method = AzimuthalIntegrationMethod::HISTOGRAM)¶ Calculate the 1D azimuthal integration of an image.
- Parameters
src – source image. Shape = (y, x)
npt – number of integration points.
min_count – minimum number of pixels required.
method – azimuthal integration method.
- Returns
(q, s): (momentum transfer, scattering)
-
template<typename E, EnableIf<std::decay_t<E>, IsImageArray> = false>
auto integrate1d(E &&src, size_t npt, size_t min_count = 1, AzimuthalIntegrationMethod method = AzimuthalIntegrationMethod::HISTOGRAM)¶ Calculate the 1D azimuthal integrations of an array of images.
- Parameters
src – source image. Shape = (indices, y, x)
npt – number of integration points.
min_count – minimum number of pixels required.
method – azimuthal integration method.
- Returns
(q, s): (momentum transfer, scattering)
-
template<typename E, EnableIf<std::decay_t<E>, IsImage> = false>
-
template<typename T = double>
class foam::ConcentricRingsFinder¶ Detect the center of concentric rings in an image.
Public Functions
-
template<typename E, EnableIf<std::decay_t<E>, IsImage> = false>
std::array<T, 2> search(E &&src, T cx0, T cy0, size_t min_count = 1) const¶ Search for the center of concentric rings in an image.
- Parameters
src – source image.
cx0 – starting x position, in pixels.
cy0 – starting y position, in pixels.
min_count – minimum number of pixels required for each grid.
- Returns
: the optimized (cx, cy) position in pixels.
-
template<typename E, EnableIf<std::decay_t<E>, IsImage> = false>