eVision Python API
Loading...
Searching...
No Matches
eVision.EasyDeepLearning.ESupervisedSegmenter Class Reference

Supervised segmentation tool. More...

Inheritance diagram for eVision.EasyDeepLearning.ESupervisedSegmenter:
Collaboration diagram for eVision.EasyDeepLearning.ESupervisedSegmenter:

Public Member Functions

None __init__ (self)
 Constructs a eVision.EasyDeepLearning.ESupervisedSegmenter object.
None __init__ (self, eVision.EasyDeepLearning.ESupervisedSegmenter other)
 Copy constructor of a eVision.EasyDeepLearning.ESupervisedSegmenter object.
None SerializeSettings (self, eVision.ESerializer|None serializer)
 Serializes the settings of the supervised segmenter.
eVision.EasyDeepLearning.ESupervisedSegmenterMetrics GetTrainingMetrics (self, int iteration)
 Training metrics at the given iteration.
eVision.EasyDeepLearning.ESupervisedSegmenterMetrics GetValidationMetrics (self, int iteration)
 Validation metrics at the given iteration.
None Train (self, eVision.EasyDeepLearning.EDataset dataset)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset dataset, eVision.EasyDeepLearning.EDataAugmentation dataAugmentation)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset trainingDataset, eVision.EasyDeepLearning.EDataset validationDataset)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset trainingDataset, eVision.EasyDeepLearning.EDataset validationDataset, eVision.EasyDeepLearning.EDataAugmentation dataAugmentation)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset dataset, int iterations)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset dataset, eVision.EasyDeepLearning.EDataAugmentation dataAugmentation, int iterations)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset trainingDataset, eVision.EasyDeepLearning.EDataset validationDataset, int iterations)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
None Train (self, eVision.EasyDeepLearning.EDataset trainingDataset, eVision.EasyDeepLearning.EDataset validationDataset, eVision.EasyDeepLearning.EDataAugmentation dataAugmentation, int iterations)
 Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.
eVision.EasyDeepLearning.ESupervisedSegmenterResult Apply (self, eVision.EBaseROI img)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision.EasyDeepLearning.ESupervisedSegmenterResult Apply (self, eVision.EBaseROI img, eVision.ERegion mask)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision.EasyDeepLearning.ESupervisedSegmenterResult Apply (self, eVision.EBaseROI img, eVision.EFrame frame)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision.EasyDeepLearning.ESupervisedSegmenterResult Apply (self, eVision.EBaseROI img, eVision.EFrame frame, eVision.ERegion mask)
 Applies the unsupervised segmenter on the given image and its mask region.
None Apply (self, list[eVision._eVision.EBaseROI|None] imgs, list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult|None] results)
 Applies the unsupervised segmenter on the given image and its mask region.
None Apply (self, list[eVision._eVision.EBaseROI|None] imgs, list[eVision._eVision.ERegion|None] masks, list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult|None] results)
 Applies the unsupervised segmenter on the given image and its mask region.
None Apply (self, list[eVision._eVision.EBaseROI|None] imgs, eVision.EFrame frame, list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult|None] results)
 Applies the unsupervised segmenter on the given image and its mask region.
None Apply (self, list[eVision._eVision.EBaseROI|None] imgs, eVision.EFrame frame, list[eVision._eVision.ERegion|None] masks, list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult|None] results)
 Applies the unsupervised segmenter on the given image and its mask region.
eVision.EasyDeepLearning.ESupervisedSegmenterMetrics Evaluate (self, eVision.EasyDeepLearning.EDataset dataset)
 Evaluates the dataset.
int GetNumPatchesForImage (self, int imageWidth, int imageHeight)
 Number of patches that will be extracted from an input image to perform inference.
Public Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningTool
None Load (self, str filePath)
 Loads a deep learning tool.
None Load (self, eVision.ESerializer|None serializer)
 Loads a deep learning tool.
eVision.EasyDeepLearning.EDeepLearningTool|None Clone (self)
 Clones this tool.
None Save (self, str filePath, bool includeTrainingModel)
 Saves the settings, inference and training model of the deep learning tool.
None Save (self, str filePath)
 Saves the settings, inference and training model of the deep learning tool.
None Save (self, eVision.ESerializer|None serializer, bool includeTrainingModel)
 Saves the settings, inference and training model of the deep learning tool.
None Save (self, eVision.ESerializer|None serializer)
 Saves the settings, inference and training model of the deep learning tool.
None SerializeInferenceModel (self, eVision.ESerializer|None serializer)
 Serializes the inference model of the tool.
None SerializeTrainingModel (self, eVision.ESerializer|None serializer)
 Serializes the training model of the tool.
None SaveSettings (self, str filePath)
 Saves the settings of the tool to a file.
