# Deprecation table

## Deprecation process

The deprecation of a feature is always announced in the release notes. The deprecated feature stays in the distribution (API, sample, eVision Studio…) for one year. After a year, it is completely removed from the distribution.

## Deprecation table

### Deprecated in **26.10**

* `EasyDeepLearning::EClassifierCapacity`
  * Replaced by `EClassifier::SetModelType` and `EClassifier::GetModelType`
  * Will be removed in ****27.6****
* `EOCR2::ClearResult`, `EOCR2::GetReadText`
  * Replaced by the returned `EOCR2Text`
  * Will be removed in **27.10**
* `EOCR2::HitTest`, `EOCR2::Draw*`
  * Replaced by the method attached to the returned `EOCR2Text`
  * Will be removed in **27.10**
* `std::string EOCR2::Recognize(const EOCR2Text&)`
  * Replaced by `EOCR2::RecognizeText`
  * Will be removed in **27.10**
* `std::string EOCR2::Read()`
  * Replaced by `EOCR2::ReadEx`
  * Will be removed in **27.10**
* `EasyDeepLearning::EClassificationDataset`
  * Replaced by`EasyDeepLearning::EDataset`
  * Will be removed in **27.10**

### Deprecated in **26.6**

* EasySpotDetector library (`ESpot` and `ESpotDetector` classes)
  * Will be removed in **27.6**
* `EObjectTemplateMatcher::EnableAlignment`
  * Replaced by `EObjectTemplateMatcher::Alignment`
  * Will be removed in **27.6**
* `EObjectTemplateMatcher::SortPositions`
  * Replaced by `EObjectTemplateMatcher::Match`
  * Will be removed in **27.6**
* `EBarCodeReader::EnablePermissiveDecoding`
  * Replaced by `EnablePatternCorrection`, `EnableAdvancedDecoding`, `EnablePrintingErrorCorrection`
  * Will be removed in **27.6**
* `EChecker2` (in EasyObject)
  * Replaced by the new `EChecker` class (in EasyObject)
  * Will be removed in **27.6**
* `EMatrixCodeReader`, `EBarCodeReader`, `EQRCodeReader`, `ECodeReader` `Read` overloads without `EGrid` parameter
  * Replaced by overloads taking `EGrid`
  * Will be removed in **27.6**
* `ETextReader::Localize`
  * Replaced by `ETextReader::Locate`
  * Will be removed in **27.6**

### Deprecated in **26.02**

* `SetImagePtr` for classes `EBaseROI`, `EFourierImage`, `EZMap` and `EDepthMap`
  * Replaced by method `UseExternalBuffer`
  * Will be removed in **27.6**
* `EPoint` constructor taking `EFrame` as argument
  * Replaced by other `EPoint` constructors
  * Will be removed in **27.6**
* `EFlipAxis` enum values
  * Replaced by new enum values following naming convention (for ex. `EFlipAxis_Horizontal`)
  * Will be removed in **27.6**
* `E3DPlane::FlipIfNegativeZ`
  * Replaced by `E3DPlane::OrientNormal(E3DPlaneNormalOrientation_PosZ)`
  * Will be removed in **27.6**

### Deprecated in **25.10**

* `EPoint::SetCenter`, `EPoint::GetCenter`, `EPoint::SetCenterXY`
  * Replaced by direct access to X and Y properties and other `EPoint` methods
  * Will be removed in **27.6**

### Deprecated in **25.06**

* `EPointCloudMerger::Merge` (non-pointer-vector overload)
  * Replaced by `EPointCloudMerger::Merge` overload taking `std::vector<EPointCloud*>`
  * Will be removed in **27.6**

### Deprecated in **25.02**

* `EPatternFinder::Learn` with don’t care area mask
  * Replaced by the use of `ERegion` in `EPatternFinder::Learn`
  * Will be removed in **27.6**
* `EMatcher::DontCareThreshold`
  * Replaced by the use of `ERegion` in `EMatcher::LearnPattern`
  * Will be removed in **27.6**
* `EMatcher::GetNumPositions`, `EMatcher::GetPosition`, `EMatcher::GetPositions`
  * Replaced by the vector of `EFoundPattern` returned by `EMatcher::Match`
  * Will be removed in **27.6**
