nanopyx.methods.srrf.SRRF_workflow

 1from ..workflow import Workflow
 2from ...core.transform import Radiality, CRShiftAndMagnify
 3from ...core.transform.mpcorrector import macro_pixel_corrector
 4
 5
 6import numpy as np
 7
 8
 9def SRRF(
10    image,
11    magnification=5,
12    ringRadius=0.5,
13    border=0,
14    radialityPositivityConstraint=True,
15    doIntensityWeighting=True,
16    macro_pixel_correction=True,
17    _force_run_type=None,
18):
19    """
20    Perform SRRF (Super-Resolution Radial Fluctuations) analysis on a single image.
21
22    Args:
23        image (numpy.ndarray): The input image for SRRF analysis.
24        magnification (int, optional): Magnification factor (default is 5).
25        ringRadius (float, optional): Radius of the ring for radiality analysis (default is 0.5).
26        border (int, optional): Border parameter for radiality analysis (default is 0).
27        radialityPositivityConstraint (bool, optional): Enable radiality positivity constraint (default is True).
28        doIntensityWeighting (bool, optional): Enable intensity weighting (default is True).
29        macro_pixel_correction (bool, optional): Enable macro pixel correction (default is True).
30        _force_run_type (str, optional): Force a specific run type for the analysis (default is None).
31
32    Returns:
33        numpy.ndarray: The result of SRRF analysis, typically representing super-resolved structures.
34
35    Example:
36        result = SRRF(image, magnification=5, ringRadius=0.5, border=0, radialityPositivityConstraint=True, doIntensityWeighting=True)
37
38    Note:
39        - SRRF (Super-Resolution Radial Fluctuations) is a method for super-resolution microscopy.
40        - This function sets up a workflow to perform SRRF analysis on the input image.
41        - The workflow includes CRShiftAndMagnify and Radiality as steps and can be customized with various parameters.
42        - The result is typically a numpy array representing super-resolved structures.
43
44    See Also:
45        - CRShiftAndMagnify: A step that performs coordinate transformation and magnification.
46        - Radiality: A step that calculates radiality for super-resolution analysis.
47        - Workflow: The class used to define and run analysis workflows.
48    """
49
50    _SRRF = Workflow(
51        (
52            CRShiftAndMagnify(verbose=False),
53            (image, 0, 0, magnification, magnification),
54            {},
55        ),
56        (
57            Radiality(verbose=False),
58            (image, "PREV_RETURN_VALUE_0_0"),
59            {
60                "magnification": magnification,
61                "ringRadius": ringRadius,
62                "border": border,
63                "radialityPositivityConstraint": radialityPositivityConstraint,
64                "doIntensityWeighting": doIntensityWeighting,
65            },
66        ),
67    )
68
69    if macro_pixel_correction:
70        return macro_pixel_corrector(
71            _SRRF.calculate(_force_run_type=_force_run_type)[0],
72            magnification=magnification,
73        )
74
75    else:
76        return _SRRF.calculate(_force_run_type=_force_run_type)[0]
def SRRF( image, magnification=5, ringRadius=0.5, border=0, radialityPositivityConstraint=True, doIntensityWeighting=True, macro_pixel_correction=True, _force_run_type=None):
10def SRRF(
11    image,
12    magnification=5,
13    ringRadius=0.5,
14    border=0,
15    radialityPositivityConstraint=True,
16    doIntensityWeighting=True,
17    macro_pixel_correction=True,
18    _force_run_type=None,
19):
20    """
21    Perform SRRF (Super-Resolution Radial Fluctuations) analysis on a single image.
22
23    Args:
24        image (numpy.ndarray): The input image for SRRF analysis.
25        magnification (int, optional): Magnification factor (default is 5).
26        ringRadius (float, optional): Radius of the ring for radiality analysis (default is 0.5).
27        border (int, optional): Border parameter for radiality analysis (default is 0).
28        radialityPositivityConstraint (bool, optional): Enable radiality positivity constraint (default is True).
29        doIntensityWeighting (bool, optional): Enable intensity weighting (default is True).
30        macro_pixel_correction (bool, optional): Enable macro pixel correction (default is True).
31        _force_run_type (str, optional): Force a specific run type for the analysis (default is None).
32
33    Returns:
34        numpy.ndarray: The result of SRRF analysis, typically representing super-resolved structures.
35
36    Example:
37        result = SRRF(image, magnification=5, ringRadius=0.5, border=0, radialityPositivityConstraint=True, doIntensityWeighting=True)
38
39    Note:
40        - SRRF (Super-Resolution Radial Fluctuations) is a method for super-resolution microscopy.
41        - This function sets up a workflow to perform SRRF analysis on the input image.
42        - The workflow includes CRShiftAndMagnify and Radiality as steps and can be customized with various parameters.
43        - The result is typically a numpy array representing super-resolved structures.
44
45    See Also:
46        - CRShiftAndMagnify: A step that performs coordinate transformation and magnification.
47        - Radiality: A step that calculates radiality for super-resolution analysis.
48        - Workflow: The class used to define and run analysis workflows.
49    """
50
51    _SRRF = Workflow(
52        (
53            CRShiftAndMagnify(verbose=False),
54            (image, 0, 0, magnification, magnification),
55            {},
56        ),
57        (
58            Radiality(verbose=False),
59            (image, "PREV_RETURN_VALUE_0_0"),
60            {
61                "magnification": magnification,
62                "ringRadius": ringRadius,
63                "border": border,
64                "radialityPositivityConstraint": radialityPositivityConstraint,
65                "doIntensityWeighting": doIntensityWeighting,
66            },
67        ),
68    )
69
70    if macro_pixel_correction:
71        return macro_pixel_corrector(
72            _SRRF.calculate(_force_run_type=_force_run_type)[0],
73            magnification=magnification,
74        )
75
76    else:
77        return _SRRF.calculate(_force_run_type=_force_run_type)[0]

Perform SRRF (Super-Resolution Radial Fluctuations) analysis on a single image.

Args: image (numpy.ndarray): The input image for SRRF analysis. magnification (int, optional): Magnification factor (default is 5). ringRadius (float, optional): Radius of the ring for radiality analysis (default is 0.5). border (int, optional): Border parameter for radiality analysis (default is 0). radialityPositivityConstraint (bool, optional): Enable radiality positivity constraint (default is True). doIntensityWeighting (bool, optional): Enable intensity weighting (default is True). macro_pixel_correction (bool, optional): Enable macro pixel correction (default is True). _force_run_type (str, optional): Force a specific run type for the analysis (default is None).

Returns: numpy.ndarray: The result of SRRF analysis, typically representing super-resolved structures.

Example: result = SRRF(image, magnification=5, ringRadius=0.5, border=0, radialityPositivityConstraint=True, doIntensityWeighting=True)

Note: - SRRF (Super-Resolution Radial Fluctuations) is a method for super-resolution microscopy. - This function sets up a workflow to perform SRRF analysis on the input image. - The workflow includes CRShiftAndMagnify and Radiality as steps and can be customized with various parameters. - The result is typically a numpy array representing super-resolved structures.

See Also: - CRShiftAndMagnify: A step that performs coordinate transformation and magnification. - Radiality: A step that calculates radiality for super-resolution analysis. - Workflow: The class used to define and run analysis workflows.