None SaveInferenceModel (self, str filePath)
 Saves the tool's inference model to a file.
None SaveTrainingModel (self, str filePath)
 Saves the tool's training model to a file.
None LoadSettings (self, str filePath)
 Loads the settings of a tool.
None LoadInferenceModel (self, str filePath)
 Loads the tool's inference model.
None LoadTrainingModel (self, str filePath)
 Loads the tool's training model.
None UnloadInferenceModel (self)
 Unloads the inference model.
None UnloadTrainingModel (self)
 Unloads the training model.
None UnloadModels (self)
 Unloads the inference and training model.
bool HasInferenceModel (self)
 Whether the inference model is loaded or created when the tool is not yet trained.
bool HasTrainingModel (self)
 Whether the training model is loaded or created when the tool is not yet trained.
bool IsTrained (self)
 Tells whether the deep learning tool has been trained.
str GetAvailableDeviceName (self, int i)
 Name of the i-th device of the current engine.
eVision.EasyDeepLearning.EDeepLearningDevice GetAvailableDevice (self, int i)
 i-th eVision.EasyDeepLearning.EDeepLearningDevice of the current engine.
None SetActiveDevice (self, eVision.EasyDeepLearning.EDeepLearningDevice device)
 Sets the device with which to run or train the model.
eVision.EasyDeepLearning.EDeepLearningDevice GetActiveDevice (self, int i)
 Gets the active device.
eVision.EasyDeepLearning.EDeepLearningDevice GetActiveDevice (self)
 Gets the active device.
bool HasEngineSetupData (self)
 Whether the inference model has engine setup data.
None ClearEngineSetupData (self)
 Clears the engine data saved in the inference model.
bool IsTraining (self)
 Indicates whether the object is currently training.
int WaitForTrainingCompletion (self, int timeout)
 Waits until the training is complete or the timeout is expired.
int WaitForTrainingCompletion (self)
 Waits until the training is complete or the timeout is expired.
int WaitForIterationCompletion (self)
 Waits until an iteration is complete.
int StopTraining (self, bool wait)
 Stops training and returns the last completed iteration.
None SetLearningRate (self, eVision.EasyDeepLearning.EDeepLearningLearningRateType type, list[float] parameters)
 Specifies how the value of the learning rate and how it evolves during training.
