using System;

namespace OpenCVStudio_v0
{
    /// <summary>
    /// Свойства блока MorphologyClose.
    /// Морфологическое закрытие.
    /// </summary>
    public sealed class MorphologyCloseBlockProperties
    {
        private readonly ProjectManager projectManager;
        private readonly ProjectBlock projectBlock;

        public MorphologyCloseBlockProperties(ProjectManager projectManager, ProjectBlock projectBlock)
        {
            this.projectManager = projectManager ?? throw new ArgumentNullException(nameof(projectManager));
            this.projectBlock = projectBlock ?? throw new ArgumentNullException(nameof(projectBlock));
        }

        public string FunctionName => "Cv2.MorphologyEx";

        public string Description => "Заполняет небольшие отверстия и соединяет разрывы в белых областях изображения методом морфологического закрытия.";

        public string InputDescription => "Вход: бинарная маска изображения.";

        public string OutputDescription => "Бинарная маска после операции закрытия.";

        public string Requirements => "Рекомендуется использовать бинарное изображение.";

        public string Parameters => "KernelWidth, KernelHeight, KernelShape, Iterations";

        public string Operation => "Close";
    }
}