Skip to content

proc_setup ¤

Classes:

Name Description
PreAndPostprocessing
RequiredDatasetMeasures
RequiredMeasures
RequiredSampleMeasures

Functions:

Name Description
get_pre_and_postprocessing

Creates callables to apply pre- and postprocessing in-place to a sample

get_required_dataset_measures
get_requried_measures
get_requried_sample_measures
setup_pre_and_postprocessing

Get pre- and postprocessing operators for a model description.

Attributes:

Name Type Description
TensorDescr

TensorDescr module-attribute ¤

PreAndPostprocessing ¤

Bases: NamedTuple


              flowchart TD
              bioimageio.core.proc_setup.PreAndPostprocessing[PreAndPostprocessing]

              

              click bioimageio.core.proc_setup.PreAndPostprocessing href "" "bioimageio.core.proc_setup.PreAndPostprocessing"
            

Attributes:

Name Type Description
post List[Processing]
pre List[Processing]

post instance-attribute ¤

post: List[Processing]

pre instance-attribute ¤

pre: List[Processing]

RequiredDatasetMeasures ¤

Bases: NamedTuple


              flowchart TD
              bioimageio.core.proc_setup.RequiredDatasetMeasures[RequiredDatasetMeasures]

              

              click bioimageio.core.proc_setup.RequiredDatasetMeasures href "" "bioimageio.core.proc_setup.RequiredDatasetMeasures"
            

Attributes:

Name Type Description
post Set[DatasetMeasure]
pre Set[DatasetMeasure]

post instance-attribute ¤

post: Set[DatasetMeasure]

pre instance-attribute ¤

pre: Set[DatasetMeasure]

RequiredMeasures ¤

Bases: NamedTuple


              flowchart TD
              bioimageio.core.proc_setup.RequiredMeasures[RequiredMeasures]

              

              click bioimageio.core.proc_setup.RequiredMeasures href "" "bioimageio.core.proc_setup.RequiredMeasures"
            

Attributes:

Name Type Description
post Set[Measure]
pre Set[Measure]

post instance-attribute ¤

post: Set[Measure]

pre instance-attribute ¤

pre: Set[Measure]

RequiredSampleMeasures ¤

Bases: NamedTuple


              flowchart TD
              bioimageio.core.proc_setup.RequiredSampleMeasures[RequiredSampleMeasures]

              

              click bioimageio.core.proc_setup.RequiredSampleMeasures href "" "bioimageio.core.proc_setup.RequiredSampleMeasures"
            

Attributes:

Name Type Description
post Set[SampleMeasure]
pre Set[SampleMeasure]

post instance-attribute ¤

post: Set[SampleMeasure]

pre instance-attribute ¤

pre: Set[SampleMeasure]

get_pre_and_postprocessing ¤

get_pre_and_postprocessing(model: AnyModelDescr, *, dataset_for_initial_statistics: Iterable[Sample], keep_updating_initial_dataset_stats: bool = False, fixed_dataset_stats: Optional[Mapping[DatasetMeasure, MeasureValue]] = None) -> _ProcessingCallables

Creates callables to apply pre- and postprocessing in-place to a sample

Source code in src/bioimageio/core/proc_setup.py
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
def get_pre_and_postprocessing(
    model: AnyModelDescr,
    *,
    dataset_for_initial_statistics: Iterable[Sample],
    keep_updating_initial_dataset_stats: bool = False,
    fixed_dataset_stats: Optional[Mapping[DatasetMeasure, MeasureValue]] = None,
) -> _ProcessingCallables:
    """Creates callables to apply pre- and postprocessing in-place to a sample"""

    setup = setup_pre_and_postprocessing(
        model=model,
        dataset_for_initial_statistics=dataset_for_initial_statistics,
        keep_updating_initial_dataset_stats=keep_updating_initial_dataset_stats,
        fixed_dataset_stats=fixed_dataset_stats,
    )
    return _ProcessingCallables(_ApplyProcs(setup.pre), _ApplyProcs(setup.post))

