#pragma once

constexpr int nr_original_correspondences = 397;
const int correspondences_original[397][2] = {
  { 0, 61 },
  { 1, 50 },
  { 2, 51 },
  { 3, 61 },
  { 4, 64 },
  { 5, 32 },
  { 6, 64 },
  { 7, 64 },
  { 8, 64 },
  { 9, 64 },
  { 10, 64 },
  { 11, 61 },
  { 12, 61 },
  { 13, 64 },
  { 14, 64 },
  { 15, 64 },
  { 16, 64 },
  { 17, 70 },
  { 18, 62 },
  { 19, 68 },
  { 20, 65 },
  { 21, 70 },
  { 22, 64 },
  { 23, 346 },
  { 24, 346 },
  { 25, 53 },
  { 26, 52 },
  { 27, 83 },
  { 28, 85 },
  { 29, 83 },
  { 30, 83 },
  { 31, 83 },
  { 32, 83 },
  { 33, 83 },
  { 34, 83 },
  { 35, 83 },
  { 36, 93 },
  { 37, 94 },
  { 38, 93 },
  { 39, 93 },
  { 40, 93 },
  { 41, 94 },
  { 42, 95 },
  { 43, 95 },
  { 44, 94 },
  { 45, 94 },
  { 46, 94 },
  { 47, 94 },
  { 48, 94 },
  { 49, 99 },
  { 50, 84 },
  { 51, 348 },
  { 52, 334 },
  { 53, 334 },
  { 54, 334 },
  { 55, 334 },
  { 56, 348 },
  { 57, 337 },
  { 58, 338 },
  { 59, 338 },
  { 60, 338 },
  { 61, 84 },
  { 62, 85 },
  { 63, 348 },
  { 64, 348 },
  { 65, 85 },
  { 66, 85 },
  { 67, 85 },
  { 68, 348 },
  { 69, 348 },
  { 70, 85 },
  { 71, 84 },
  { 72, 85 },
  { 73, 348 },
  { 74, 85 },
  { 75, 85 },
  { 76, 66 },
  { 77, 69 },
  { 78, 89 },
  { 79, 70 },
  { 80, 89 },
  { 81, 67 },
  { 82, 89 },
  { 83, 93 },
  { 84, 92 },
  { 85, 98 },
  { 86, 92 },
  { 87, 96 },
  { 88, 92 },
  { 89, 98 },
  { 90, 334 },
  { 91, 348 },
  { 92, 348 },
  { 93, 348 },
  { 94, 338 },
  { 95, 348 },
  { 96, 59 },
  { 97, 56 },
  { 98, 77 },
  { 99, 84 },
  { 100, 85 },
  { 101, 83 },
  { 102, 85 },
  { 103, 86 },
  { 104, 86 },
  { 105, 85 },
  { 106, 86 },
  { 107, 86 },
  { 108, 94 },
  { 109, 98 },
  { 110, 97 },
  { 111, 99 },
  { 112, 97 },
  { 113, 97 },
  { 114, 86 },
  { 115, 86 },
  { 116, 99 },
  { 117, 35 },
  { 118, 27 },
  { 119, 35 },
  { 120, 27 },
  { 121, 211 },
  { 122, 201 },
  { 123, 280 },
  { 124, 211 },
  { 125, 210 },
  { 126, 48 },
  { 127, 48 },
  { 128, 210 },
  { 129, 243 },
  { 130, 244 },
  { 131, 247 },
  { 132, 50 },
  { 133, 51 },
  { 134, 245 },
  { 135, 248 },
  { 136, 211 },
  { 137, 244 },
  { 138, 280 },
  { 139, 282 },
  { 140, 211 },
  { 141, 280 },
  { 142, 244 },
  { 143, 252 },
  { 144, 282 },
  { 145, 253 },
  { 146, 280 },
  { 147, 280 },
  { 148, 281 },
  { 149, 281 },
  { 150, 280 },
  { 151, 280 },
  { 152, 281 },
  { 153, 281 },
  { 154, 280 },
  { 155, 281 },
  { 156, 281 },
  { 157, 280 },
  { 158, 282 },
  { 159, 281 },
  { 160, 285 },
  { 161, 285 },
  { 162, 279 },
  { 163, 281 },
  { 164, 279 },
  { 165, 279 },
  { 166, 279 },
  { 167, 279 },
  { 168, 290 },
  { 169, 292 },
  { 170, 279 },
  { 171, 290 },
  { 172, 279 },
  { 173, 292 },
  { 174, 27 },
  { 175, 32 },
  { 176, 35 },
  { 177, 27 },
  { 178, 32 },
  { 179, 32 },
  { 180, 32 },
  { 181, 27 },
  { 182, 201 },
  { 183, 201 },
  { 184, 201 },
  { 185, 196 },
  { 186, 201 },
  { 187, 196 },
  { 188, 201 },
  { 189, 27 },
  { 190, 27 },
  { 191, 32 },
  { 192, 27 },
  { 193, 200 },
  { 194, 201 },
  { 195, 201 },
  { 196, 201 },
  { 197, 61 },
  { 198, 61 },
  { 199, 201 },
  { 200, 201 },
  { 201, 201 },
  { 202, 201 },
  { 203, 201 },
  { 204, 201 },
  { 205, 281 },
  { 206, 188 },
  { 207, 281 },
  { 208, 201 },
  { 209, 201 },
  { 210, 171 },
  { 211, 201 },
  { 212, 171 },
  { 213, 171 },
  { 214, 281 },
  { 215, 281 },
  { 216, 171 },
  { 217, 281 },
  { 218, 171 },
  { 219, 281 },
  { 220, 201 },
  { 221, 201 },
  { 222, 201 },
  { 223, 201 },
  { 224, 201 },
  { 225, 281 },
  { 226, 279 },
  { 227, 250 },
  { 228, 249 },
  { 229, 264 },
  { 230, 251 },
  { 231, 261 },
  { 232, 265 },
  { 233, 271 },
  { 234, 266 },
  { 235, 267 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 239, 255 },
  { 240, 262 },
  { 241, 257 },
  { 242, 263 },
  { 243, 272 },
  { 244, 273 },
  { 245, 275 },
  { 246, 275 },
  { 247, 271 },
  { 248, 99 },
  { 249, 271 },
  { 250, 98 },
  { 251, 99 },
  { 252, 273 },
  { 253, 276 },
  { 254, 276 },
  { 255, 276 },
  { 256, 283 },
  { 257, 285 },
  { 258, 284 },
  { 259, 300 },
  { 260, 286 },
  { 261, 300 },
  { 262, 300 },
  { 263, 275 },
  { 264, 300 },
  { 265, 291 },
  { 266, 298 },
  { 267, 292 },
  { 268, 299 },
  { 269, 291 },
  { 270, 298 },
  { 271, 299 },
  { 272, 303 },
  { 273, 304 },
  { 274, 303 },
  { 275, 303 },
  { 276, 304 },
  { 277, 304 },
  { 278, 258 },
  { 279, 264 },
  { 280, 265 },
  { 281, 271 },
  { 282, 98 },
  { 283, 99 },
  { 284, 98 },
  { 285, 99 },
  { 286, 99 },
  { 287, 99 },
  { 288, 99 },
  { 289, 99 },
  { 290, 99 },
  { 291, 276 },
  { 292, 278 },
  { 293, 276 },
  { 294, 360 },
  { 295, 359 },
  { 296, 359 },
  { 297, 359 },
  { 298, 359 },
  { 299, 359 },
  { 300, 99 },
  { 301, 99 },
  { 302, 99 },
  { 303, 359 },
  { 304, 359 },
  { 305, 360 },
  { 306, 360 },
  { 307, 294 },
  { 308, 294 },
  { 309, 295 },
  { 310, 296 },
  { 311, 277 },
  { 312, 278 },
  { 313, 302 },
  { 314, 301 },
  { 315, 278 },
  { 316, 277 },
  { 317, 302 },
  { 318, 302 },
  { 319, 304 },
  { 320, 304 },
  { 321, 360 },
  { 322, 360 },
  { 323, 304 },
  { 324, 360 },
  { 325, 278 },
  { 326, 360 },
  { 327, 360 },
  { 328, 360 },
  { 329, 360 },
  { 330, 360 },
  { 331, 360 },
  { 332, 304 },
  { 333, 304 },
  { 334, 304 },
  { 335, 360 },
  { 336, 360 },
  { 337, 360 },
  { 338, 360 },
  { 339, 360 },
  { 340, 304 },
  { 341, 304 },
  { 342, 304 },
  { 343, 304 },
  { 344, 360 },
  { 345, 304 },
  { 346, 304 },
  { 347, 353 },
  { 348, 353 },
  { 349, 335 },
  { 350, 336 },
  { 351, 353 },
  { 352, 335 },
  { 353, 349 },
  { 354, 349 },
  { 355, 352 },
  { 356, 353 },
  { 357, 353 },
  { 358, 335 },
  { 359, 334 },
  { 360, 353 },
  { 361, 353 },
  { 362, 335 },
  { 363, 334 },
  { 364, 334 },
  { 365, 334 },
  { 366, 334 },
  { 367, 334 },
  { 368, 335 },
  { 369, 335 },
  { 370, 334 },
  { 371, 338 },
  { 372, 334 },
  { 373, 348 },
  { 374, 348 },
  { 375, 348 },
  { 376, 348 },
  { 377, 348 },
  { 378, 348 },
  { 379, 348 },
  { 380, 348 },
  { 381, 334 },
  { 382, 334 },
  { 383, 334 },
  { 384, 348 },
  { 385, 334 },
  { 386, 334 },
  { 387, 348 },
  { 388, 348 },
  { 389, 348 },
  { 390, 334 },
  { 391, 353 },
  { 392, 353 },
  { 393, 356 },
  { 394, 356 },
  { 395, 353 },
  { 396, 353 },
};

