/* * Copyright (c) 2025 LG Electronics Inc. * SPDX-License-Identifier: LicenseRef-LGE-Proprietary */ using System; namespace VisionCommon { public class PreProcessingParam : ICloneCopy { public FilteringParam FilParam { get; set; } = new FilteringParam(); public BinarizationParam BinParam { get; set; } = new BinarizationParam(); public MorphologyParam MorphParam { get; set; } = new MorphologyParam(); public bool Enabled() { return FilteringEnabled() || BinaryEnabled(); } public bool FilteringEnabled() { return FilParam.Enabled; } public bool BinaryEnabled() { return BinParam.Enabled; } public bool MorphEnabled() { return BinParam.Enabled && MorphParam.Enabled; } public PreProcessingParam Clone() { return ((ICloneable)this).Clone() as PreProcessingParam; } object ICloneable.Clone() { var cloneObj = new PreProcessingParam(); CopyTo(cloneObj); return cloneObj; } public void CopyTo(PreProcessingParam target) { target.FilParam = this.FilParam.Clone(); target.BinParam = this.BinParam.Clone(); target.MorphParam = this.MorphParam.Clone(); } } }