/* ctor */ KAZEFeatureDetextractor(cv::Ptr<cv::KAZE> kaze = cv::KAZE::create())
     :
     m_extended       (kaze->getExtended()     ),
     m_upright        (kaze->getUpright()      ),
     m_threshold      (kaze->getThreshold()    ),
     m_levels         (kaze->getNOctaves()     ),
     m_octaveLayers   (kaze->getNOctaveLayers()),
     m_diffusivityType(DiffuseType2String(kaze->getDiffusivity())),
     CvSuperDetextractorAdaptor(kaze) {}
 /* ctor */ AKAZEFeatureDetextractor(cv::Ptr<cv::AKAZE> akaze = cv::AKAZE::create())
     :
     m_descriptorType    (DescriptorType2String(akaze->getDescriptorType())),
     m_descriptorBits    (akaze->getDescriptorSize()    ),
     m_descriptorChannels(akaze->getDescriptorChannels()),
     m_threshold         (akaze->getThreshold()         ),
     m_levels            (akaze->getNOctaves()          ),
     m_octaveLayers      (akaze->getNOctaveLayers()     ),
     m_diffusivityType   (KAZEFeatureDetextractor::DiffuseType2String(akaze->getDiffusivity())),
     CvSuperDetextractorAdaptor(akaze) {}
 AGASTFeatureDetector(cv::Ptr<cv::AgastFeatureDetector> agast = cv::AgastFeatureDetector::create())
 : m_agast(agast),
   m_threshold(agast->getThreshold()        ),
   m_nonmaxSup(agast->getNonmaxSuppression()),
   m_neighbour(NeighbourType2String(agast->getType())),
   CvFeatureDetectorAdaptor(agast) {}
 FASTFeatureDetector(cv::Ptr<cv::FastFeatureDetector> fast = cv::FastFeatureDetector::create())
 : m_fast(fast),
   m_threshold(fast->getThreshold()),
   m_nonmaxSup(fast->getNonmaxSuppression()),
   m_neighbour(Type2NeighbourCode(m_fast->getType())),
   CvFeatureDetectorAdaptor(fast) {}