constexpr int nr_reciprocal_correspondences = 53;
const int correspondences_reciprocal[53][2] = {
  { 1, 50 },
  { 2, 51 },
  { 16, 64 },
  { 17, 70 },
  { 18, 62 },
  { 19, 68 },
  { 20, 65 },
  { 24, 346 },
  { 26, 52 },
  { 71, 84 },
  { 72, 85 },
  { 73, 348 },
  { 77, 69 },
  { 78, 89 },
  { 85, 98 },
  { 108, 94 },
  { 131, 247 },
  { 143, 252 },
  { 145, 253 },
  { 158, 282 },
  { 160, 285 },
  { 168, 290 },
  { 200, 201 },
  { 210, 171 },
  { 227, 250 },
  { 228, 249 },
  { 230, 251 },
  { 231, 261 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 240, 262 },
  { 241, 257 },
  { 242, 263 },
  { 243, 272 },
  { 245, 275 },
  { 258, 284 },
  { 260, 286 },
  { 265, 291 },
  { 267, 292 },
  { 270, 298 },
  { 271, 299 },
  { 274, 303 },
  { 278, 258 },
  { 279, 264 },
  { 280, 265 },
  { 281, 271 },
  { 307, 294 },
  { 350, 336 },
  { 351, 353 },
  { 352, 335 },
  { 355, 352 },
  { 366, 334 },
};