None InitializeInference (self, int width, int height, eVision.EImageType imageType, int numImages)
 Initializes the neural network for inference (i.e.
None InitializeInference (self, eVision.EBaseROI img)
 Initializes the neural network for inference (i.e.
None InitializeInference (self, list[eVision._eVision.EBaseROI|None] imgList)
 Initializes the neural network for inference (i.e.
str GetLabel (self, int index)
 Gets the label from its index.
None SetLabel (self, int index, str label)
 Changes a label predicted by the tool.
None SetLabelWeight (self, int index, float weight)
 Sets the label weight.
float GetLabelWeight (self, int index)
 Gets the label weight.
None SetLabelColor (self, int index, eVision.ERGBColor c)
 Changes a label color.
eVision.ERGBColor GetLabelColor (self, int index)
 Label color.
None SetLabelOpacity (self, int index, int opacity)
 Changes a label opacity (between 0 for fully transparent and 255 for opaque color).
int GetLabelOpacity (self, int index)
 Gets the label opacity (between 0 for fully transparent and 255 for opaque color).
int GetOptimalNumImagesForBatchSize (self, eVision.EBaseROI sampleImage)
 Optimal number of images to process together for inference given the batch size and eVision.EasyDeepLearning.EDeepLearningTool.GetNumPatchesForImage.
int GetOptimalNumImagesForBatchSize (self, int imageWidth, int imageHeight)
 Optimal number of images to process together for inference given the batch size and eVision.EasyDeepLearning.EDeepLearningTool.GetNumPatchesForImage.
None Clean (self)
 Reset the engine and clean CPU and GPU memory allocated for running the model.

Protected Member Functions

int _Channels__getter (self)
 \cond
eVision.EasyDeepLearning.EDeepLearningToolType _ToolType__getter (self)
 \cond
eVision.EasyDeepLearning.ESupervisedSegmenterCapacity _Capacity__getter (self)
 \cond
 _Capacity__setter (self, eVision.EasyDeepLearning.ESupervisedSegmenterCapacity value)
 Capacity of the eVision.EasyDeepLearning.ESupervisedSegmenter.
bool _ForceGrayscale__getter (self)
 \cond
 _ForceGrayscale__setter (self, bool value)
 Forces the eVision.EasyDeepLearning.ESupervisedSegmenter to convert all images to grayscale (default: false).
int _PatchSize__getter (self)
 \cond
 _PatchSize__setter (self, int value)
 Patch size (width and height of the patches processed by the neural network).
float _SamplingDensity__getter (self)
 \cond
 _SamplingDensity__setter (self, float value)
 Sampling density (default value: 1.25, its value must be equal or greater than 1).
float _Scale__getter (self)
 \cond
 _Scale__setter (self, float value)
 Down-scaling applied to images before processing them.
float _ClassificationThreshold__getter (self)
 \cond
 _ClassificationThreshold__setter (self, float value)
 Classification threshold for determining whether an image contains blobs with a label different than background.
bool _ScaleDisabledAtInference__getter (self)
 \cond
 _ScaleDisabledAtInference__setter (self, bool value)
 Whether to apply the scale parameter at inference or not.
float _InferenceScale__getter (self)
 \cond
Protected Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningTool
bool _EnableGPU__getter (self)
 \cond
 _EnableGPU__setter (self, bool value)
 Enable the use of a GPU for training and inference of the deep learning tool.
list[int] _GPUIndexes__getter (self)
 \cond
 _GPUIndexes__setter (self, list[int] value)
 Indexes of the GPUs to use for computations.
int _NumGPUs__getter (self)
 \cond
str _Engine__getter (self)
 \cond
 _Engine__setter (self, str value)
 Sets the engine with which to execute or train the neural network.
eVision.EasyDeepLearning.EDeepLearningInferencePrecision _InferencePrecision__getter (self)
 \cond
 _InferencePrecision__setter (self, eVision.EasyDeepLearning.EDeepLearningInferencePrecision value)
 Inference precision.
int _NumAvailableDevices__getter (self)
 \cond
list[eVision._eVision.EasyDeepLearning.EDeepLearningDevice] _AvailableDevices__getter (self)
 \cond
int _NumActiveDevices__getter (self)
 \cond
 _ActiveDeviceByName__setter (self, str value)
 \cond
 _ActiveDeviceById__setter (self, int value)
 \cond
list[eVision._eVision.EasyDeepLearning.EDeepLearningDevice] _ActiveDevices__getter (self)
 \cond
 _ActiveDevices__setter (self, list[eVision._eVision.EasyDeepLearning.EDeepLearningDevice] value)
 Devices with which to run or train the model.
 _ActiveDevicesById__setter (self, list[int] value)
 \cond
eVision.EasyDeepLearning.EDeepLearningExecutionSettings _ExecutionSettings__getter (self)
 \cond
 _ExecutionSettings__setter (self, eVision.EasyDeepLearning.EDeepLearningExecutionSettings value)
 Execution settings of the tool (engine, device(s), inference precision, batch size settings).
eVision.EasyDeepLearning.EDeepLearningDevice _EngineSetupDataDevice__getter (self)
 \cond
eVision.EasyDeepLearning.EDeepLearningInferencePrecision _EngineSetupDataInferencePrecision__getter (self)
 \cond
int _EngineSetupDataBatchSize__getter (self)
 \cond
bool _OptimizeBatchSize__getter (self)
 \cond
 _OptimizeBatchSize__setter (self, bool value)
 Indicates whether to optimize the batch size (see eVision.EasyDeepLearning.EDeepLearningTool.BatchSize) to maximize the training and inference speed according to the engine, the device and the available memory.
int _BatchSizeForMaximumInferenceSpeed__getter (self)
 \cond
int _BatchSize__getter (self)
 \cond
 _BatchSize__setter (self, int value)
 Batch size.
float _CurrentTrainingProgression__getter (self)
 \cond
int _CurrentTrainingFinishedIterations__getter (self)
 \cond
int _CurrentTrainingNumIterations__getter (self)
 \cond
int _NumTrainedIterations__getter (self)
 \cond
int _BestIteration__getter (self)
 \cond
int _ImageCacheSize__getter (self)
 \cond
 _ImageCacheSize__setter (self, int value)
 Size in byte of the image cache.
str _Path__getter (self)
 \cond
str _InferenceModelPath__getter (self)
 \cond
str _TrainingModelPath__getter (self)
 \cond
str _SettingsPath__getter (self)
 \cond
int _AutoSavePeriod__getter (self)
 \cond
 _AutoSavePeriod__setter (self, int value)
 Auto-save period.
eVision.EasyDeepLearning.EDeepLearningLearningRateType _LearningRateType__getter (self)
 \cond
list[float] _LearningRateParameters__getter (self)
 \cond
bool _EnableDeterministicTraining__getter (self)
 \cond
 _EnableDeterministicTraining__setter (self, bool value)
 Whether to use deterministic training algorithm that allows to repeatable training results.
int _DeterministicTrainingRandomSeed__getter (self)
 \cond
 _DeterministicTrainingRandomSeed__setter (self, int value)
 Random seed to use when eVision.EasyDeepLearning.EDeepLearningTool.EnableDeterministicTraining is set to true.
int _NumLabels__getter (self)
 \cond

Properties

 Channels = property(_Channels__getter, None)
 \endcond
 ToolType = property(_ToolType__getter, None)
 \endcond
 Capacity = property(_Capacity__getter, _Capacity__setter)
 \endcond
 ForceGrayscale = property(_ForceGrayscale__getter, _ForceGrayscale__setter)
 \endcond
 PatchSize = property(_PatchSize__getter, _PatchSize__setter)
 \endcond
 SamplingDensity = property(_SamplingDensity__getter, _SamplingDensity__setter)
 \endcond
 Scale = property(_Scale__getter, _Scale__setter)
 \endcond
 ClassificationThreshold = property(_ClassificationThreshold__getter, _ClassificationThreshold__setter)
 \endcond
 ScaleDisabledAtInference = property(_ScaleDisabledAtInference__getter, _ScaleDisabledAtInference__setter)
 \endcond
 InferenceScale = property(_InferenceScale__getter, None)
 \endcond
Properties inherited from eVision.EasyDeepLearning.EDeepLearningTool
 ToolType = property(_ToolType__getter, None)
 \endcond
 EnableGPU = property(_EnableGPU__getter, _EnableGPU__setter)
 \endcond
 GPUIndexes = property(_GPUIndexes__getter, _GPUIndexes__setter)
 \endcond
 NumGPUs = property(_NumGPUs__getter, None)
 \endcond
 Engine = property(_Engine__getter, _Engine__setter)
 \endcond
 InferencePrecision = property(_InferencePrecision__getter, _InferencePrecision__setter)
 \endcond
 NumAvailableDevices = property(_NumAvailableDevices__getter, None)
 \endcond
 AvailableDevices = property(_AvailableDevices__getter, None)
 \endcond
 NumActiveDevices = property(_NumActiveDevices__getter, None)
 \endcond
 ActiveDeviceByName = property(None, _ActiveDeviceByName__setter)
 \endcond
 ActiveDeviceById = property(None, _ActiveDeviceById__setter)
 \endcond
 ActiveDevices = property(_ActiveDevices__getter, _ActiveDevices__setter)
 \endcond
 ActiveDevicesById = property(None, _ActiveDevicesById__setter)
 \endcond
 ExecutionSettings = property(_ExecutionSettings__getter, _ExecutionSettings__setter)
 \endcond
 EngineSetupDataDevice = property(_EngineSetupDataDevice__getter, None)
 \endcond
 EngineSetupDataInferencePrecision = property(_EngineSetupDataInferencePrecision__getter, None)
 \endcond
 EngineSetupDataBatchSize = property(_EngineSetupDataBatchSize__getter, None)
 \endcond
 OptimizeBatchSize = property(_OptimizeBatchSize__getter, _OptimizeBatchSize__setter)
 \endcond
 BatchSizeForMaximumInferenceSpeed = property(_BatchSizeForMaximumInferenceSpeed__getter, None)
 \endcond
 BatchSize = property(_BatchSize__getter, _BatchSize__setter)
 \endcond
 CurrentTrainingProgression = property(_CurrentTrainingProgression__getter, None)
 \endcond
 CurrentTrainingFinishedIterations = property(_CurrentTrainingFinishedIterations__getter, None)
 \endcond
 CurrentTrainingNumIterations = property(_CurrentTrainingNumIterations__getter, None)
 \endcond
 NumTrainedIterations = property(_NumTrainedIterations__getter, None)
 \endcond
 BestIteration = property(_BestIteration__getter, None)
 \endcond
 ImageCacheSize = property(_ImageCacheSize__getter, _ImageCacheSize__setter)
 \endcond
 Path = property(_Path__getter, None)
 \endcond
 InferenceModelPath = property(_InferenceModelPath__getter, None)
 \endcond
 TrainingModelPath = property(_TrainingModelPath__getter, None)
 \endcond
 SettingsPath = property(_SettingsPath__getter, None)
 \endcond
 AutoSavePeriod = property(_AutoSavePeriod__getter, _AutoSavePeriod__setter)
 \endcond
 LearningRateType = property(_LearningRateType__getter, None)
 \endcond
 LearningRateParameters = property(_LearningRateParameters__getter, None)
 \endcond
 EnableDeterministicTraining = property(_EnableDeterministicTraining__getter, _EnableDeterministicTraining__setter)
 \endcond
 DeterministicTrainingRandomSeed = property(_DeterministicTrainingRandomSeed__getter, _DeterministicTrainingRandomSeed__setter)
 \endcond
 NumLabels = property(_NumLabels__getter, None)
 \endcond

Additional Inherited Members

Static Public Member Functions inherited from eVision.EasyDeepLearning.EDeepLearningTool
eVision.EasyDeepLearning.EDeepLearningTool|None Create (str path)
 Factory method to open a deep learning tool.
eVision.EasyDeepLearning.EDeepLearningTool|None Create (eVision.ESerializer|None serializer)
 Factory method to open a deep learning tool.
eVision.EasyDeepLearning.EDeepLearningTool|None Create (eVision.EasyDeepLearning.EDeepLearningToolType type)
 Factory method to open a deep learning tool.
int GetNumAvailableEngines ()
 Number of available engines.
str GetAvailableEngineName (int id)
 Gets the name of the engine given its id.
list[str] GetAvailableEngines ()
 Available engines.
list[eVision._eVision.EasyDeepLearning.EDeepLearningDevice] GetAvailableDevicesForEngine (str engine)
 Available devices for the specified engine.

Detailed Description

Supervised segmentation tool.

The supervised segmentation tool segments the pixels of an image into various labels by learning a deep learning model on a dataset of segmented images.

The tool can work with images of any resolution higher than eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize by merging the results obtained by applying the deep neural network using a sliding window algorithm. The overlap between the sliding windows is controlled by eVision.EasyDeepLearning.ESupervisedSegmenter.SamplingDensity.

For defect detection/foreground blobs detection, the supervised segmenter offers a tradeoff between a high good detection rate and a high defect detection rate through a classification threshold that can be configured after training (eVision.EasyDeepLearning.ESupervisedSegmenter.ClassificationThreshold).

Remarks:

License(s): EasySegment or EasySegmentInference

Constructor & Destructor Documentation

◆ __init__() [1/2]

None eVision.EasyDeepLearning.ESupervisedSegmenter.__init__ ( self)

◆ __init__() [2/2]

None eVision.EasyDeepLearning.ESupervisedSegmenter.__init__ ( self,
eVision.EasyDeepLearning.ESupervisedSegmenter other )

Copy constructor of a eVision.EasyDeepLearning.ESupervisedSegmenter object.

Parameters
otherReference to the eVision.EasyDeepLearning.ESupervisedSegmenter object that should be copied

Member Function Documentation

◆ _Capacity__getter()

eVision.EasyDeepLearning.ESupervisedSegmenterCapacity eVision.EasyDeepLearning.ESupervisedSegmenter._Capacity__getter ( self)
protected

\cond

Capacity of the eVision.EasyDeepLearning.ESupervisedSegmenter.

A higher capacity makes the supervised segmenter capable of learning more information at the cost of a slower processing speed.

◆ _Capacity__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._Capacity__setter ( self,
eVision.EasyDeepLearning.ESupervisedSegmenterCapacity value )
protected

Capacity of the eVision.EasyDeepLearning.ESupervisedSegmenter.

A higher capacity makes the supervised segmenter capable of learning more information at the cost of a slower processing speed.

◆ _Channels__getter()

int eVision.EasyDeepLearning.ESupervisedSegmenter._Channels__getter ( self)
protected

\cond

Number of channels of input images. It can either be 1 for grayscale images or 3 for color images.

Remarks:

If the segmenter tool is not trained or the value was not explicitly set, its value will be 0.

◆ _ClassificationThreshold__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenter._ClassificationThreshold__getter ( self)
protected

\cond

Classification threshold for determining whether an image contains blobs with a label different than background.

By default, its value is set during training to maximize the weighted accuracy (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics).

◆ _ClassificationThreshold__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._ClassificationThreshold__setter ( self,
float value )
protected

Classification threshold for determining whether an image contains blobs with a label different than background.

By default, its value is set during training to maximize the weighted accuracy (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics).

◆ _ForceGrayscale__getter()

bool eVision.EasyDeepLearning.ESupervisedSegmenter._ForceGrayscale__getter ( self)
protected

\cond

Forces the eVision.EasyDeepLearning.ESupervisedSegmenter to convert all images to grayscale (default: false).

Setting this property to false will make the underlying neural network operates with the same number of channels as the images in the dataset used for training. Otherwise, color images will be converted to grayscale before using them.

◆ _ForceGrayscale__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._ForceGrayscale__setter ( self,
bool value )
protected

Forces the eVision.EasyDeepLearning.ESupervisedSegmenter to convert all images to grayscale (default: false).

Setting this property to false will make the underlying neural network operates with the same number of channels as the images in the dataset used for training. Otherwise, color images will be converted to grayscale before using them.

◆ _InferenceScale__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenter._InferenceScale__getter ( self)
protected

\cond

The effective scale applied when performing inference.

If eVision.EasyDeepLearning.ESupervisedSegmenter.ScaleDisabledAtInference is true, it is equal to 1.0. Otherwise, it is equal to eVision.EasyDeepLearning.ESupervisedSegmenter.Scale.

◆ _PatchSize__getter()

int eVision.EasyDeepLearning.ESupervisedSegmenter._PatchSize__getter ( self)
protected

\cond

Patch size (width and height of the patches processed by the neural network).

Remarks:

There are three supported patch size: 64x64, 128x128, and 256x256. By default, the patch size is 0 and it means that the patch size will be 128x128 if all images in the training and validation dataset have a higher resolution or the patch size will be 64x64.

◆ _PatchSize__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._PatchSize__setter ( self,
int value )
protected

Patch size (width and height of the patches processed by the neural network).

Remarks:

There are three supported patch size: 64x64, 128x128, and 256x256. By default, the patch size is 0 and it means that the patch size will be 128x128 if all images in the training and validation dataset have a higher resolution or the patch size will be 64x64.

◆ _SamplingDensity__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenter._SamplingDensity__getter ( self)
protected

\cond

Sampling density (default value: 1.25, its value must be equal or greater than 1).

The sampling density is the parameter of the sliding window algorithm used for processing a whole image using subwindows of size eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize. It indicates how much overlap there will be between the image patches: the stride between two consecutive patches is eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize / eVision.EasyDeepLearning.ESupervisedSegmenter.SamplingDensity.

◆ _SamplingDensity__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._SamplingDensity__setter ( self,
float value )
protected

Sampling density (default value: 1.25, its value must be equal or greater than 1).

The sampling density is the parameter of the sliding window algorithm used for processing a whole image using subwindows of size eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize. It indicates how much overlap there will be between the image patches: the stride between two consecutive patches is eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize / eVision.EasyDeepLearning.ESupervisedSegmenter.SamplingDensity.

◆ _Scale__getter()

float eVision.EasyDeepLearning.ESupervisedSegmenter._Scale__getter ( self)
protected

\cond

Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).

◆ _Scale__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._Scale__setter ( self,
float value )
protected

Down-scaling applied to images before processing them.

Its value is between 0 and 1 (default value: 1).

◆ _ScaleDisabledAtInference__getter()

bool eVision.EasyDeepLearning.ESupervisedSegmenter._ScaleDisabledAtInference__getter ( self)
protected

\cond

Whether to apply the scale parameter at inference or not.

If you disable the scale at inference, make sure your images are already scaled. For example, if you trained with images of 1024x1024 and a scale of 0.5, the inference images should be 512 x 512 images with the same field of view as the training images.

◆ _ScaleDisabledAtInference__setter()

eVision.EasyDeepLearning.ESupervisedSegmenter._ScaleDisabledAtInference__setter ( self,
bool value )
protected

Whether to apply the scale parameter at inference or not.

If you disable the scale at inference, make sure your images are already scaled. For example, if you trained with images of 1024x1024 and a scale of 0.5, the inference images should be 512 x 512 images with the same field of view as the training images.

◆ _ToolType__getter()

eVision.EasyDeepLearning.EDeepLearningToolType eVision.EasyDeepLearning.ESupervisedSegmenter._ToolType__getter ( self)
protected

\cond

Type of the deep learning tool.

Reimplemented from eVision.EasyDeepLearning.EDeepLearningTool.

◆ Apply() [1/8]

eVision.EasyDeepLearning.ESupervisedSegmenterResult eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
eVision.EBaseROI img )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgImage to classify and segment defects in.

◆ Apply() [2/8]

eVision.EasyDeepLearning.ESupervisedSegmenterResult eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
eVision.EBaseROI img,
eVision.EFrame frame )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgImage to classify and segment defects in.
frameFrame of reference in which the region was defined

