Volume Cartographer 2.27.0
Namespaces | Typedefs | Functions | Variables
StructureTensor.hpp File Reference
#include <cstdint>
#include <opencv2/core.hpp>
#include "vc/core/math/Tensor3D.hpp"
#include "vc/core/types/Volume.hpp"
Include dependency graph for StructureTensor.hpp:

Go to the source code of this file.

Namespaces

namespace  volcart
 Volume Cartographer library
 

Typedefs

using volcart::EigenValue = double
 
using volcart::EigenVector = cv::Vec3d
 
using volcart::EigenPairs = std::array< std::pair< EigenValue, EigenVector >, 3 >
 
using volcart::StructureTensor = cv::Matx33d
 

Functions

StructureTensor volcart::ComputeVoxelStructureTensor (const Volume::Pointer &volume, int vx, int vy, int vz, int radius=1, int kernelSize=3)
 Compute the structure tensor for a voxel position. More...
 
StructureTensor volcart::ComputeVoxelStructureTensor (const Volume::Pointer &volume, const cv::Vec3i &index, int radius=1, int kernelSize=3)
 
StructureTensor volcart::ComputeSubvoxelStructureTensor (const Volume::Pointer &volume, double vx, double vy, double vz, int radius=1, int kernelSize=3)
 Compute the structure tensor for a subvoxel position. More...
 
StructureTensor volcart::ComputeSubvoxelStructureTensor (const Volume::Pointer &volume, const cv::Vec3d &index, int radius=1, int kernelSize=3)
 
EigenPairs volcart::ComputeVoxelEigenPairs (const Volume::Pointer &volume, int x, int y, int z, int radius=1, int kernelSize=3)
 Compute the eigenvalues and eigenvectors from the structure tensor for a voxel position. More...
 
EigenPairs volcart::ComputeVoxelEigenPairs (const Volume::Pointer &volume, const cv::Vec3i &index, int radius=1, int kernelSize=3)
 
EigenPairs volcart::ComputeSubvoxelEigenPairs (const Volume::Pointer &volume, double x, double y, double z, int radius=1, int kernelSize=3)
 Compute the eigenvalues and eigenvectors from the structure tensor for a subvoxel position. More...
 
EigenPairs volcart::ComputeSubvoxelEigenPairs (const Volume::Pointer &volume, const cv::Vec3d &index, int radius=1, int kernelSize=3)
 
template<typename DType >
Tensor3D< DType > volcart::ComputeVoxelNeighbors (const Volume::Pointer &volume, const cv::Vec3i &center, std::int32_t rx, std::int32_t ry, std::int32_t rz)
 Get an axis-aligned cuboid subvolume centered on a voxel. More...
 
template<typename DType >
Tensor3D< DType > volcart::ComputeSubvoxelNeighbors (const Volume::Pointer &volume, const cv::Vec3d &center, int rx, int ry, int rz, const cv::Vec3d &xvec={1, 0, 0}, const cv::Vec3d &yvec={0, 1, 0}, const cv::Vec3d &zvec={0, 0, 1})
 Get an axis-aligned cuboid subvolume centered on a subvoxel. More...
 

Variables

static const auto volcart::ZERO_STRUCTURE_TENSOR