Signal conversion models (darsia.signals.models)#

Models for the transformation of signals, e.g., to physical data.

Submodules#

darsia.signals.models.basemodel module#

Module containing abstract Model. Models convert signals to data.

class HeterogeneousModel(obj, labels, ignore_labels=None)[source]#

Bases: Model

abstractmethod calibrate()#

Calibration routine of model.

keys()[source]#
abstractmethod update_model_parameters(parameters, dofs=None)#

Update routine of model parameters.

ignore_labels#

Labels to ignore for signals.

masks#

Masks for each label in the image.

obj#

Dictionary of models for each label.

class Model[source]#

Bases: object

abstractmethod calibrate()[source]#

Calibration routine of model.

abstractmethod update_model_parameters(parameters, dofs=None)[source]#

Update routine of model parameters.

darsia.signals.models.binarydataselector module#

Module containing several utils operating on binary signals.

class BaseCriterion[source]#

Bases: object

Abstract criterion class.

bind(signal, unprocessed_signal)[source]#

Binding routine, allowing to fix and prepare.

Parameters:
  • signal (np.ndarray) – processed signal

  • unprocessed_signal (np.ndarray) – unprocessed signal

class BinaryDataSelector(criterion=None, key='', **kwargs)[source]#

Bases: object

Data selector acting on criteria, both volume and contour based.

class CombinedCriterion(criteria)[source]#

Bases: BaseCriterion

General combination of criteria, provided as list.

bind(signal, unprocessed_signal)[source]#
class GradientModulusCriterion(threshold=None, key='', **kwargs)[source]#

Bases: BaseCriterion

Criterion checking for absolute maximal value of the gradient modulus of the signal.

bind(signal, unprocessed_signal)[source]#
class RelativeValueCriterion(threshold)[source]#

Bases: BaseCriterion

Criterion checking for relative maximal values.

bind(signal, unprocessed_signal)#

Binding routine, allowing to fix and prepare.

Parameters:
  • signal (np.ndarray) – processed signal

  • unprocessed_signal (np.ndarray) – unprocessed signal

class TransformedValueCriterion(transformation, threshold)[source]#

Bases: BaseCriterion

Criterion checking for absolute maximal values in a transformed version of the unprocessed signal.

bind(signal, unprocessed_signal)[source]#
class ValueCriterion(threshold)[source]#

Bases: BaseCriterion

Criterion checking for absolute maximal values.

bind(signal, unprocessed_signal)#

Binding routine, allowing to fix and prepare.

Parameters:
  • signal (np.ndarray) – processed signal

  • unprocessed_signal (np.ndarray) – unprocessed signal

darsia.signals.models.clipmodel module#

Module containing clipping operations.

class ClipModel(min_value=None, max_value=None, key=None, **kwargs)[source]#

Bases: Model

Model clipping away signal at some min and max values.

abstractmethod calibrate()#

Calibration routine of model.

update(min_value=None, max_value=None)[source]#

Update of internal parameters.

Parameters:
  • min_value (float, optional) – lower clip value

  • max_value (float, optional) – upper clip value

update_model_parameters(parameters, dofs=None)[source]#

Short cut to update scaling and offset parameters using a general function signature.

Parameters:

parameters (np.ndarray) – 2-array containing min and max values.

darsia.signals.models.combinedmodel module#

Combination of models.

NOTE: Combining models is experimental and the responsibility lies with the user.

class CombinedModel(models)[source]#

Bases: Model

abstractmethod calibrate()#

Calibration routine of model.

update_model_parameters(parameters, dofs=None)[source]#

Wrapper of update routines of single models.

Parameters:
  • parameters (np.ndarray) – parameter array

  • pos_model (int) – position index addressing a single model.

darsia.signals.models.dynamicthresholdmodel module#

Module containing dynamic thresholding models.

class DynamicThresholdModel(method=None, threshold_lower=None, threshold_upper=None, labels=None, key='', **kwargs)[source]#

Bases: StaticThresholdModel

Class for dynamic thresholding.

calibrate(img, mask)[source]#

Adapt threshold values using a dynamic strategies.

update_model_parameters(*args)#
class GlobalMinTwoPeakHistogrammAnalysis[source]#

Bases: TwoPeakHistogrammAnalysis

Class defining a two peak analysis for dynamically determining a threshold parameter used on a global minimum analysis of the signal histogram.

class HistogrammBasedThresholding[source]#

Bases: object

class OtsuTwoPeakHistogrammAnalysis[source]#

Bases: TwoPeakHistogrammAnalysis

Class defining a two peak analysis for dynamically determining a threshold parameter used on a Otsu analysis of the signal histogram.

class StandardOtsu[source]#

Bases: HistogrammBasedThresholding

Wrapper for standard Otsu thresholding.

class TwoPeakHistogrammAnalysis[source]#

Bases: HistogrammBasedThresholding

Class for histogramm analysis aiming at separating two signal peaks.

darsia.signals.models.linearmodel module#

Module containing a linear (affine) conversion from signals to data.

class HeterogeneousLinearModel(labels, key='', **kwargs)[source]#

Bases: Model

Linear model, applying an affine conversion for signals to data.

abstractmethod calibrate()#

Calibration routine of model.

update(scaling=None, offset=None)[source]#

Update of internal parameters.

Parameters:
  • scaling (np.ndarray, optional) – slope

  • offset (np.ndarray, optional) – offset

update_model_parameters(parameters, dofs=None)[source]#

Short cut to update scaling and offset parameters using a general function signature.

Parameters:

parameters (np.ndarray) – 2-array containing scaling and offset values.

class LinearModel(key='', **kwargs)[source]#

Bases: Model

Linear model, applying an affine conversion for signals to data.

abstractmethod calibrate()#

Calibration routine of model.

update(scaling=None, offset=None)[source]#

Update of internal parameters.

Parameters:
  • scaling (float, optional) – slope

  • offset (float, optional) – offset

update_model_parameters(parameters, dofs=None)[source]#

Short cut to update scaling and offset parameters using a general function signature.

The main use is the model calibration. Do not update the offset.

Parameters:

parameters (np.ndarray) – 2-array containing scaling and offset values.

class ScalingModel(key='', **kwargs)[source]#

Bases: Model

Linear model (plain scaling).

abstractmethod calibrate()#

Calibration routine of model.

update(scaling=None)[source]#

Update of internal parameters.

Parameters:

scaling (float, optional) – slope

update_model_parameters(parameters, dofs=None)[source]#

Short cut to update scaling and offset parameters using a general function signature.

The main use is the model calibration. Do not update the offset.

Parameters:

parameters (np.ndarray) – 2-array containing scaling and offset values.

darsia.signals.models.staticthresholdmodel module#

Module converting signals to binary data by applying thresholding.

A distinction between heterogeneous and homogeneous thresholding is performed automatically.

class StaticThresholdModel(threshold_lower=0.0, threshold_upper=None, labels=None, return_float=False)[source]#

Bases: Model

Class for static thresholding.

abstractmethod calibrate()#

Calibration routine of model.

update_model_parameters(*args)[source]#

darsia.signals.models.thresholdmodel module#

Organizer of various thresholding methods.

class ThresholdModel(labels=None, key='', **kwargs)[source]#

Bases: object

Manager of available thresholding models.

Example: options = {

“example threshold dynamic”: False, “example threshold value”: 0.2,

} static_threshold_model = darsia.ThresholdModel(key = “example “, **options) mask = static_threshold_model(img)