* `EMatchPosition` struct for `EMatcher`
  * Replaced by `EFoundPattern`
  * Will be removed in **27.6**
* `EBarCodeReader::EnableAllSymbologies`
  * Replaced by `EBarCodeReader::EnableSafeSymbologies`
  * Will be removed in **27.6**
* `ESerializer::CreateFileWriter`, `CreateFileReader`, `CreateMemoryWriter`, `CreateMemoryReader`, `GetWriting`
  * Replaced by new `EFileSerializer` and `EMemorySerializer` constructors
  * Will be removed in **27.6**

### Deprecated in **24.10**

* `EImageEncoder::Serialize`
  * Replaced by `EImageEncoder::Save` or `EImageEncoder::Load`
  * Will be removed in **27.6**
* `Serialize` for `EPen`, `EFont`, `EBrush` classes
  * Replaced by methods `Save` or `Load`
  * Will be removed in **27.6**
* `EBarCodeReader:SetMinModuleSize`, `GetMinModuleSize`, `GetUseMinModuleSize`, `SetUseMinModuleSize`
  * Will be removed in **27.6**

### Deprecated in **24.06**

* `Easy::Initialize` and `Easy::Terminate`
  * No replacement, it is now done automatically
  * Will be removed in **27.6**
* `EMatcher::GetExtension(int32_t&,int32_t&)` and `SetExtension(int32_t,int32_t)`
  * Replaced by `EMatcher::Set/GetExtension` with `EIntSize` type
  * Will be removed in **27.6**
* `EMatcher::GetPixelDimensions(float&,float&)` and `EMatcher::SetPixelDimensions(float,float)`
  * Replaced by `EMatcher::Set/GetPixelDimensions` with `ESize` type
  * Will be removed in **27.6**
* `E3DMatcher::GetAnomalyThresholds(float&,float&)` and `E3DMatcher::SetAnomalyThresholds(float,float)`
  * Replaced by `E3DMatcher::Set/GetAnomalyThresholds` with `EAnomalyThresholds` type
  * Will be removed in **27.6**
* `E3DComparer::GetAnomalyThresholds(float&,float&)` and `E3DComparer::SetAnomalyThresholds(float,float)`
  * Replaced by `E3DComparer::Set/GetAnomalyThresholds` with `EAnomalyThresholds` type
  * Will be removed in **27.6**
* `E3DMatcher::GetAnomalyHysteresis(float&,float&)` and `E3DMatcher::SetAnomalyHysteresis(float,float)`
  * Replaced by `E3DMatcher::Set/GetAnomalyHysteresis` with `EAnomalyThresholds` type
  * Will be removed in **27.6**
* `E3DComparer::GetAnomalyHysteresis(float&,float&)` and `E3DComparer::SetAnomalyHysteresis(float,float)`
  * Replaced by `E3DComparer::Set/GetAnomalyHysteresis` with `EAnomalyThresholds` type
  * Will be removed in **27.6**
* `E3DMatcher::GetEdgeCroppingParameters(int&,float&)` and `E3DMatcher::SetEdgeCroppingParameters(int,float)`
  * Replaced by `E3DMatcher::Set/GetEdgeCroppingParameters` with `EEdgeCroppingParameters` type
  * Will be removed in **27.6**
* `E3DComparer::GetEdgeCroppingParameters(int&,float&)` and `E3DComparer::SetEdgeCroppingParameters(int,float)`
  * Replaced by `E3DComparer::Set/GetEdgeCroppingParameters` with `EEdgeCroppingParameters` type
  * Will be removed in **27.6**
* `E3DTransformMatrix::GetAzimuthElevationAngles(float&,float&)`
  * Replaced by `EAzimuthElevationAngles` `E3DTransformMatrix::GetAzimuthElevationAngles`
  * Will be removed in **27.6**
* `E3DViewer::GetColorRampLocation(float&,float&,float&,float&)` and `E3DViewer::SetColorRampLocation(float,float,float,float)`
  * Replaced by `E3DViewer::Set/GetColorRampLocation` with `EPoint` parameters
  * Will be removed in **27.6**