◆ Apply() [3/8]

eVision.EasyDeepLearning.ESupervisedSegmenterResult eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
eVision.EBaseROI img,
eVision.EFrame frame,
eVision.ERegion mask )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgImage to classify and segment defects in.
frameFrame of reference in which the region was defined
maskMask region of the image.

◆ Apply() [4/8]

eVision.EasyDeepLearning.ESupervisedSegmenterResult eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
eVision.EBaseROI img,
eVision.ERegion mask )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgImage to classify and segment defects in.
maskMask region of the image.

◆ Apply() [5/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
list[eVision._eVision.EBaseROI | None] imgs,
eVision.EFrame frame,
list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult | None] results )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
resultsVector of eVision.EasyDeepLearning.ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [6/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
list[eVision._eVision.EBaseROI | None] imgs,
eVision.EFrame frame,
list[eVision._eVision.ERegion | None] masks,
list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult | None] results )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgsVector of image to classify and segment defects in.
frameFrame of reference in which the region was defined
masksVector of mask regions for the images.
resultsVector of eVision.EasyDeepLearning.ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [7/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
list[eVision._eVision.EBaseROI | None] imgs,
list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult | None] results )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgsVector of image to classify and segment defects in.
resultsVector of eVision.EasyDeepLearning.ESupervisedSegmenterResult to put the segmented defects.

