Source code for PartSegCore.analysis.algorithm_description

import warnings

from PartSegCore.algorithm_describe_base import AlgorithmSelection
from PartSegCore.segmentation.restartable_segmentation_algorithms import (
    BorderRim,
    LowerThresholdAlgorithm,
    LowerThresholdFlowAlgorithm,
    MaskDistanceSplit,
    OtsuSegment,
    RangeThresholdAlgorithm,
    UpperThresholdAlgorithm,
    UpperThresholdFlowAlgorithm,
)


[docs] class AnalysisAlgorithmSelection( AlgorithmSelection, class_methods=["support_time", "support_z"], methods=["set_image", "set_mask", "get_info_text", "calculation_run"], ): """Register for segmentation method visible in PartSeg ROI Analysis."""
AnalysisAlgorithmSelection.register(LowerThresholdAlgorithm) AnalysisAlgorithmSelection.register(UpperThresholdAlgorithm) AnalysisAlgorithmSelection.register(RangeThresholdAlgorithm) AnalysisAlgorithmSelection.register(LowerThresholdFlowAlgorithm, old_names=["Lower threshold flow"]) AnalysisAlgorithmSelection.register(UpperThresholdFlowAlgorithm, old_names=["Upper threshold flow"]) AnalysisAlgorithmSelection.register(OtsuSegment) AnalysisAlgorithmSelection.register(BorderRim) AnalysisAlgorithmSelection.register(MaskDistanceSplit, old_names=["Split Mask on Part"]) def __getattr__(name): # pragma: no cover if name == "analysis_algorithm_dict": warnings.warn( "analysis_algorithm_dict is deprecated. Please use AnalysisAlgorithmSelection instead", category=FutureWarning, stacklevel=2, ) return AnalysisAlgorithmSelection.__register__ raise AttributeError(f"module {__name__} has no attribute {name}")