* `E3DViewer::GetFixColorRampBounds(float&,float&)` and `E3DViewer::SetFixColorRampBounds(float,float)`
  * Replaced by `E3DViewer::Set/GetFixColorRampBounds` with `EFloatRange` type
  * Will be removed in **27.6**
* `E3DViewer::GetViewTarget(float&,float&,float&)` and `E3DViewer::SetViewTarget(float,float,float)`
  * Replaced by `E3DViewer::Set/GetViewTarget` with `E3DPoint` type
  * Will be removed in **27.6**
* `E3DViewer::GetViewAngle(float&,float&,float&)` and `E3DViewer::SetViewAngle(float,float,float)`
  * Replaced by `E3DViewer::Set/GetViewAngle` with `E3DPoint` type
  * Will be removed in **27.6**
* `E3DViewer::GetAutoRotate(float&,float&,float&)` and `E3DViewer::SetAutoRotate(float,float,float)`
  * Replaced by `E3DViewer::Set/GetAutoRotate` with `E3DPoint` type
  * Will be removed in **27.6**
* `ConvertCoordinatesMapToPixel(float,float,int&,int&)` for `EZMap` and `EDepthMap` classes
  * Replaced by `ConvertCoordinatesMapToPixel(EPoint,EIntPoint&)`
  * Will be removed in **27.6**
* `ConvertCoordinatesPixelToMap(int,int,float&,float&)` for `EZMap` and `EDepthMap` classes
  * Replaced by `EPoint ConvertCoordinatesPixelToMap(EIntPoint)`
  * Will be removed in **27.6**
* `EZMap::GetSizeInWorld`, `GetResolution`, `ImageToZMap`, `ZMapToImage`, `GetPixelPositionFromWorldPosition` (ref-based overloads)
  * Replaced by overloads returning/using `EPoint`, `E3DPoint`, `EIntPoint`
  * Will be removed in **27.6**
* `E3DPlane EPlaneFinder::Find(EPointCloud,...)`
  * Replaced by `float EPlaneFinder::Find(EPointCloud,E3DPlane&,...)`
  * Will be removed in **27.6**
* `E3DPlane EPlaneFitter::Fit(EPointCloud,...)`
  * Replaced by `float EPlaneFitter::Fit(EPointCloud,E3DPlane&)`
  * Will be removed in **27.6**
* `ESphereFitter::Fit(...)` returning `E3DSphere`
  * Replaced by version returning ratio of inliers with `sphere` as argument
  * Will be removed in **27.6**
* `EPrincipalAxisExtractor::Extract` (ref-based overload)
  * Replaced by overload using `E3DPoint`
  * Will be removed in **27.6**
* `EStatistics::ComputeStatistics`, `EStatistics::ComputePixelStatistics` (ref-based overloads)
  * Replaced by overloads returning `EStatistics8`, `EStatistics16` or `EStatistics32f`
  * Will be removed in **27.6**
* `EPointCloud::AllocateAttributeBuffer`, `FillAttributeBuffer`, `AddCustomAttributeBuffer`, `AllocateCustomAttributeBuffer`, `SetAttribute` (generic overloads)
  * Replaced by named-type method variants
  * Will be removed in **27.6**
* `EasyImage::HistogramThreshold` and `EasyImage::HistogramThresholdBW16` (ref-based overloads)
  * Replaced by overloads returning `EHistogramThreshold`
  * Will be removed in **27.6**
* `EasyImage::TwoLevelsMinResidueThreshold` (ref-based overload)
  * Replaced by overload returning `ETwoLevelsMinResidueThreshold`
  * Will be removed in **27.6**
* `EasyImage::ThreeLevelsMinResidueThreshold` (ref-based overload)
  * Replaced by overload returning `EThreeLevelsMinResidueThreshold`
  * Will be removed in **27.6**
* `EasyImage::Thin`, `EasyImage::BiLevelThin`, `EasyImage::Thick`, `EasyImage::BiLevelThick` (void overloads)
  * Replaced by overloads returning the number of iterations performed
  * Will be removed in **27.6**
* `EasyImage::MatchFrames` (all overloads)
  * Replaced by overloads returning the optimal shift amplitude
  * Will be removed in **27.6**