constexpr int nr_correspondences_result_rej_dist = 97;
constexpr float rej_dist_max_dist = 0.01f;
const int correspondences_dist[97][2] = {
  { 1, 50 },
  { 2, 51 },
  { 10, 64 },
  { 12, 61 },
  { 14, 64 },
  { 16, 64 },
  { 17, 70 },
  { 18, 62 },
  { 19, 68 },
  { 20, 65 },
  { 21, 70 },
  { 24, 346 },
  { 25, 53 },
  { 26, 52 },
  { 30, 83 },
  { 40, 93 },
  { 50, 84 },
  { 51, 348 },
  { 71, 84 },
  { 72, 85 },
  { 73, 348 },
  { 75, 85 },
  { 76, 66 },
  { 77, 69 },
  { 78, 89 },
  { 83, 93 },
  { 84, 92 },
  { 85, 98 },
  { 91, 348 },
  { 101, 83 },
  { 108, 94 },
  { 109, 98 },
  { 131, 247 },
  { 133, 51 },
  { 135, 248 },
  { 143, 252 },
  { 145, 253 },
  { 157, 280 },
  { 158, 282 },
  { 159, 281 },
  { 160, 285 },
  { 161, 285 },
  { 167, 279 },
  { 168, 290 },
  { 169, 292 },
  { 171, 290 },
  { 227, 250 },
  { 228, 249 },
  { 229, 264 },
  { 230, 251 },
  { 231, 261 },
  { 232, 265 },
  { 234, 266 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 239, 255 },
  { 240, 262 },
  { 241, 257 },
  { 242, 263 },
  { 243, 272 },
  { 245, 275 },
  { 256, 283 },
  { 257, 285 },
  { 258, 284 },
  { 259, 300 },
  { 260, 286 },
  { 261, 300 },
  { 265, 291 },
  { 266, 298 },
  { 267, 292 },
  { 268, 299 },
  { 269, 291 },
  { 270, 298 },
  { 271, 299 },
  { 272, 303 },
  { 274, 303 },
  { 278, 258 },
  { 279, 264 },
  { 280, 265 },
  { 281, 271 },
  { 282, 98 },
  { 307, 294 },
  { 308, 294 },
  { 309, 295 },
  { 310, 296 },
  { 317, 302 },
  { 318, 302 },
  { 348, 353 },
  { 349, 335 },
  { 350, 336 },
  { 351, 353 },
  { 352, 335 },
  { 355, 352 },
  { 364, 334 },
  { 366, 334 },
  { 367, 334 },
};

