From 113f34cc98457f135456578ccdde3eb9430da261 Mon Sep 17 00:00:00 2001 From: froejdh_e Date: Thu, 10 Apr 2025 16:50:04 +0200 Subject: [PATCH 1/4] fixes --- include/aare/ClusterFile.hpp | 2 +- include/aare/ClusterVector.hpp | 2 +- python/src/cluster.hpp | 3 +- python/src/np_helper.hpp | 4 +- src/ClusterFile.test.cpp | 114 +++++++++++++++++++++++++++++++++ src/ClusterVector.test.cpp | 24 +++++++ 6 files changed, 144 insertions(+), 5 deletions(-) diff --git a/include/aare/ClusterFile.hpp b/include/aare/ClusterFile.hpp index ff5d338..7248dc2 100644 --- a/include/aare/ClusterFile.hpp +++ b/include/aare/ClusterFile.hpp @@ -236,7 +236,7 @@ ClusterFile::read_clusters_without_cut(size_t n_clusters) { uint32_t nph = m_num_left; // number of clusters in frame needs to be 4 // auto buf = reinterpret_cast(clusters.data()); - auto buf = clusters.data(); + auto buf = reinterpret_cast(clusters.data()); // if there are photons left from previous frame read them first if (nph) { if (nph > n_clusters) { diff --git a/include/aare/ClusterVector.hpp b/include/aare/ClusterVector.hpp index 13ec882..eae2118 100644 --- a/include/aare/ClusterVector.hpp +++ b/include/aare/ClusterVector.hpp @@ -299,7 +299,7 @@ class ClusterVector> { */ ClusterVector(size_t capacity = 1024, uint64_t frame_number = 0) : m_frame_number(frame_number) { - m_data.reserve(capacity); + m_data.resize(capacity); } // Move constructor diff --git a/python/src/cluster.hpp b/python/src/cluster.hpp index f6d3636..755f595 100644 --- a/python/src/cluster.hpp +++ b/python/src/cluster.hpp @@ -80,11 +80,12 @@ void define_cluster_vector(py::module &m, const std::string &typestr) { self.push_back(cluster); }) + // implement push_back .def_property_readonly("size", &ClusterVector::size) .def("item_size", &ClusterVector::item_size) .def_property_readonly("fmt", - [typestr]() { return fmt_format; }) + [typestr](ClusterVector &self) { return fmt_format; }) .def_property_readonly("cluster_size_x", &ClusterVector::cluster_size_x) diff --git a/python/src/np_helper.hpp b/python/src/np_helper.hpp index 98be52f..3d3ee3c 100644 --- a/python/src/np_helper.hpp +++ b/python/src/np_helper.hpp @@ -74,10 +74,10 @@ template > { static std::string value() { - return fmt::format("T{{{}:x;{}:y;{}:data;}}", + return fmt::format("T{{{}:x:{}:y:{}:data:}}", py::format_descriptor::format(), py::format_descriptor::format(), - fmt::format("{}{}", ClusterSizeX * ClusterSizeY, + fmt::format("({},{}){}", ClusterSizeX, ClusterSizeY, py::format_descriptor::format())); } }; diff --git a/src/ClusterFile.test.cpp b/src/ClusterFile.test.cpp index f689b69..d5fdf7c 100644 --- a/src/ClusterFile.test.cpp +++ b/src/ClusterFile.test.cpp @@ -47,6 +47,106 @@ TEST_CASE("Read one frame using ROI", "[.files]") { TEST_CASE("Read clusters from single frame file", "[.files]") { +// frame_number, num_clusters [135] 97 +// [ 1 200] [0 1 2 3 4 5 6 7 8] +// [ 2 201] [ 9 10 11 12 13 14 15 16 17] +// [ 3 202] [18 19 20 21 22 23 24 25 26] +// [ 4 203] [27 28 29 30 31 32 33 34 35] +// [ 5 204] [36 37 38 39 40 41 42 43 44] +// [ 6 205] [45 46 47 48 49 50 51 52 53] +// [ 7 206] [54 55 56 57 58 59 60 61 62] +// [ 8 207] [63 64 65 66 67 68 69 70 71] +// [ 9 208] [72 73 74 75 76 77 78 79 80] +// [ 10 209] [81 82 83 84 85 86 87 88 89] +// [ 11 210] [90 91 92 93 94 95 96 97 98] +// [ 12 211] [ 99 100 101 102 103 104 105 106 107] +// [ 13 212] [108 109 110 111 112 113 114 115 116] +// [ 14 213] [117 118 119 120 121 122 123 124 125] +// [ 15 214] [126 127 128 129 130 131 132 133 134] +// [ 16 215] [135 136 137 138 139 140 141 142 143] +// [ 17 216] [144 145 146 147 148 149 150 151 152] +// [ 18 217] [153 154 155 156 157 158 159 160 161] +// [ 19 218] [162 163 164 165 166 167 168 169 170] +// [ 20 219] [171 172 173 174 175 176 177 178 179] +// [ 21 220] [180 181 182 183 184 185 186 187 188] +// [ 22 221] [189 190 191 192 193 194 195 196 197] +// [ 23 222] [198 199 200 201 202 203 204 205 206] +// [ 24 223] [207 208 209 210 211 212 213 214 215] +// [ 25 224] [216 217 218 219 220 221 222 223 224] +// [ 26 225] [225 226 227 228 229 230 231 232 233] +// [ 27 226] [234 235 236 237 238 239 240 241 242] +// [ 28 227] [243 244 245 246 247 248 249 250 251] +// [ 29 228] [252 253 254 255 256 257 258 259 260] +// [ 30 229] [261 262 263 264 265 266 267 268 269] +// [ 31 230] [270 271 272 273 274 275 276 277 278] +// [ 32 231] [279 280 281 282 283 284 285 286 287] +// [ 33 232] [288 289 290 291 292 293 294 295 296] +// [ 34 233] [297 298 299 300 301 302 303 304 305] +// [ 35 234] [306 307 308 309 310 311 312 313 314] +// [ 36 235] [315 316 317 318 319 320 321 322 323] +// [ 37 236] [324 325 326 327 328 329 330 331 332] +// [ 38 237] [333 334 335 336 337 338 339 340 341] +// [ 39 238] [342 343 344 345 346 347 348 349 350] +// [ 40 239] [351 352 353 354 355 356 357 358 359] +// [ 41 240] [360 361 362 363 364 365 366 367 368] +// [ 42 241] [369 370 371 372 373 374 375 376 377] +// [ 43 242] [378 379 380 381 382 383 384 385 386] +// [ 44 243] [387 388 389 390 391 392 393 394 395] +// [ 45 244] [396 397 398 399 400 401 402 403 404] +// [ 46 245] [405 406 407 408 409 410 411 412 413] +// [ 47 246] [414 415 416 417 418 419 420 421 422] +// [ 48 247] [423 424 425 426 427 428 429 430 431] +// [ 49 248] [432 433 434 435 436 437 438 439 440] +// [ 50 249] [441 442 443 444 445 446 447 448 449] +// [ 51 250] [450 451 452 453 454 455 456 457 458] +// [ 52 251] [459 460 461 462 463 464 465 466 467] +// [ 53 252] [468 469 470 471 472 473 474 475 476] +// [ 54 253] [477 478 479 480 481 482 483 484 485] +// [ 55 254] [486 487 488 489 490 491 492 493 494] +// [ 56 255] [495 496 497 498 499 500 501 502 503] +// [ 57 256] [504 505 506 507 508 509 510 511 512] +// [ 58 257] [513 514 515 516 517 518 519 520 521] +// [ 59 258] [522 523 524 525 526 527 528 529 530] +// [ 60 259] [531 532 533 534 535 536 537 538 539] +// [ 61 260] [540 541 542 543 544 545 546 547 548] +// [ 62 261] [549 550 551 552 553 554 555 556 557] +// [ 63 262] [558 559 560 561 562 563 564 565 566] +// [ 64 263] [567 568 569 570 571 572 573 574 575] +// [ 65 264] [576 577 578 579 580 581 582 583 584] +// [ 66 265] [585 586 587 588 589 590 591 592 593] +// [ 67 266] [594 595 596 597 598 599 600 601 602] +// [ 68 267] [603 604 605 606 607 608 609 610 611] +// [ 69 268] [612 613 614 615 616 617 618 619 620] +// [ 70 269] [621 622 623 624 625 626 627 628 629] +// [ 71 270] [630 631 632 633 634 635 636 637 638] +// [ 72 271] [639 640 641 642 643 644 645 646 647] +// [ 73 272] [648 649 650 651 652 653 654 655 656] +// [ 74 273] [657 658 659 660 661 662 663 664 665] +// [ 75 274] [666 667 668 669 670 671 672 673 674] +// [ 76 275] [675 676 677 678 679 680 681 682 683] +// [ 77 276] [684 685 686 687 688 689 690 691 692] +// [ 78 277] [693 694 695 696 697 698 699 700 701] +// [ 79 278] [702 703 704 705 706 707 708 709 710] +// [ 80 279] [711 712 713 714 715 716 717 718 719] +// [ 81 280] [720 721 722 723 724 725 726 727 728] +// [ 82 281] [729 730 731 732 733 734 735 736 737] +// [ 83 282] [738 739 740 741 742 743 744 745 746] +// [ 84 283] [747 748 749 750 751 752 753 754 755] +// [ 85 284] [756 757 758 759 760 761 762 763 764] +// [ 86 285] [765 766 767 768 769 770 771 772 773] +// [ 87 286] [774 775 776 777 778 779 780 781 782] +// [ 88 287] [783 784 785 786 787 788 789 790 791] +// [ 89 288] [792 793 794 795 796 797 798 799 800] +// [ 90 289] [801 802 803 804 805 806 807 808 809] +// [ 91 290] [810 811 812 813 814 815 816 817 818] +// [ 92 291] [819 820 821 822 823 824 825 826 827] +// [ 93 292] [828 829 830 831 832 833 834 835 836] +// [ 94 293] [837 838 839 840 841 842 843 844 845] +// [ 95 294] [846 847 848 849 850 851 852 853 854] +// [ 96 295] [855 856 857 858 859 860 861 862 863] +// [ 97 296] [864 865 866 867 868 869 870 871 872] + + auto fpath = test_data_path() / "clust" / "single_frame_97_clustrers.clust"; REQUIRE(std::filesystem::exists(fpath)); @@ -68,5 +168,19 @@ TEST_CASE("Read clusters from single frame file", "[.files]") { auto clusters = f.read_clusters(97); REQUIRE(clusters.size() == 97); REQUIRE(clusters.frame_number() == 135); + + REQUIRE(clusters.at(0).x == 1); + REQUIRE(clusters.at(0).y == 200); } } + + + +TEST_CASE("Read clusters", "[.files]"){ + // beam_En700eV_-40deg_300V_10us_d0_f0_100.clust + auto fpath = test_data_path() / "clust" / "beam_En700eV_-40deg_300V_10us_d0_f0_100.clust"; + REQUIRE(std::filesystem::exists(fpath)); + + ClusterFile> f(fpath); + auto clusters = f.read_clusters(500); +} diff --git a/src/ClusterVector.test.cpp b/src/ClusterVector.test.cpp index 1880355..5a5abe0 100644 --- a/src/ClusterVector.test.cpp +++ b/src/ClusterVector.test.cpp @@ -8,6 +8,30 @@ using aare::Cluster; using aare::ClusterVector; + +TEST_CASE("item_size return the size of the cluster stored"){ + using C1 = Cluster; + ClusterVector cv(4); + CHECK(cv.item_size() == sizeof(C1)); + + //Sanity check + //2*2*4 = 16 bytes of data for the cluster + // 2*2 = 4 bytes for the x and y coordinates + REQUIRE(cv.item_size() == 20); + + using C2 = Cluster; + ClusterVector cv2(4); + CHECK(cv2.item_size() == sizeof(C2)); + + using C3 = Cluster; + ClusterVector cv3(4); + CHECK(cv3.item_size() == sizeof(C3)); + + using C4 = Cluster; + ClusterVector cv4(4); + CHECK(cv4.item_size() == sizeof(C4)); +} + TEST_CASE("ClusterVector 2x2 int32_t capacity 4, push back then read", "[.ClusterVector]") { From 92f5421481c05634fd54e018245d8f5530721f28 Mon Sep 17 00:00:00 2001 From: froejdh_e Date: Thu, 10 Apr 2025 16:58:47 +0200 Subject: [PATCH 2/4] np test --- python/tests/test_Cluster.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/python/tests/test_Cluster.py b/python/tests/test_Cluster.py index 29d5ad9..e24bcf8 100644 --- a/python/tests/test_Cluster.py +++ b/python/tests/test_Cluster.py @@ -5,6 +5,12 @@ import aare._aare as aare from conftest import test_data_path +def test_cluster_vector_can_be_converted_to_numpy(): + cv = aare.ClusterVector_Cluster3x3i() + arr = np.array(cv, copy=False) + assert arr.shape == (0,) # 4 for x, y, size, energy and 9 for the cluster data + + def test_ClusterVector(): """Test ClusterVector""" From e71569b15ec3385212fcbb5b6ec6fc8dea6c0386 Mon Sep 17 00:00:00 2001 From: froejdh_e Date: Fri, 11 Apr 2025 13:38:33 +0200 Subject: [PATCH 3/4] resize before read --- include/aare/ClusterFile.hpp | 3 ++- include/aare/ClusterVector.hpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/aare/ClusterFile.hpp b/include/aare/ClusterFile.hpp index 7248dc2..f58d2d6 100644 --- a/include/aare/ClusterFile.hpp +++ b/include/aare/ClusterFile.hpp @@ -229,6 +229,7 @@ ClusterFile::read_clusters_without_cut(size_t n_clusters) { } ClusterVector clusters(n_clusters); + clusters.resize(n_clusters); int32_t iframe = 0; // frame number needs to be 4 bytes! size_t nph_read = 0; @@ -283,7 +284,7 @@ template ClusterVector ClusterFile::read_clusters_with_cut(size_t n_clusters) { ClusterVector clusters; - clusters.reserve(n_clusters); + clusters.resize(n_clusters); // if there are photons left from previous frame read them first if (m_num_left) { diff --git a/include/aare/ClusterVector.hpp b/include/aare/ClusterVector.hpp index eae2118..13ec882 100644 --- a/include/aare/ClusterVector.hpp +++ b/include/aare/ClusterVector.hpp @@ -299,7 +299,7 @@ class ClusterVector> { */ ClusterVector(size_t capacity = 1024, uint64_t frame_number = 0) : m_frame_number(frame_number) { - m_data.resize(capacity); + m_data.reserve(capacity); } // Move constructor From 15e52565a99aae6be03b41088f7034b2376ac348 Mon Sep 17 00:00:00 2001 From: Mazzoleni Alice Francesca Date: Fri, 11 Apr 2025 14:35:20 +0200 Subject: [PATCH 4/4] dont convert to byte --- include/aare/ClusterFile.hpp | 10 +- include/aare/ClusterVector.hpp | 2 +- python/src/cluster.hpp | 9 +- src/ClusterFile.test.cpp | 204 ++++++++++++++++----------------- 4 files changed, 113 insertions(+), 112 deletions(-) diff --git a/include/aare/ClusterFile.hpp b/include/aare/ClusterFile.hpp index f58d2d6..45df8a0 100644 --- a/include/aare/ClusterFile.hpp +++ b/include/aare/ClusterFile.hpp @@ -236,8 +236,7 @@ ClusterFile::read_clusters_without_cut(size_t n_clusters) { uint32_t nn = m_num_left; uint32_t nph = m_num_left; // number of clusters in frame needs to be 4 - // auto buf = reinterpret_cast(clusters.data()); - auto buf = reinterpret_cast(clusters.data()); + auto buf = clusters.data(); // if there are photons left from previous frame read them first if (nph) { if (nph > n_clusters) { @@ -247,8 +246,7 @@ ClusterFile::read_clusters_without_cut(size_t n_clusters) { } else { nn = nph; } - nph_read += fread((buf + nph_read * clusters.item_size()), - clusters.item_size(), nn, fp); + nph_read += fread((buf + nph_read), clusters.item_size(), nn, fp); m_num_left = nph - nn; // write back the number of photons left } @@ -263,8 +261,8 @@ ClusterFile::read_clusters_without_cut(size_t n_clusters) { else nn = nph; - nph_read += fread((buf + nph_read * clusters.item_size()), - clusters.item_size(), nn, fp); + nph_read += + fread((buf + nph_read), clusters.item_size(), nn, fp); m_num_left = nph - nn; } if (nph_read >= n_clusters) diff --git a/include/aare/ClusterVector.hpp b/include/aare/ClusterVector.hpp index 13ec882..22315cc 100644 --- a/include/aare/ClusterVector.hpp +++ b/include/aare/ClusterVector.hpp @@ -297,7 +297,7 @@ class ClusterVector> { * @param frame_number frame number of the clusters. Default is 0, which is * also used to indicate that the clusters come from many frames */ - ClusterVector(size_t capacity = 1024, uint64_t frame_number = 0) + ClusterVector(size_t capacity = 300, uint64_t frame_number = 0) : m_frame_number(frame_number) { m_data.reserve(capacity); } diff --git a/python/src/cluster.hpp b/python/src/cluster.hpp index 755f595..a06bcdd 100644 --- a/python/src/cluster.hpp +++ b/python/src/cluster.hpp @@ -18,6 +18,9 @@ using pd_type = double; using namespace aare; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" + template void define_cluster(py::module &m, const std::string &typestr) { @@ -80,12 +83,13 @@ void define_cluster_vector(py::module &m, const std::string &typestr) { self.push_back(cluster); }) - // implement push_back .def_property_readonly("size", &ClusterVector::size) .def("item_size", &ClusterVector::item_size) .def_property_readonly("fmt", - [typestr](ClusterVector &self) { return fmt_format; }) + [typestr](ClusterVector &self) { + return fmt_format; + }) .def_property_readonly("cluster_size_x", &ClusterVector::cluster_size_x) @@ -269,3 +273,4 @@ void define_cluster_finder_bindings(py::module &m, const std::string &typestr) { return hitmap; }); } +#pragma GCC diagnostic pop diff --git a/src/ClusterFile.test.cpp b/src/ClusterFile.test.cpp index d5fdf7c..1ee54e7 100644 --- a/src/ClusterFile.test.cpp +++ b/src/ClusterFile.test.cpp @@ -47,105 +47,104 @@ TEST_CASE("Read one frame using ROI", "[.files]") { TEST_CASE("Read clusters from single frame file", "[.files]") { -// frame_number, num_clusters [135] 97 -// [ 1 200] [0 1 2 3 4 5 6 7 8] -// [ 2 201] [ 9 10 11 12 13 14 15 16 17] -// [ 3 202] [18 19 20 21 22 23 24 25 26] -// [ 4 203] [27 28 29 30 31 32 33 34 35] -// [ 5 204] [36 37 38 39 40 41 42 43 44] -// [ 6 205] [45 46 47 48 49 50 51 52 53] -// [ 7 206] [54 55 56 57 58 59 60 61 62] -// [ 8 207] [63 64 65 66 67 68 69 70 71] -// [ 9 208] [72 73 74 75 76 77 78 79 80] -// [ 10 209] [81 82 83 84 85 86 87 88 89] -// [ 11 210] [90 91 92 93 94 95 96 97 98] -// [ 12 211] [ 99 100 101 102 103 104 105 106 107] -// [ 13 212] [108 109 110 111 112 113 114 115 116] -// [ 14 213] [117 118 119 120 121 122 123 124 125] -// [ 15 214] [126 127 128 129 130 131 132 133 134] -// [ 16 215] [135 136 137 138 139 140 141 142 143] -// [ 17 216] [144 145 146 147 148 149 150 151 152] -// [ 18 217] [153 154 155 156 157 158 159 160 161] -// [ 19 218] [162 163 164 165 166 167 168 169 170] -// [ 20 219] [171 172 173 174 175 176 177 178 179] -// [ 21 220] [180 181 182 183 184 185 186 187 188] -// [ 22 221] [189 190 191 192 193 194 195 196 197] -// [ 23 222] [198 199 200 201 202 203 204 205 206] -// [ 24 223] [207 208 209 210 211 212 213 214 215] -// [ 25 224] [216 217 218 219 220 221 222 223 224] -// [ 26 225] [225 226 227 228 229 230 231 232 233] -// [ 27 226] [234 235 236 237 238 239 240 241 242] -// [ 28 227] [243 244 245 246 247 248 249 250 251] -// [ 29 228] [252 253 254 255 256 257 258 259 260] -// [ 30 229] [261 262 263 264 265 266 267 268 269] -// [ 31 230] [270 271 272 273 274 275 276 277 278] -// [ 32 231] [279 280 281 282 283 284 285 286 287] -// [ 33 232] [288 289 290 291 292 293 294 295 296] -// [ 34 233] [297 298 299 300 301 302 303 304 305] -// [ 35 234] [306 307 308 309 310 311 312 313 314] -// [ 36 235] [315 316 317 318 319 320 321 322 323] -// [ 37 236] [324 325 326 327 328 329 330 331 332] -// [ 38 237] [333 334 335 336 337 338 339 340 341] -// [ 39 238] [342 343 344 345 346 347 348 349 350] -// [ 40 239] [351 352 353 354 355 356 357 358 359] -// [ 41 240] [360 361 362 363 364 365 366 367 368] -// [ 42 241] [369 370 371 372 373 374 375 376 377] -// [ 43 242] [378 379 380 381 382 383 384 385 386] -// [ 44 243] [387 388 389 390 391 392 393 394 395] -// [ 45 244] [396 397 398 399 400 401 402 403 404] -// [ 46 245] [405 406 407 408 409 410 411 412 413] -// [ 47 246] [414 415 416 417 418 419 420 421 422] -// [ 48 247] [423 424 425 426 427 428 429 430 431] -// [ 49 248] [432 433 434 435 436 437 438 439 440] -// [ 50 249] [441 442 443 444 445 446 447 448 449] -// [ 51 250] [450 451 452 453 454 455 456 457 458] -// [ 52 251] [459 460 461 462 463 464 465 466 467] -// [ 53 252] [468 469 470 471 472 473 474 475 476] -// [ 54 253] [477 478 479 480 481 482 483 484 485] -// [ 55 254] [486 487 488 489 490 491 492 493 494] -// [ 56 255] [495 496 497 498 499 500 501 502 503] -// [ 57 256] [504 505 506 507 508 509 510 511 512] -// [ 58 257] [513 514 515 516 517 518 519 520 521] -// [ 59 258] [522 523 524 525 526 527 528 529 530] -// [ 60 259] [531 532 533 534 535 536 537 538 539] -// [ 61 260] [540 541 542 543 544 545 546 547 548] -// [ 62 261] [549 550 551 552 553 554 555 556 557] -// [ 63 262] [558 559 560 561 562 563 564 565 566] -// [ 64 263] [567 568 569 570 571 572 573 574 575] -// [ 65 264] [576 577 578 579 580 581 582 583 584] -// [ 66 265] [585 586 587 588 589 590 591 592 593] -// [ 67 266] [594 595 596 597 598 599 600 601 602] -// [ 68 267] [603 604 605 606 607 608 609 610 611] -// [ 69 268] [612 613 614 615 616 617 618 619 620] -// [ 70 269] [621 622 623 624 625 626 627 628 629] -// [ 71 270] [630 631 632 633 634 635 636 637 638] -// [ 72 271] [639 640 641 642 643 644 645 646 647] -// [ 73 272] [648 649 650 651 652 653 654 655 656] -// [ 74 273] [657 658 659 660 661 662 663 664 665] -// [ 75 274] [666 667 668 669 670 671 672 673 674] -// [ 76 275] [675 676 677 678 679 680 681 682 683] -// [ 77 276] [684 685 686 687 688 689 690 691 692] -// [ 78 277] [693 694 695 696 697 698 699 700 701] -// [ 79 278] [702 703 704 705 706 707 708 709 710] -// [ 80 279] [711 712 713 714 715 716 717 718 719] -// [ 81 280] [720 721 722 723 724 725 726 727 728] -// [ 82 281] [729 730 731 732 733 734 735 736 737] -// [ 83 282] [738 739 740 741 742 743 744 745 746] -// [ 84 283] [747 748 749 750 751 752 753 754 755] -// [ 85 284] [756 757 758 759 760 761 762 763 764] -// [ 86 285] [765 766 767 768 769 770 771 772 773] -// [ 87 286] [774 775 776 777 778 779 780 781 782] -// [ 88 287] [783 784 785 786 787 788 789 790 791] -// [ 89 288] [792 793 794 795 796 797 798 799 800] -// [ 90 289] [801 802 803 804 805 806 807 808 809] -// [ 91 290] [810 811 812 813 814 815 816 817 818] -// [ 92 291] [819 820 821 822 823 824 825 826 827] -// [ 93 292] [828 829 830 831 832 833 834 835 836] -// [ 94 293] [837 838 839 840 841 842 843 844 845] -// [ 95 294] [846 847 848 849 850 851 852 853 854] -// [ 96 295] [855 856 857 858 859 860 861 862 863] -// [ 97 296] [864 865 866 867 868 869 870 871 872] - + // frame_number, num_clusters [135] 97 + // [ 1 200] [0 1 2 3 4 5 6 7 8] + // [ 2 201] [ 9 10 11 12 13 14 15 16 17] + // [ 3 202] [18 19 20 21 22 23 24 25 26] + // [ 4 203] [27 28 29 30 31 32 33 34 35] + // [ 5 204] [36 37 38 39 40 41 42 43 44] + // [ 6 205] [45 46 47 48 49 50 51 52 53] + // [ 7 206] [54 55 56 57 58 59 60 61 62] + // [ 8 207] [63 64 65 66 67 68 69 70 71] + // [ 9 208] [72 73 74 75 76 77 78 79 80] + // [ 10 209] [81 82 83 84 85 86 87 88 89] + // [ 11 210] [90 91 92 93 94 95 96 97 98] + // [ 12 211] [ 99 100 101 102 103 104 105 106 107] + // [ 13 212] [108 109 110 111 112 113 114 115 116] + // [ 14 213] [117 118 119 120 121 122 123 124 125] + // [ 15 214] [126 127 128 129 130 131 132 133 134] + // [ 16 215] [135 136 137 138 139 140 141 142 143] + // [ 17 216] [144 145 146 147 148 149 150 151 152] + // [ 18 217] [153 154 155 156 157 158 159 160 161] + // [ 19 218] [162 163 164 165 166 167 168 169 170] + // [ 20 219] [171 172 173 174 175 176 177 178 179] + // [ 21 220] [180 181 182 183 184 185 186 187 188] + // [ 22 221] [189 190 191 192 193 194 195 196 197] + // [ 23 222] [198 199 200 201 202 203 204 205 206] + // [ 24 223] [207 208 209 210 211 212 213 214 215] + // [ 25 224] [216 217 218 219 220 221 222 223 224] + // [ 26 225] [225 226 227 228 229 230 231 232 233] + // [ 27 226] [234 235 236 237 238 239 240 241 242] + // [ 28 227] [243 244 245 246 247 248 249 250 251] + // [ 29 228] [252 253 254 255 256 257 258 259 260] + // [ 30 229] [261 262 263 264 265 266 267 268 269] + // [ 31 230] [270 271 272 273 274 275 276 277 278] + // [ 32 231] [279 280 281 282 283 284 285 286 287] + // [ 33 232] [288 289 290 291 292 293 294 295 296] + // [ 34 233] [297 298 299 300 301 302 303 304 305] + // [ 35 234] [306 307 308 309 310 311 312 313 314] + // [ 36 235] [315 316 317 318 319 320 321 322 323] + // [ 37 236] [324 325 326 327 328 329 330 331 332] + // [ 38 237] [333 334 335 336 337 338 339 340 341] + // [ 39 238] [342 343 344 345 346 347 348 349 350] + // [ 40 239] [351 352 353 354 355 356 357 358 359] + // [ 41 240] [360 361 362 363 364 365 366 367 368] + // [ 42 241] [369 370 371 372 373 374 375 376 377] + // [ 43 242] [378 379 380 381 382 383 384 385 386] + // [ 44 243] [387 388 389 390 391 392 393 394 395] + // [ 45 244] [396 397 398 399 400 401 402 403 404] + // [ 46 245] [405 406 407 408 409 410 411 412 413] + // [ 47 246] [414 415 416 417 418 419 420 421 422] + // [ 48 247] [423 424 425 426 427 428 429 430 431] + // [ 49 248] [432 433 434 435 436 437 438 439 440] + // [ 50 249] [441 442 443 444 445 446 447 448 449] + // [ 51 250] [450 451 452 453 454 455 456 457 458] + // [ 52 251] [459 460 461 462 463 464 465 466 467] + // [ 53 252] [468 469 470 471 472 473 474 475 476] + // [ 54 253] [477 478 479 480 481 482 483 484 485] + // [ 55 254] [486 487 488 489 490 491 492 493 494] + // [ 56 255] [495 496 497 498 499 500 501 502 503] + // [ 57 256] [504 505 506 507 508 509 510 511 512] + // [ 58 257] [513 514 515 516 517 518 519 520 521] + // [ 59 258] [522 523 524 525 526 527 528 529 530] + // [ 60 259] [531 532 533 534 535 536 537 538 539] + // [ 61 260] [540 541 542 543 544 545 546 547 548] + // [ 62 261] [549 550 551 552 553 554 555 556 557] + // [ 63 262] [558 559 560 561 562 563 564 565 566] + // [ 64 263] [567 568 569 570 571 572 573 574 575] + // [ 65 264] [576 577 578 579 580 581 582 583 584] + // [ 66 265] [585 586 587 588 589 590 591 592 593] + // [ 67 266] [594 595 596 597 598 599 600 601 602] + // [ 68 267] [603 604 605 606 607 608 609 610 611] + // [ 69 268] [612 613 614 615 616 617 618 619 620] + // [ 70 269] [621 622 623 624 625 626 627 628 629] + // [ 71 270] [630 631 632 633 634 635 636 637 638] + // [ 72 271] [639 640 641 642 643 644 645 646 647] + // [ 73 272] [648 649 650 651 652 653 654 655 656] + // [ 74 273] [657 658 659 660 661 662 663 664 665] + // [ 75 274] [666 667 668 669 670 671 672 673 674] + // [ 76 275] [675 676 677 678 679 680 681 682 683] + // [ 77 276] [684 685 686 687 688 689 690 691 692] + // [ 78 277] [693 694 695 696 697 698 699 700 701] + // [ 79 278] [702 703 704 705 706 707 708 709 710] + // [ 80 279] [711 712 713 714 715 716 717 718 719] + // [ 81 280] [720 721 722 723 724 725 726 727 728] + // [ 82 281] [729 730 731 732 733 734 735 736 737] + // [ 83 282] [738 739 740 741 742 743 744 745 746] + // [ 84 283] [747 748 749 750 751 752 753 754 755] + // [ 85 284] [756 757 758 759 760 761 762 763 764] + // [ 86 285] [765 766 767 768 769 770 771 772 773] + // [ 87 286] [774 775 776 777 778 779 780 781 782] + // [ 88 287] [783 784 785 786 787 788 789 790 791] + // [ 89 288] [792 793 794 795 796 797 798 799 800] + // [ 90 289] [801 802 803 804 805 806 807 808 809] + // [ 91 290] [810 811 812 813 814 815 816 817 818] + // [ 92 291] [819 820 821 822 823 824 825 826 827] + // [ 93 292] [828 829 830 831 832 833 834 835 836] + // [ 94 293] [837 838 839 840 841 842 843 844 845] + // [ 95 294] [846 847 848 849 850 851 852 853 854] + // [ 96 295] [855 856 857 858 859 860 861 862 863] + // [ 97 296] [864 865 866 867 868 869 870 871 872] auto fpath = test_data_path() / "clust" / "single_frame_97_clustrers.clust"; REQUIRE(std::filesystem::exists(fpath)); @@ -174,11 +173,10 @@ TEST_CASE("Read clusters from single frame file", "[.files]") { } } - - -TEST_CASE("Read clusters", "[.files]"){ +TEST_CASE("Read clusters", "[.files]") { // beam_En700eV_-40deg_300V_10us_d0_f0_100.clust - auto fpath = test_data_path() / "clust" / "beam_En700eV_-40deg_300V_10us_d0_f0_100.clust"; + auto fpath = test_data_path() / "clust" / + "beam_En700eV_-40deg_300V_10us_d0_f0_100.clust"; REQUIRE(std::filesystem::exists(fpath)); ClusterFile> f(fpath);