* `EKernel::GetKernelData` (ref-based overload)
  * Replaced by overload returning the coefficient value
  * Will be removed in **27.6**
* `EMovingAverage::GetSize` (ref-based overload)
  * Replaced by individual size getters
  * Will be removed in **27.6**
* `EasyImage::PixelAverage`, `PixelStat`, `PixelStatBW8`, `PixelStatBW16`, `PixelStdDev`, `PixelCount`, `Area`, `AreaDoubleThreshold`, `PixelVariance`, `GravityCenter`, `BinaryMoments`, `WeightedMoments`
  * Replaced by `EPixelStatisticsBW8`, `EPixelStatisticsBW16`, `EPixelStatisticsC24` classes
  * Will be removed in **27.6**
* `EClassificationDataset::GetImages` returning `vector<EBaseROI*>`
  * Replaced by `EClassificationDataset::GetImageCopy`
  * Will be removed in **27.6**
* `EasyObject::ContourArea(EPathVector*, int32_t&)`
  * Replaced by `int32_t EasyObject::ContourArea(EPathVector*)`
  * Will be removed in **27.6**
* `EasyObject::ContourGravityCenter`, `EasyObject::ContourInertia`
  * Replaced by `EasyObject::ContourStatistics`
  * Will be removed in **27.6**
* `EImageEncoder::GetBinaryImageSegmenter` and `Segmenters::EBinaryImageSegmenter`
  * Will be removed in **27.6**
* `ESelectByPosition`, `ESelectOption`, `ESortOption` enums
  * Replaced by `ECodedImage2`
  * Will be removed in **27.6**
* `SetMinNumFitSamples(int32_t, int32_t)` for `ECircleGauge`, `ELineGauge`, `ERectangleGauge`, `EWedgeGauge`
  * Replaced by overloads using `EIntegerRange`
  * Will be removed in **27.6**
* `AddSkipRange` and `GetSkipRange` (int32_t overloads) for `ECircleGauge`, `ELineGauge`, `ERectangleGauge`, `EWedgeGauge`
  * Replaced by overloads using `EIntegerRange`
  * Will be removed in **27.6**
* `EVectorModel::GetVectorModelExtremas` (old overload)
  * Replaced by overloads using `EFloatRange`
  * Will be removed in **27.6**
* `EasyQRCodeReader::SetSearchField`
  * Replaced by `EasyQRCodeReader::Read`
  * Will be removed in **27.6**

### Deprecated in **24.02.1**

* `EPlaneFinder::GetSeed` and `EPlaneFinder::SetSeed`
  * Will be removed in **27.6**

### Deprecated in **24.02**

* `E3DAnomaly::Create3DObject`
  * Replaced by `E3DAnomaly::GetBoundingBox`
  * Will be removed in **27.6**
* `OverallSymbolGrade` field in `EMatrixCodeIso15415GradingParameters`, `EMatrixCodeIso29158GradingParameters`, `EQRCodeIso15415GradingParameters`
  * Replaced by `ScanGrade`
  * Will be removed in **27.6**

### Deprecated in **23.12**

* `EGDIPlusDrawAdapter`
  * Replaced by `EWindowsDrawAdapter`
  * Will be removed in **27.6**
* `Easy::OpenImageGraphicContext` and `Easy::CloseImageGraphicContext`
  * Will be removed in **27.6**
* `EImageBW1`
  * Will be removed in **27.6**
* `ECodedImage`, `EFeatureData`, `EListItem`
  * Replaced by `ECodedImage2`
  * Will be removed in **27.6**
* `EBarCode` (EasyBarCode1)
  * Replaced by `Euresys::Open_eVision::EasyBarCode2::EBarCodeReader`
  * Will be removed in **27.6**
* `EMatrixCode` (EasyMatrixCode1)
  * Replaced by `Euresys::Open_eVision::EasyMatrixCode2::EMatrixCode`
  * Will be removed in **27.6**
* `EMatrixCodeReader` (EasyMatrixCode1)
  * Replaced by `Euresys::Open_eVision::EasyMatrixCode2::EMatrixCodeReader`
  * Will be removed in **27.6**
* `ESearchParamsType`
  * Will be removed in **27.6**