constexpr int nr_correspondences_result_rej_median_dist = 139;
constexpr float rej_median_factor = 0.5f;
constexpr float rej_median_distance = 0.000465391f;
const int correspondences_median_dist[139][2] = {
  { 0, 61 },
  { 1, 50 },
  { 2, 51 },
  { 9, 64 },
  { 10, 64 },
  { 12, 61 },
  { 14, 64 },
  { 16, 64 },
  { 17, 70 },
  { 18, 62 },
  { 19, 68 },
  { 20, 65 },
  { 21, 70 },
  { 23, 346 },
  { 24, 346 },
  { 25, 53 },
  { 26, 52 },
  { 28, 85 },
  { 30, 83 },
  { 40, 93 },
  { 42, 95 },
  { 50, 84 },
  { 51, 348 },
  { 55, 334 },
  { 56, 348 },
  { 61, 84 },
  { 63, 348 },
  { 71, 84 },
  { 72, 85 },
  { 73, 348 },
  { 75, 85 },
  { 76, 66 },
  { 77, 69 },
  { 78, 89 },
  { 79, 70 },
  { 81, 67 },
  { 82, 89 },
  { 83, 93 },
  { 84, 92 },
  { 85, 98 },
  { 87, 96 },
  { 88, 92 },
  { 89, 98 },
  { 91, 348 },
  { 93, 348 },
  { 95, 348 },
  { 99, 84 },
  { 101, 83 },
  { 108, 94 },
  { 109, 98 },
  { 130, 244 },
  { 131, 247 },
  { 132, 50 },
  { 133, 51 },
  { 134, 245 },
  { 135, 248 },
  { 142, 244 },
  { 143, 252 },
  { 144, 282 },
  { 145, 253 },
  { 157, 280 },
  { 158, 282 },
  { 159, 281 },
  { 160, 285 },
  { 161, 285 },
  { 167, 279 },
  { 168, 290 },
  { 169, 292 },
  { 170, 279 },
  { 171, 290 },
  { 173, 292 },
  { 227, 250 },
  { 228, 249 },
  { 229, 264 },
  { 230, 251 },
  { 231, 261 },
  { 232, 265 },
  { 233, 271 },
  { 234, 266 },
  { 235, 267 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 239, 255 },
  { 240, 262 },
  { 241, 257 },
  { 242, 263 },
  { 243, 272 },
  { 244, 273 },
  { 245, 275 },
  { 246, 275 },
  { 247, 271 },
  { 256, 283 },
  { 257, 285 },
  { 258, 284 },
  { 259, 300 },
  { 260, 286 },
  { 261, 300 },
  { 262, 300 },
  { 263, 275 },
  { 264, 300 },
  { 265, 291 },
  { 266, 298 },
  { 267, 292 },
  { 268, 299 },
  { 269, 291 },
  { 270, 298 },
  { 271, 299 },
  { 272, 303 },
  { 273, 304 },
  { 274, 303 },
  { 275, 303 },
  { 278, 258 },
  { 279, 264 },
  { 280, 265 },
  { 281, 271 },
  { 282, 98 },
  { 307, 294 },
  { 308, 294 },
  { 309, 295 },
  { 310, 296 },
  { 311, 277 },
  { 312, 278 },
  { 313, 302 },
  { 317, 302 },
  { 318, 302 },
  { 348, 353 },
  { 349, 335 },
  { 350, 336 },
  { 351, 353 },
  { 352, 335 },
  { 354, 349 },
  { 355, 352 },
  { 361, 353 },
  { 364, 334 },
  { 365, 334 },
  { 366, 334 },
  { 367, 334 },
  { 368, 335 },
};

