protected TrainerImp(ImageScanner scanner)
            {
                if (scanner == null)
                {
                    throw new ArgumentNullException(nameof(scanner));
                }

                this.Scanner = scanner;
            }
            public ScanFHogPyramidTrainer(ImageScanner scanner)
                : base(scanner)
            {
                var param = scanner.GetFHogPyramidParameter();

                this._FeatureExtractorType = param.FeatureExtractorType;
                this._PyramidRate          = param.PyramidRate;
                this._PyramidType          = param.PyramidType;

                var ret = Dlib.Native.structural_object_detection_trainer_scan_fhog_pyramid_new(this._PyramidType,
                                                                                                this._PyramidRate,
                                                                                                this._FeatureExtractorType,
                                                                                                this.Scanner.NativePtr,
                                                                                                out var trainr);

                this.NativePtr = trainr;
            }