* `EasyColor::C24ToBayer(EROIC24*, EROIBW8*, bool evenCol, bool evenRow)`
  * Replaced by overload taking `EBayerConfiguration`
  * Will be removed in **27.6**
* `EasyColor::TransformBayer(EROIBW8*, EROIBW8*, EColorLookup*, bool evenCol, bool evenRow)`
  * Replaced by overload taking `EBayerConfiguration`
  * Will be removed in **27.6**
* `Draw` methods with HDC API
  * Replaced by use the overload taking an `EDrawAdapter` by using an instance of `EWindowsDrawAdapter`
  * Will be removed in **27.6**

### Deprecated in **23.08**

* `EOCR::ReadTextWide`
  * Replaced by `EOCR::ReadText`
  * Will be removed in **27.6**
* `EOCR::RecognizeWide`
  * Replaced by `EOCR::Recognize`
  * Will be removed in **27.6**

### Deprecated in **23.04**

* `EDeepLearningTool::SetEnableGPU` and `EDeepLearningTool::GetEnableGPU`
  * Will be removed in **27.6**
* `EDeepLearningTool::GetNumGPUs`
  * Replaced by `EDeepLearningTool::NumAvailableDevices`
  * Will be removed in **27.6**
* `EDeepLearningTool::SetGPUIndexes` and `EDeepLearningTool::GetGPUIndexes`
  * Replaced by `EDeepLearningTool::ActiveDevices`
  * Will be removed in **27.6**
* `EQuadrangle::IsInside()`
  * Replaced by `EQuadrangle::IsPointInside`
  * Will be removed in **27.6**
* `EBarCodeReader::GetValidateWithChecksum` and `EBarCodeReader::SetValidateWithChecksum`
  * Replaced by `Set/GetValidateMandatoryChecksum`, `Set/GetValidateOptionalChecksum`, `Set/GetValidatePharmacode`
  * Will be removed in **27.6**
* `EBarCodeReader::GetValidateBarCode` and `EBarCodeReader::SetValidateBarCode`
  * Replaced by `Set/GetValidateMandatoryChecksum`, `Set/GetValidateOptionalChecksum`, `Set/GetValidatePharmacode`
  * Will be removed in **27.6**

### Deprecated in **22.12**

* `EClassifier::SetCapacity`
  * Replaced by `EClassifier::SetModelType`
  * Will be removed in **27.6**

### Deprecated in **22.08**

* `ELocatorMetrics::GetBestWeightedFScoreAndThreshold`
  * Replaced by `ELocatorMetrics::GetBestWeightedFScorePoint`
  * Will be removed in **27.6**
* `ELocatorMetrics::GetBestWeightedPrecisionAndThreshold`
  * Replaced by `ELocatorMetrics::GetBestWeightedPrecisionPoint`
  * Will be removed in **27.6**
* `ELocatorMetrics::GetBestWeightedRecallAndThreshold`
  * Replaced by `ELocatorMetrics::GetBestWeightedRecallPoint`
  * Will be removed in **27.6**
* `ELocatorMetrics::GetLabelIntersectionOverUnion`
  * Replaced by `ELocatorMetrics::GetLabelAverageProximity`
  * Will be removed in **27.6**
* `ELocatorMetrics::GetIntersectionOverUnion`
  * Replaced by `ELocatorMetrics::AverageProximity`
  * Will be removed in **27.6**

### Deprecated in **2.16**

* `EWorldShape::SetDistortion`
  * Replaced by `EWorldShape::SetDistortionStrength`
  * Will be removed in **27.6**

### Deprecated in **2.15**

* `EChecker` (EasyOCV)
  * Replaced by `EChecker2`
  * Will be removed in **27.6**

### Deprecated in **2.13**

* `EasyQRCode::Detect` and `EasyQRCode::Decode`
  * Replaced by `EasyQRCode::Read`
  * Will be removed in **27.6**

### Deprecated in **2.11**

* EasyOCV library (`EOCV` class, `ECharCreationMode`, `EDegreesOfFreedom`, `EDiagnostic`, `ELearningMode`, `ELocationMode`, `EQualityIndicator` enums)
  * Will be removed in **27.6**