get_required_dataset_measures ¤

get_required_dataset_measures(model: AnyModelDescr) -> RequiredDatasetMeasures
Source code in src/bioimageio/core/proc_setup.py
157
158
159
160
161
162
def get_required_dataset_measures(model: AnyModelDescr) -> RequiredDatasetMeasures:
    s = _prepare_setup_pre_and_postprocessing(model)
    return RequiredDatasetMeasures(
        {m for m in s.pre_measures if isinstance(m, DatasetMeasureBase)},
        {m for m in s.post_measures if isinstance(m, DatasetMeasureBase)},
    )

get_requried_measures ¤

get_requried_measures(model: AnyModelDescr) -> RequiredMeasures
Source code in src/bioimageio/core/proc_setup.py
152
153
154
def get_requried_measures(model: AnyModelDescr) -> RequiredMeasures:
    s = _prepare_setup_pre_and_postprocessing(model)
    return RequiredMeasures(s.pre_measures, s.post_measures)

get_requried_sample_measures ¤

get_requried_sample_measures(model: AnyModelDescr) -> RequiredSampleMeasures
Source code in src/bioimageio/core/proc_setup.py
165
166
167
168
169
170
def get_requried_sample_measures(model: AnyModelDescr) -> RequiredSampleMeasures:
    s = _prepare_setup_pre_and_postprocessing(model)
    return RequiredSampleMeasures(
        {m for m in s.pre_measures if isinstance(m, SampleMeasureBase)},
        {m for m in s.post_measures if isinstance(m, SampleMeasureBase)},
    )

setup_pre_and_postprocessing ¤

setup_pre_and_postprocessing(model: AnyModelDescr, dataset_for_initial_statistics: Iterable[Sample], keep_updating_initial_dataset_stats: bool = False, fixed_dataset_stats: Optional[Mapping[DatasetMeasure, MeasureValue]] = None) -> PreAndPostprocessing

Get pre- and postprocessing operators for a model description. Used in `bioimageio.core.create_prediction_pipeline

Source code in src/bioimageio/core/proc_setup.py
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
def setup_pre_and_postprocessing(
    model: AnyModelDescr,
    dataset_for_initial_statistics: Iterable[Sample],
    keep_updating_initial_dataset_stats: bool = False,
    fixed_dataset_stats: Optional[Mapping[DatasetMeasure, MeasureValue]] = None,
) -> PreAndPostprocessing:
    """
    Get pre- and postprocessing operators for a `model` description.
    Used in `bioimageio.core.create_prediction_pipeline"""
    prep, post, prep_meas, post_meas = _prepare_setup_pre_and_postprocessing(model)

    missing_dataset_stats = {
        m
        for m in prep_meas | post_meas
        if fixed_dataset_stats is None or m not in fixed_dataset_stats
    }
    if missing_dataset_stats:
        initial_stats_calc = StatsCalculator(missing_dataset_stats)
        for sample in dataset_for_initial_statistics:
            initial_stats_calc.update(sample)

        initial_stats = initial_stats_calc.finalize()
    else:
        initial_stats = {}

    prep.insert(
        0,
        UpdateStats(
            StatsCalculator(prep_meas, initial_stats),
            keep_updating_initial_dataset_stats=keep_updating_initial_dataset_stats,
        ),
    )
    if post_meas:
        post.insert(
            0,
            UpdateStats(
                StatsCalculator(post_meas, initial_stats),
                keep_updating_initial_dataset_stats=keep_updating_initial_dataset_stats,
            ),
        )

    if fixed_dataset_stats:
        prep.insert(0, AddKnownDatasetStats(fixed_dataset_stats))
        post.insert(0, AddKnownDatasetStats(fixed_dataset_stats))

    return PreAndPostprocessing(prep, post)