constexpr int nr_correspondences_result_rej_one_to_one = 103;
const int correspondences_one_to_one[103][2] = {
  { 177, 27 },
  { 180, 32 },
  { 117, 35 },
  { 127, 48 },
  { 1, 50 },
  { 2, 51 },
  { 26, 52 },
  { 25, 53 },
  { 97, 56 },
  { 96, 59 },
  { 12, 61 },
  { 18, 62 },
  { 16, 64 },
  { 20, 65 },
  { 76, 66 },
  { 81, 67 },
  { 19, 68 },
  { 77, 69 },
  { 17, 70 },
  { 98, 77 },
  { 101, 83 },
  { 71, 84 },
  { 72, 85 },
  { 104, 86 },
  { 78, 89 },
  { 84, 92 },
  { 83, 93 },
  { 108, 94 },
  { 42, 95 },
  { 87, 96 },
  { 110, 97 },
  { 85, 98 },
  { 283, 99 },
  { 210, 171 },
  { 206, 188 },
  { 185, 196 },
  { 193, 200 },
  { 200, 201 },
  { 125, 210 },
  { 124, 211 },
  { 129, 243 },
  { 130, 244 },
  { 134, 245 },
  { 131, 247 },
  { 135, 248 },
  { 228, 249 },
  { 227, 250 },
  { 230, 251 },
  { 143, 252 },
  { 145, 253 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 241, 257 },
  { 278, 258 },
  { 231, 261 },
  { 240, 262 },
  { 242, 263 },
  { 279, 264 },
  { 280, 265 },
  { 234, 266 },
  { 235, 267 },
  { 281, 271 },
  { 243, 272 },
  { 244, 273 },
  { 245, 275 },
  { 254, 276 },
  { 311, 277 },
  { 312, 278 },
  { 167, 279 },
  { 157, 280 },
  { 159, 281 },
  { 158, 282 },
  { 256, 283 },
  { 258, 284 },
  { 160, 285 },
  { 260, 286 },
  { 168, 290 },
  { 265, 291 },
  { 267, 292 },
  { 307, 294 },
  { 309, 295 },
  { 310, 296 },
  { 270, 298 },
  { 271, 299 },
  { 259, 300 },
  { 314, 301 },
  { 317, 302 },
  { 274, 303 },
  { 273, 304 },
  { 366, 334 },
  { 352, 335 },
  { 350, 336 },
  { 57, 337 },
  { 60, 338 },
  { 24, 346 },
  { 73, 348 },
  { 354, 349 },
  { 355, 352 },
  { 351, 353 },
  { 394, 356 },
  { 296, 359 },
  { 327, 360 },
};

