#include "config.h" #include #define VNAME(value) (#value) namespace graft_cv{ CGCvConfig::CGCvConfig() :m_cparam(0) { }; CGCvConfig::~CGCvConfig() { }; void CGCvConfig::setConfParam(ConfigParam*cp) { m_cparam = cp; } void CGCvConfig::write(cv::FileStorage &fs)const{ assert(m_cparam!=0); fs << "{" << "image_show" << m_cparam->image_show << "image_return" << m_cparam->image_return << "image_save" << m_cparam->image_save << "image_depository" << m_cparam->image_depository << "image_backup_days" << m_cparam->image_backup_days << "rs_grab_xmin" << m_cparam->rs_grab_xmin << "rs_grab_xmax" << m_cparam->rs_grab_xmax << "rs_grab_ymin" << m_cparam->rs_grab_ymin << "rs_grab_ymax" << m_cparam->rs_grab_ymax << "rs_grab_zmin" << m_cparam->rs_grab_zmin << "rs_grab_zmax" << m_cparam->rs_grab_zmax << "rs_grab_stem_diameter" << m_cparam->rs_grab_stem_diameter << "rs_grab_seedling_dist" << m_cparam->rs_grab_seedling_dist << "rs_grab_stem_min_pts" << m_cparam->rs_grab_stem_min_pts << "rs_grab_seedling_min_pts" << m_cparam->rs_grab_seedling_min_pts << "rs_grab_ror_ratio" << m_cparam->rs_grab_ror_ratio << "rs_grab_fork_ratio" << m_cparam->rs_grab_fork_ratio << "rs_grab_offset" << m_cparam->rs_grab_offset << "rs_grab_fork_yup" << m_cparam->rs_grab_fork_yup << "rs_grab_fork_ybt" << m_cparam->rs_grab_fork_ybt << "rs_grab_offset_cut" << m_cparam->rs_grab_offset_cut << "rs_grab_fork_height" << m_cparam->rs_grab_fork_height << "rs_grab_holes_number" << m_cparam->rs_grab_holes_number << "sc_grab_xmin" << m_cparam->sc_grab_xmin << "sc_grab_xmax" << m_cparam->sc_grab_xmax << "sc_grab_ymin" << m_cparam->sc_grab_ymin << "sc_grab_ymax" << m_cparam->sc_grab_ymax << "sc_grab_zmin" << m_cparam->sc_grab_zmin << "sc_grab_zmax" << m_cparam->sc_grab_zmax << "sc_grab_stem_diameter" << m_cparam->sc_grab_stem_diameter << "sc_grab_seedling_dist" << m_cparam->sc_grab_seedling_dist << "sc_grab_stem_min_pts" << m_cparam->sc_grab_stem_min_pts << "sc_grab_seedling_min_pts" << m_cparam->sc_grab_seedling_min_pts << "sc_grab_ror_ratio" << m_cparam->sc_grab_ror_ratio << "sc_grab_fork_ratio" << m_cparam->sc_grab_fork_ratio << "sc_grab_offset_nofork" << m_cparam->sc_grab_offset_nofork << "sc_grab_offset_bt" << m_cparam->sc_grab_offset_bt << "sc_grab_offset_up" << m_cparam->sc_grab_offset_up << "sc_grab_offset_normal" << m_cparam->sc_grab_offset_normal << "sc_grab_fork_yup" << m_cparam->sc_grab_fork_yup << "sc_grab_fork_ybt" << m_cparam->sc_grab_fork_ybt << "sc_grab_offset_cut" <sc_grab_offset_cut << "sc_grab_fork_height" << m_cparam->sc_grab_fork_height << "sc_grab_holes_number" << m_cparam->sc_grab_holes_number << "}"; }; void CGCvConfig::read(const cv::FileNode& node){ //Read serialization for this class assert(m_cparam!=0); m_cparam->image_show = (bool)(int)node["image_show"]; m_cparam->image_return = (bool)(int)node["image_return"]; m_cparam->image_save = (bool)(int)node["image_save"]; m_cparam->image_depository =(string)node["image_depository"]; m_cparam->image_backup_days = (int)node["image_backup_days"]; m_cparam->rs_grab_xmin = (double)node["rs_grab_xmin"]; m_cparam->rs_grab_xmax = (double)node["rs_grab_xmax"]; m_cparam->rs_grab_ymin = (double)node["rs_grab_ymin"]; m_cparam->rs_grab_ymax = (double)node["rs_grab_ymax"]; m_cparam->rs_grab_zmin = (double)node["rs_grab_zmin"]; m_cparam->rs_grab_zmax = (double)node["rs_grab_zmax"]; m_cparam->rs_grab_stem_diameter = (double)node["rs_grab_stem_diameter"]; m_cparam->rs_grab_seedling_dist = (double)node["rs_grab_seedling_dist"]; m_cparam->rs_grab_stem_min_pts = (int)node["rs_grab_stem_min_pts"]; m_cparam->rs_grab_seedling_min_pts = (int)node["rs_grab_seedling_min_pts"]; m_cparam->rs_grab_ror_ratio = (double)node["rs_grab_ror_ratio"]; m_cparam->rs_grab_fork_ratio = (double)node["rs_grab_fork_ratio"]; m_cparam->rs_grab_offset = (double)node["rs_grab_offset"]; m_cparam->rs_grab_fork_yup = (double)node["rs_grab_fork_yup"]; m_cparam->rs_grab_fork_ybt = (double)node["rs_grab_fork_ybt"]; m_cparam->rs_grab_offset_cut = (double)node["rs_grab_offset_cut"]; m_cparam->rs_grab_fork_height = (double)node["rs_grab_fork_height"]; m_cparam->rs_grab_holes_number = (int)node["rs_grab_holes_number"]; m_cparam->sc_grab_xmin = (double)node["sc_grab_xmin"]; m_cparam->sc_grab_xmax = (double)node["sc_grab_xmax"]; m_cparam->sc_grab_ymin = (double)node["sc_grab_ymin"]; m_cparam->sc_grab_ymax = (double)node["sc_grab_ymax"]; m_cparam->sc_grab_zmin = (double)node["sc_grab_zmin"]; m_cparam->sc_grab_zmax = (double)node["sc_grab_zmax"]; m_cparam->sc_grab_stem_diameter = (double)node["sc_grab_stem_diameter"]; m_cparam->sc_grab_seedling_dist = (double)node["sc_grab_seedling_dist"]; m_cparam->sc_grab_stem_min_pts = (int)node["sc_grab_stem_min_pts"]; m_cparam->sc_grab_seedling_min_pts = (int)node["sc_grab_seedling_min_pts"]; m_cparam->sc_grab_ror_ratio = (double)node["sc_grab_ror_ratio"]; m_cparam->sc_grab_fork_ratio = (double)node["sc_grab_fork_ratio"]; m_cparam->sc_grab_offset_nofork = (double)node["sc_grab_offset_nofork"]; m_cparam->sc_grab_offset_bt = (double)node["sc_grab_offset_bt"]; m_cparam->sc_grab_offset_up = (double)node["sc_grab_offset_up"]; m_cparam->sc_grab_offset_normal = (double)node["sc_grab_offset_normal"]; m_cparam->sc_grab_fork_yup = (double)node["sc_grab_fork_yup"]; m_cparam->sc_grab_fork_ybt = (double)node["sc_grab_fork_ybt"]; m_cparam->sc_grab_offset_cut = (double)node["sc_grab_offset_cut"]; m_cparam->sc_grab_fork_height = (double)node["sc_grab_fork_height"]; m_cparam->sc_grab_holes_number = (int)node["sc_grab_holes_number"]; } string get_cparam_info(ConfigParam*m_cparam) { if(!m_cparam){return string("");} stringstream buff; buff << "{" << endl << "image_show:\t" << m_cparam->image_show << endl << "image_return:\t" << m_cparam->image_return << endl << "image_save:\t" << m_cparam->image_save << endl << "image_depository:\t" << m_cparam->image_depository << endl << "image_backup_days:\t" << m_cparam->image_backup_days << endl << "rs_grab_xmin:\t" << m_cparam->rs_grab_xmin << endl << "rs_grab_xmax:\t" << m_cparam->rs_grab_xmax << endl << "rs_grab_ymin:\t" << m_cparam->rs_grab_ymin << endl << "rs_grab_ymax:\t" << m_cparam->rs_grab_ymax << endl << "rs_grab_zmin:\t" << m_cparam->rs_grab_zmin << endl << "rs_grab_zmax:\t" << m_cparam->rs_grab_zmax << endl << "rs_grab_stem_diameter:\t" << m_cparam->rs_grab_stem_diameter << endl << "rs_grab_seedling_dist:\t" << m_cparam->rs_grab_seedling_dist << endl << "rs_grab_stem_min_pts:\t" << m_cparam->rs_grab_stem_min_pts << endl << "rs_grab_seedling_min_pts:\t" << m_cparam->rs_grab_seedling_min_pts << endl << "rs_grab_ror_ratio:\t" << m_cparam->rs_grab_ror_ratio << endl << "rs_grab_fork_ratio:\t" << m_cparam->rs_grab_fork_ratio << endl << "rs_grab_offset:\t" << m_cparam->rs_grab_offset << endl << "rs_grab_fork_yup:\t" << m_cparam->rs_grab_fork_yup << endl << "rs_grab_fork_ybt:\t" << m_cparam->rs_grab_fork_ybt << endl << "rs_grab_offset_cut:\t" << m_cparam->rs_grab_offset_cut<< endl << "rs_grab_fork_height:\t" << m_cparam->rs_grab_fork_height << endl << "rs_grab_holes_number:\t" << m_cparam->rs_grab_holes_number << endl << "sc_grab_xmin:\t" << m_cparam->sc_grab_xmin << endl << "sc_grab_xmax:\t" << m_cparam->sc_grab_xmax << endl << "sc_grab_ymin:\t" << m_cparam->sc_grab_ymin << endl << "sc_grab_ymax:\t" << m_cparam->sc_grab_ymax << endl << "sc_grab_zmin:\t" << m_cparam->sc_grab_zmin << endl << "sc_grab_zmax:\t" << m_cparam->sc_grab_zmax << endl << "sc_grab_stem_diameter:\t" << m_cparam->sc_grab_stem_diameter << endl << "sc_grab_seedling_dist:\t" << m_cparam->sc_grab_seedling_dist << endl << "sc_grab_stem_min_pts:\t" << m_cparam->sc_grab_stem_min_pts << endl << "sc_grab_seedling_min_pts:\t" << m_cparam->sc_grab_seedling_min_pts << endl << "sc_grab_ror_ratio:\t" << m_cparam->sc_grab_ror_ratio << endl << "sc_grab_fork_ratio:\t" << m_cparam->sc_grab_fork_ratio << endl << "sc_grab_offset_nofork:\t" << m_cparam->sc_grab_offset_nofork << endl << "sc_grab_offset_bt:\t" << m_cparam->sc_grab_offset_bt << endl << "sc_grab_offset_up:\t" << m_cparam->sc_grab_offset_up << endl << "sc_grab_offset_normal:\t" << m_cparam->sc_grab_offset_normal << endl << "sc_grab_fork_yup:\t" << m_cparam->sc_grab_fork_yup << endl << "sc_grab_fork_ybt:\t" << m_cparam->sc_grab_fork_ybt << endl << "sc_grab_offset_cut:\t" << m_cparam->sc_grab_offset_cut << endl << "sc_grab_fork_height:\t" << m_cparam->sc_grab_fork_height << endl << "sc_grab_holes_number:\t" << m_cparam->sc_grab_holes_number << endl << "}" << endl; return buff.str(); } }