◆ Apply() [8/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Apply ( self,
list[eVision._eVision.EBaseROI | None] imgs,
list[eVision._eVision.ERegion | None] masks,
list[eVision._eVision.EasyDeepLearning.ESupervisedSegmenterResult | None] results )

Applies the unsupervised segmenter on the given image and its mask region.

Parameters
imgsVector of image to classify and segment defects in.
masksVector of mask regions for the images.
resultsVector of eVision.EasyDeepLearning.ESupervisedSegmenterResult to put the segmented defects.

◆ Evaluate()

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics eVision.EasyDeepLearning.ESupervisedSegmenter.Evaluate ( self,
eVision.EasyDeepLearning.EDataset dataset )

Evaluates the dataset.

Remarks:

License(s): EasySegment

Parameters
datasetDataset to evaluate

◆ GetNumPatchesForImage()

int eVision.EasyDeepLearning.ESupervisedSegmenter.GetNumPatchesForImage ( self,
int imageWidth,
int imageHeight )

Number of patches that will be extracted from an input image to perform inference.

For EasyClassify and EasyLocate, this will always be equal to 1. For EasySegment, the number of patches will depend on the scale, patch size and sampling density parameters.

Parameters
imageWidthWidth of the image for which to get the number of patch
imageHeightHeight of the image for which to get the number of patch

Reimplemented from eVision.EasyDeepLearning.EDeepLearningTool.

◆ GetTrainingMetrics()

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics eVision.EasyDeepLearning.ESupervisedSegmenter.GetTrainingMetrics ( self,
int iteration )

Training metrics at the given iteration.

Parameters
iterationIteration at which to get the metrics

◆ GetValidationMetrics()

eVision.EasyDeepLearning.ESupervisedSegmenterMetrics eVision.EasyDeepLearning.ESupervisedSegmenter.GetValidationMetrics ( self,
int iteration )

Validation metrics at the given iteration.

Parameters
iterationIteration at which to get the metrics

◆ SerializeSettings()

None eVision.EasyDeepLearning.ESupervisedSegmenter.SerializeSettings ( self,
eVision.ESerializer | None serializer )

Serializes the settings of the supervised segmenter.

Parameters
serializerPointer to eVision.ESerializer

Reimplemented from eVision.EasyDeepLearning.EDeepLearningTool.

◆ Train() [1/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset dataset )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
dataseteVision.EasyDeepLearning.EDataset with which to train and validate the deep learning tool

◆ Train() [2/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset dataset,
eVision.EasyDeepLearning.EDataAugmentation dataAugmentation )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
dataseteVision.EasyDeepLearning.EDataset with which to train and validate the deep learning tool
dataAugmentationData augmentation to use during training

◆ Train() [3/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset dataset,
eVision.EasyDeepLearning.EDataAugmentation dataAugmentation,
int iterations )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
dataseteVision.EasyDeepLearning.EDataset with which to train and validate the deep learning tool
dataAugmentationData augmentation to use during training
iterationsNumber of iterations for training.

◆ Train() [4/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset dataset,
int iterations )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
dataseteVision.EasyDeepLearning.EDataset with which to train and validate the deep learning tool
iterationsNumber of iterations for training.

◆ Train() [5/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset trainingDataset,
eVision.EasyDeepLearning.EDataset validationDataset )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
trainingDataseteVision.EasyDeepLearning.EDataset with which to train the deep learning tool
validationDataseteVision.EasyDeepLearning.EDataset with which to validate the deep learning tool

◆ Train() [6/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset trainingDataset,
eVision.EasyDeepLearning.EDataset validationDataset,
eVision.EasyDeepLearning.EDataAugmentation dataAugmentation )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
trainingDataseteVision.EasyDeepLearning.EDataset with which to train the deep learning tool
validationDataseteVision.EasyDeepLearning.EDataset with which to validate the deep learning tool
dataAugmentationData augmentation to use during training

◆ Train() [7/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset trainingDataset,
eVision.EasyDeepLearning.EDataset validationDataset,
eVision.EasyDeepLearning.EDataAugmentation dataAugmentation,
int iterations )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
trainingDataseteVision.EasyDeepLearning.EDataset with which to train the deep learning tool
validationDataseteVision.EasyDeepLearning.EDataset with which to validate the deep learning tool
dataAugmentationData augmentation to use during training
iterationsNumber of iterations for training.

◆ Train() [8/8]

None eVision.EasyDeepLearning.ESupervisedSegmenter.Train ( self,
eVision.EasyDeepLearning.EDataset trainingDataset,
eVision.EasyDeepLearning.EDataset validationDataset,
int iterations )

Trains the eVision.EasyDeepLearning.ESupervisedSegmenter with the given dataset for the specified number of iterations.

At the end of the training, the deep learning tool is in the state it was at the iteration that gave the minimum validation error. See eVision.EasyDeepLearning.EDeepLearningTool.BestIteration.

If no iterations is given, the training will stop automatically.

Remarks:

License(s): EasySegment

Parameters
trainingDataseteVision.EasyDeepLearning.EDataset with which to train the deep learning tool
validationDataseteVision.EasyDeepLearning.EDataset with which to validate the deep learning tool
iterationsNumber of iterations for training.

Property Documentation

◆ Capacity

eVision.EasyDeepLearning.ESupervisedSegmenter.Capacity = property(_Capacity__getter, _Capacity__setter)
static

\endcond

Capacity of the eVision.EasyDeepLearning.ESupervisedSegmenter.

A higher capacity makes the supervised segmenter capable of learning more information at the cost of a slower processing speed.

◆ Channels

eVision.EasyDeepLearning.ESupervisedSegmenter.Channels = property(_Channels__getter, None)
static

\endcond

Number of channels of input images. It can either be 1 for grayscale images or 3 for color images.

Remarks:

If the segmenter tool is not trained or the value was not explicitly set, its value will be 0.

◆ ClassificationThreshold

eVision.EasyDeepLearning.ESupervisedSegmenter.ClassificationThreshold = property(_ClassificationThreshold__getter, _ClassificationThreshold__setter)
static

\endcond

Classification threshold for determining whether an image contains blobs with a label different than background.

By default, its value is set during training to maximize the weighted accuracy (see eVision.EasyDeepLearning.ESupervisedSegmenterMetrics).

◆ ForceGrayscale

eVision.EasyDeepLearning.ESupervisedSegmenter.ForceGrayscale = property(_ForceGrayscale__getter, _ForceGrayscale__setter)
static

\endcond

Forces the eVision.EasyDeepLearning.ESupervisedSegmenter to convert all images to grayscale (default: false).

Setting this property to false will make the underlying neural network operates with the same number of channels as the images in the dataset used for training. Otherwise, color images will be converted to grayscale before using them.

◆ InferenceScale

eVision.EasyDeepLearning.ESupervisedSegmenter.InferenceScale = property(_InferenceScale__getter, None)
static

\endcond

The effective scale applied when performing inference.

If eVision.EasyDeepLearning.ESupervisedSegmenter.ScaleDisabledAtInference is true, it is equal to 1.0. Otherwise, it is equal to eVision.EasyDeepLearning.ESupervisedSegmenter.Scale.

◆ PatchSize

eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize = property(_PatchSize__getter, _PatchSize__setter)
static

\endcond

Patch size (width and height of the patches processed by the neural network).

Remarks:

There are three supported patch size: 64x64, 128x128, and 256x256. By default, the patch size is 0 and it means that the patch size will be 128x128 if all images in the training and validation dataset have a higher resolution or the patch size will be 64x64.

◆ SamplingDensity

eVision.EasyDeepLearning.ESupervisedSegmenter.SamplingDensity = property(_SamplingDensity__getter, _SamplingDensity__setter)
static

\endcond

Sampling density (default value: 1.25, its value must be equal or greater than 1).

The sampling density is the parameter of the sliding window algorithm used for processing a whole image using subwindows of size eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize. It indicates how much overlap there will be between the image patches: the stride between two consecutive patches is eVision.EasyDeepLearning.ESupervisedSegmenter.PatchSize / eVision.EasyDeepLearning.ESupervisedSegmenter.SamplingDensity.

◆ Scale

eVision.EasyDeepLearning.ESupervisedSegmenter.Scale = property(_Scale__getter, _Scale__setter)
static

\endcond

Down-scaling applied to images before processing them. Its value is between 0 and 1 (default value: 1).

◆ ScaleDisabledAtInference

eVision.EasyDeepLearning.ESupervisedSegmenter.ScaleDisabledAtInference = property(_ScaleDisabledAtInference__getter, _ScaleDisabledAtInference__setter)
static

\endcond

Whether to apply the scale parameter at inference or not.

If you disable the scale at inference, make sure your images are already scaled. For example, if you trained with images of 1024x1024 and a scale of 0.5, the inference images should be 512 x 512 images with the same field of view as the training images.

◆ ToolType

eVision.EasyDeepLearning.ESupervisedSegmenter.ToolType = property(_ToolType__getter, None)
static

\endcond

Type of the deep learning tool.