constexpr int nr_correspondences_result_rej_sac = 97;
constexpr double rej_sac_max_dist = 0.01;
constexpr int rej_sac_max_iter = 1000;
const int correspondences_sac[97][2] = {
  { 1, 50 },
  { 2, 51 },
  { 17, 70 },
  { 18, 62 },
  { 19, 68 },
  { 21, 70 },
  { 25, 53 },
  { 26, 52 },
  { 30, 83 },
  { 40, 93 },
  { 41, 94 },
  { 51, 348 },
  { 55, 334 },
  { 71, 84 },
  { 72, 85 },
  { 73, 348 },
  { 76, 66 },
  { 77, 69 },
  { 78, 89 },
  { 79, 70 },
  { 81, 67 },
  { 84, 92 },
  { 90, 334 },
  { 96, 59 },
  { 99, 84 },
  { 108, 94 },
  { 109, 98 },
  { 125, 210 },
  { 130, 244 },
  { 131, 247 },
  { 132, 50 },
  { 133, 51 },
  { 134, 245 },
  { 135, 248 },
  { 142, 244 },
  { 143, 252 },
  { 145, 253 },
  { 158, 282 },
  { 159, 281 },
  { 160, 285 },
  { 161, 285 },
  { 167, 279 },
  { 168, 290 },
  { 169, 292 },
  { 170, 279 },
  { 171, 290 },
  { 227, 250 },
  { 228, 249 },
  { 229, 264 },
  { 230, 251 },
  { 231, 261 },
  { 232, 265 },
  { 233, 271 },
  { 234, 266 },
  { 235, 267 },
  { 236, 254 },
  { 237, 255 },
  { 238, 256 },
  { 239, 255 },
  { 240, 262 },
  { 241, 257 },
  { 242, 263 },
  { 243, 272 },
  { 244, 273 },
  { 245, 275 },
  { 246, 275 },
  { 247, 271 },
  { 256, 283 },
  { 257, 285 },
  { 258, 284 },
  { 259, 300 },
  { 260, 286 },
  { 261, 300 },
  { 262, 300 },
  { 263, 275 },
  { 264, 300 },
  { 265, 291 },
  { 266, 298 },
  { 267, 292 },
  { 268, 299 },
  { 269, 291 },
  { 270, 298 },
  { 271, 299 },
  { 274, 303 },
  { 278, 258 },
  { 279, 264 },
  { 280, 265 },
  { 281, 271 },
  { 282, 98 },
  { 307, 294 },
  { 308, 294 },
  { 309, 295 },
  { 310, 296 },
  { 311, 277 },
  { 312, 278 },
  { 367, 334 },
  { 390, 334 },
};

