20 std::shared_ptr< std::vector<int> > validated) {
22 std::stringstream html_string;
23 html_string <<
"<table><tr>";
24 html_string <<
"<td><img src='" << dataset.
location(dataset.
image(query_id)->location()) <<
"' /></td><td> </td>";
26 std::shared_ptr<Image> image = dataset.
image(match_ids[i]);
27 const std::string &impath = dataset.
location(image->location());
28 if(validated ==
nullptr || i >= validated->size()) {
29 html_string <<
"<td><img src='" << impath <<
"' /></td>";
31 std::stringstream borderstr;
32 borderstr <<
"border: 1px solid " << ((*validated)[i] > 0 ?
"green" : ((*validated)[i] == 0 ?
"black" :
"red"));
33 html_string <<
"<td><img src='" << impath <<
"' style='" << borderstr.str() <<
"' /></td>";
36 html_string <<
"</tr></table>";
46 const std::string stylesheet_string = this->
stylesheet();
51 std::stringstream current_page_str;
52 current_page_str <<
header();
58 current_page_str <<
footer();
65 std::stringstream current_page_name;
66 current_page_name <<
"matches_" << std::setw(5) << std::setfill(
'0') << cur_page <<
".html";
67 return current_page_name.str();
71 std::string stylesheet_str = R
"(
body {
margin: 0px;
color : #fcfcfc;
background: #111;
font-size: 14px;
font-family: sans-serif;
}
table {
margin: 5px;
border: 2px solid #fcfcfc;
border-spacing: 0;
border-collapse: collapse;
}
a {
color: #fff;
text-decoration: none;
font-weight: bold;
}
img {
height: 120px;
}
)";
72 return stylesheet_str;
76 std::string header_str = R
"(
<html>
<head>
<link rel='stylesheet' type='text/css' href=')" + s_stylesheet_name + R"(' />
</head>
<body>
)";
81 std::string footer_str = R
"(
</body>
</html>
)";
86 std::stringstream navbar_str;
87 navbar_str <<
"<table><tr>";
88 for(uint32_t i=0; i<max_pages; i++) {
89 navbar_str <<
"<td><a href='" <<
pagename(i) <<
"'>" << i <<
"</a></td>";
91 navbar_str <<
"</tr></table>";
92 return navbar_str.str();