PartSegCore.analysis.measurement_base

class PartSegCore.analysis.measurement_base.AreaType(*values)[source]

Bases: Enum

On which area type measurement should be calculated

class PartSegCore.analysis.measurement_base.Leaf(**data)[source]

Bases: BaseModel

Class for describe calculation of basic measurement

get_channel_num(measurement_dict)[source]

Get set with number of channels needed for calculate this measurement

Parameters:

measurement_dict (dict[str, MeasurementMethodBase]) – dict with all measurement methods.

Return type:

set[Channel]

Returns:

set of channels num

get_unit(ndim)[source]

Return unit of selected measurement reflecting dimensionality.

Parameters:

ndim (int) – data dimensionality

Return type:

Symbol

is_per_component()[source]

If measurement return list of result or single value.

Return type:

bool

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

need_mask()[source]

If this measurement need mast for proper calculation.

Return type:

bool

pretty_print(measurement_dict)[source]

Pretty print for presentation in user interface.

Parameters:

measurement_dict (dict[str, MeasurementMethodBase]) – dict with additional information used for more detailed description

Return type:

str

Returns:

string with indentation

class PartSegCore.analysis.measurement_base.MeasurementEntry(**data)[source]

Bases: BaseModel

Describe single measurement in measurement set

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class PartSegCore.analysis.measurement_base.MeasurementMethodBase[source]

Bases: AlgorithmDescribeBase, ABC

This is base class For all measurement calculation classes based on text_info[0] the measurement name will be generated, based_on text_info[1] the description is generated

static area_type(area)[source]

Map chosen area type to proper area type. Allow to correct Area type.

static calculate_property(channel, roi, mask, voxel_size, result_scalar, roi_alternative, roi_annotation, **kwargs)[source]

Main function for calculating measurement

Parameters:
  • channel (ndarray) – main channel selected for measurement

  • roi (ndarray) – array representing roi

  • mask (ndarray) – array representing mask (upper level roi)

  • voxel_size (tuple[Union[float, int], ...]) – size of single voxel in meters

  • result_scalar (float) – scalar to get proper units in result

  • roi_alternative (dict[str, ndarray]) – dict with alternative roi representation (for plugin specific mapping)

  • roi_annotation (dict[int, Any]) – dict with roi annotations (for plugin specific mapping)

List incomplete.

classmethod get_description()[source]

Measurement long description

Return type:

str

classmethod get_name()[source]

Name of measurement

Return type:

str

classmethod get_starting_leaf()[source]

This leaf is put on a default list

Return type:

Leaf

classmethod get_units(ndim)[source]

Return units for measurement. They are shown to user

Return type:

symbols

classmethod is_component()[source]

Return information if Need information about components

Return type:

bool

classmethod need_channel()[source]

if need image data

class PartSegCore.analysis.measurement_base.Node(**data)[source]

Bases: BaseModel

Class for describe operation between two measurements

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class PartSegCore.analysis.measurement_base.PerComponent(*values)[source]

Bases: Enum

How measurement should be calculated

PartSegCore.analysis.measurement_base.has_mask_components(component_and_mask_info)[source]

Check if any measurement will return value per mask component

Return type:

bool

PartSegCore.analysis.measurement_base.has_roi_components(component_and_mask_info)[source]

Check if any measurement will return value per ROI component

Return type:

bool