29 #include <boost/lexical_cast.hpp>
47 : m_weight_type(weight_type)
49 assert(cell_size.
size() > 0 && cell_size.
size() <= 2);
50 assert(smoothing_box.
size() > 0 && smoothing_box.
size() <= 2);
66 bck_model_logger.
debug() <<
"\tMask image with size: (" << mask->getWidth() <<
"," << mask->getHeight() <<
")";
69 if (image->getWidth()!=mask->getWidth())
70 throw Elements::Exception() <<
"X-dims do not match: image=" << image->getWidth() <<
" mask=" << mask->getWidth();
71 if (image->getHeight()!=mask->getHeight())
72 throw Elements::Exception() <<
"Y-dims do not match: image=" << image->getHeight() <<
" mask=" << mask->getHeight();
75 if (variance_map!=
nullptr)
77 bck_model_logger.
debug() <<
"\tVariance image with size: (" << variance_map->getWidth() <<
"," << variance_map->getHeight() <<
")";
79 if (image->getWidth()!=variance_map->getWidth())
80 throw Elements::Exception() <<
"X-dims do not match: image=" << image->getWidth() <<
" variance=" << variance_map->getWidth();
81 if (image->getHeight()!=variance_map->getHeight())
82 throw Elements::Exception() <<
"Y-dims do not match: image=" << image->getHeight() <<
" variance=" << variance_map->getHeight();
88 auto bck_model =
fromSE2Modeller(image, variance_map, mask, variance_threshold, bck_median, var_median);
91 bck_model_logger.
info() <<
"Background for image: " << image->getRepr() <<
" median: " << bck_median <<
" rms: " <<
sqrt(var_median) <<
"!";
109 bck_modeller->createSE2Models(splModelBckPtr, splModelVarPtr, sigFac, bckCellSize, variance_threshold, filterBoxSize);
112 bck_median = splModelBckPtr->getMedian();
113 var_median = splModelVarPtr->getMedian();
115 auto medianVariance = splModelVarPtr->getMedian();