113 return { {
"Assoc config", {
115 "Assoc catalog file"},
116 {
ASSOC_COLUMNS.c_str(), po::value<std::string>()->default_value(
"1,2"),
117 "Assoc columns to specify x/ra,y/dec[,weight] (the index of the first column is 1)"},
118 {
ASSOC_MODE.c_str(), po::value<std::string>()->default_value(
"NEAREST"),
119 "Assoc mode [FIRST, NEAREST, MEAN, MAG_MEAN, SUM, MAG_SUM, MIN, MAX]"},
120 {
ASSOC_RADIUS.c_str(), po::value<double>()->default_value(2.0),
121 "Assoc radius (Always in pixels of the detection image)"},
122 {
ASSOC_FILTER.c_str(), po::value<std::string>()->default_value(
"ALL"),
123 "Assoc catalog filter setting: ALL, MATCHED, UNMATCHED"},
124 {
ASSOC_COPY.c_str(), po::value<std::string>()->default_value(
""),
125 "List of columns indices in the assoc catalog to copy on match (the index of the first column is 1). "},
126 {
ASSOC_COORD_TYPE.c_str(), po::value<std::string>()->default_value(
"PIXEL"),
127 "Assoc coordinates type: PIXEL, WORLD"},
129 "Column containing the source sizes (in reference frame pixels)"},
131 "Default source size (in reference frame pixels)"},
133 "Column containing the group id"},
135 "Text file containing the assoc columns configuration"},
137 "Prints the assoc configuration and quits"},
340 for (
auto&
row : table) {
362 catalog.emplace_back(
CatalogEntry { coord, world_coord, 1.0, {}, 1.0, 0 });
367 if (
column >=
static_cast<int>(
row.size())) {
371 catalog.back().assoc_columns.emplace_back(boost::get<int>(
row[
column]));
372 }
else if (
row[
column].type() ==
typeid(
double)) {
373 catalog.back().assoc_columns.emplace_back(boost::get<double>(
row[
column]));
375 catalog.back().assoc_columns.emplace_back(boost::get<int64_t>(
row[
column]));
377 catalog.back().assoc_columns.emplace_back(boost::get<SeFloat>(
row[
column]));