constexpr int nr_correspondences_result_rej_trimmed = 198;
constexpr float rej_trimmed_overlap = 0.5;
const int correspondences_trimmed[198][2] = {
  { 260, 286 },
  { 271, 299 },
  { 241, 257 },
  { 240, 262 },
  { 236, 254 },
  { 158, 282 },
  { 231, 261 },
  { 307, 294 },
  { 350, 336 },
  { 352, 335 },
  { 366, 334 },
  { 351, 353 },
  { 349, 335 },
  { 160, 285 },
  { 145, 253 },
  { 258, 284 },
  { 71, 84 },
  { 308, 294 },
  { 242, 263 },
  { 108, 94 },
  { 161, 285 },
  { 270, 298 },
  { 227, 250 },
  { 237, 255 },
  { 267, 292 },
  { 279, 264 },
  { 72, 85 },
  { 239, 255 },
  { 259, 300 },
  { 143, 252 },
  { 73, 348 },
  { 274, 303 },
  { 238, 256 },
  { 229, 264 },
  { 17, 70 },
  { 257, 285 },
  { 355, 352 },
  { 256, 283 },
  { 131, 247 },
  { 243, 272 },
  { 20, 65 },
  { 168, 290 },
  { 265, 291 },
  { 16, 64 },
  { 280, 265 },
  { 84, 92 },
  { 19, 68 },
  { 230, 251 },
  { 77, 69 },
  { 234, 266 },
  { 278, 258 },
  { 269, 291 },
  { 281, 271 },
  { 18, 62 },
  { 309, 295 },
  { 101, 83 },
  { 85, 98 },
  { 317, 302 },
  { 232, 265 },
  { 228, 249 },
  { 171, 290 },
  { 78, 89 },
  { 26, 52 },
  { 169, 292 },
  { 109, 98 },
  { 266, 298 },
  { 268, 299 },
  { 24, 346 },
  { 21, 70 },
  { 83, 93 },
  { 2, 51 },
  { 245, 275 },
  { 76, 66 },
  { 159, 281 },
  { 10, 64 },
  { 272, 303 },
  { 51, 348 },
  { 133, 51 },
  { 14, 64 },
  { 40, 93 },
  { 75, 85 },
  { 135, 248 },
  { 157, 280 },
  { 50, 84 },
  { 167, 279 },
  { 318, 302 },
  { 91, 348 },
  { 348, 353 },
  { 364, 334 },
  { 25, 53 },
  { 1, 50 },
  { 12, 61 },
  { 261, 300 },
  { 310, 296 },
  { 367, 334 },
  { 282, 98 },
  { 30, 83 },
  { 233, 271 },
  { 368, 335 },
  { 262, 300 },
  { 354, 349 },
  { 130, 244 },
  { 173, 292 },
  { 23, 346 },
  { 99, 84 },
  { 42, 95 },
  { 88, 92 },
  { 82, 89 },
  { 89, 98 },
  { 81, 67 },
  { 0, 61 },
  { 93, 348 },
  { 244, 273 },
  { 263, 275 },
  { 235, 267 },
  { 132, 50 },
  { 311, 277 },
  { 144, 282 },
  { 79, 70 },
  { 246, 275 },
  { 264, 300 },
  { 56, 348 },
  { 55, 334 },
  { 61, 84 },
  { 87, 96 },
  { 313, 302 },
  { 142, 244 },
  { 63, 348 },
  { 170, 279 },
  { 134, 245 },
  { 28, 85 },
  { 247, 271 },
  { 275, 303 },
  { 361, 353 },
  { 365, 334 },
  { 95, 348 },
  { 273, 304 },
  { 312, 278 },
  { 9, 64 },
  { 68, 348 },
  { 36, 93 },
  { 74, 85 },
  { 41, 94 },
  { 162, 279 },
  { 390, 334 },
  { 198, 61 },
  { 369, 335 },
  { 319, 304 },
  { 153, 281 },
  { 92, 348 },
  { 38, 93 },
  { 80, 89 },
  { 353, 349 },
  { 362, 335 },
  { 90, 334 },
  { 60, 338 },
  { 172, 279 },
  { 96, 59 },
  { 86, 92 },
  { 372, 334 },
  { 13, 64 },
  { 151, 280 },
  { 31, 83 },
  { 347, 353 },
  { 11, 61 },
  { 283, 99 },
  { 59, 338 },
  { 94, 338 },
  { 125, 210 },
  { 127, 48 },
  { 314, 301 },
  { 69, 348 },
  { 22, 64 },
  { 315, 278 },
  { 54, 334 },
  { 249, 271 },
  { 360, 353 },
  { 100, 85 },
  { 29, 83 },
  { 129, 243 },
  { 248, 99 },
  { 43, 95 },
  { 137, 244 },
  { 37, 94 },
  { 358, 335 },
  { 62, 85 },
  { 164, 279 },
  { 252, 273 },
  { 254, 276 },
  { 320, 304 },
  { 276, 304 },
  { 139, 282 },
  { 97, 56 },
  { 325, 278 },
  { 316, 277 },
  { 52, 334 },
  { 359, 334 },
  { 27, 83 }
};

// Reference transformation for the transformation estimation (some arbitrary values)
const Eigen::Quaternionf   R_ref = Eigen::Quaternionf (.9f, .1f, -.25f, .15f).normalized ();
const Eigen::Translation3f t_ref = Eigen::Translation3f (.5f, -2.f, 1.f);
const Eigen::Affine3f      T_ref = Eigen::Affine3f (t_ref * R_ref);

const float transform_from_SAC[4][4] = {
  { 0.948507f, -0.0486455f, -0.312997f, 0.0176326f },
  { 0.0276543f, 0.997081f, -0.0711611f, 0.00672534f },
  { 0.315546f, 0.0588411f, 0.947084f, 0.00613246f },
  { 0.0f, 0.0f, 0.0f, 1.0f }
};

//const float transform_from_SVD[4][4] = {
//  { 0.973177f, -0.0808924f, -0.215366f, 0.0155407f },
//  { 0.0824616f, 0.996593f, -0.0017039f, 0.00217915f },
//  { 0.21477f, -0.0161013f, 0.976532f, 0.00908635f },
//  { 0.0f, 0.0f, 0.0f, 1.0f }
//};

//const float transform_from_LM[4][4] = {
//  { 0.973034f, -0.00984137f, -0.230452f, 0.0102057f },
//  { 0.0343427f, 0.994135f, 0.10255f, -0.00631323f },
//  { 0.228091f, -0.107699f, 0.967665f, 0.0183277f },
//  { 0.0f, 0.0f, 0.0f, 1.0f }
//};
