|
STIR 6.5.0
|
Helper functions for PETSIRD. More...
#include "stir/CartesianCoordinate3D.h"#include <array>#include <set>#include "stir/format.h"#include "stir/info.h"#include <vector>Go to the source code of this file.
Namespaces | |
| namespace | matrix |
| Lightweight 3x3 matrix and 3D vector helpers used during PETSIRD geometry analysis. | |
| namespace | vector_utils |
| Helpers for spacing analysis and axis inference from coordinate sets. | |
Typedefs | |
| using | matrix::Mat3 = std::array<std::array<float, 3>, 3> |
| using | matrix::Vec3 = std::array<float, 3> |
Functions | |
| Mat3 | matrix::transpose (const Mat3 &mat) |
| Transpose a 3x3 matrix. | |
| Mat3 | matrix::subtract (const Mat3 &A, const Mat3 &B) |
| Subtract two 3x3 matrices (A - B). | |
| Vec3 | matrix::getAxisFromSkew (const Mat3 &S) |
| Extract rotation axis from the skew-symmetric matrix S = R - R^T. | |
| bool | vector_utils::get_spacing_uniform (std::vector< float > &spacing, const std::set< float > &unsorted_block_poss, double epsilon=1e-4) |
| Compute spacings between sorted unique values and test uniformity. | |
| const std::set< float > & | vector_utils::get_largest_vector (const std::set< float > &x, const std::set< float > &y, const std::set< float > &z) |
| Return the largest of three sets and report inferred axial direction. | |
| void | vector_utils::find_unique_values_1D (std::set< float > &values, const std::vector< float > &input) |
| Collect unique values from a 1D vector. | |
| void | vector_utils::find_unique_values_2D (std::set< float > &values, const std::vector< std::vector< float > > &input) |
| Collect unique values from a 2D vector (matrix). | |
| bool | almostEqual (double a, double b, double tol=1e-6) |
| bool | inferGroupSizes_dim2_dim3 (const std::vector< stir::CartesianCoordinate3D< float > > &pts, std::size_t &groupSize_dim2, std::size_t &groupSize_dim3, float tol=1e-5f) |
Helper functions for PETSIRD.