UsTK : Ultrasound ToolKit
version 2.0.1 under development (2024-12-17)
|
#include <visp3/ustk_volume_processing/usVolumeProcessing.h>
Static Public Member Functions | |
template<class Type1 , class Type2 > | |
static void | absoluteDifference (const usImage3D< Type1 > &src1, const usImage3D< Type1 > &src2, usImage3D< Type2 > &dst) |
template<class Type1 , class Type2 > | |
static double | applyFilter (const usImage3D< Type1 > &src, const usImage3D< Type2 > &filter, unsigned int i, unsigned int j, unsigned int k) |
template<class Type1 , class Type2 > | |
static void | applyFilter (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst, const usImage3D< double > &filter) |
template<class Type > | |
static void | computeBarycenter (const usImage3D< Type > &V, double &ic, double &jc, double &kc) |
template<class Type1 , class Type2 > | |
static void | derivativeI (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst) |
template<class Type1 , class Type2 = typename std::conditional<std::is_arithmetic<Type1>::value, double, Type1>::type> | |
static Type2 | derivativeI (const usImage3D< Type1 > &V, unsigned int i, unsigned int j, unsigned int k) |
template<class Type1 , class Type2 > | |
static void | derivativeJ (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst) |
template<class Type1 , class Type2 = typename std::conditional<std::is_arithmetic<Type1>::value, double, Type1>::type> | |
static Type2 | derivativeJ (const usImage3D< Type1 > &V, unsigned int i, unsigned int j, unsigned int k) |
template<class Type1 , class Type2 > | |
static void | derivativeK (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst) |
template<class Type1 , class Type2 = typename std::conditional<std::is_arithmetic<Type1>::value, double, Type1>::type> | |
static Type2 | derivativeK (const usImage3D< Type1 > &V, unsigned int i, unsigned int j, unsigned int k) |
template<class Type1 , class Type2 > | |
static void | difference (const usImage3D< Type1 > &src1, const usImage3D< Type1 > &src2, usImage3D< Type2 > &dst) |
template<class Type > | |
static void | frangi (const usImage3D< Type > &src, usImage3D< double > &dst, double a, double b, double c) |
template<class Type1 , class Type2 > | |
static void | gaussianDerivativeI (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst, double sigma, unsigned int filter_size) |
template<class Type1 , class Type2 > | |
static void | gaussianDerivativeJ (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst, double sigma, unsigned int filter_size) |
template<class Type1 , class Type2 > | |
static void | gaussianDerivativeK (const usImage3D< Type1 > &src, usImage3D< Type2 > &dst, double sigma, unsigned int filter_size) |
static usImage3D< double > | generateGaussianDerivativeFilterI (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterII (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterIJ (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterIK (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterJ (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterJJ (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterJK (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterK (double sigma, int size) |
static usImage3D< double > | generateGaussianDerivativeFilterKK (double sigma, int size) |
template<class Type > | |
static void | gradient (const usImage3D< Type > &src, usImage3D< vpColVector > &dst) |
template<class Type > | |
static void | hessian (const usImage3D< Type > &src, usImage3D< vpMatrix > &dst) |
template<class Type > | |
static Type | max (const usImage3D< Type > &V) |
template<class Type > | |
static Type | min (const usImage3D< Type > &V) |
static void | norm (const usImage3D< vpColVector > &src, usImage3D< double > &dst) |
Processing tools (derivative, filtering...) for the usImage3D class.
Definition at line 58 of file usVolumeProcessing.h.
|
static |
Compute the volume absolute difference: dst = |src1 - src2|.
src1 | The first volume. |
src2 | The second volume. |
dst | The output volume (difference). |
Definition at line 591 of file usVolumeProcessing.h.
References usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
|
static |
Apply a 3D filter to a voxel.
src | The volume to filter. |
filter | The filter kernel. |
i | Index on i-axis of the voxel to filter. |
j | Index on j-axis of the voxel to filter. |
k | Index on k-axis of the voxel to filter. |
Definition at line 200 of file usVolumeProcessing.h.
References usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), and usImage3D< Type >::getWidth().
Referenced by applyFilter(), gaussianDerivativeI(), gaussianDerivativeJ(), and gaussianDerivativeK().
|
static |
Apply a filter to a volume.
[in] | src | The volume to filter. |
[out] | dst | The volume filtered. |
[in] | filter | The filter kernel. |
Definition at line 229 of file usVolumeProcessing.h.
References applyFilter(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getWidth(), usImage3D< Type >::initData(), and usImage3D< Type >::resize().
|
static |
Compute the photometric barycenter of the volume.
[in] | V | Volume to compute. |
[out] | ic | I-axis index of the barycenter. |
[out] | jc | J-axis index of the barycenter. |
[out] | kc | K-axis index of the barycenter. |
Definition at line 614 of file usVolumeProcessing.h.
References usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), and usImage3D< Type >::getWidth().
|
static |
Apply a derivative filter along the i-axis (height) to a volume.
src | The volume to derivate. |
dst | The volume derivated. |
Definition at line 387 of file usVolumeProcessing.h.
References usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
Referenced by gradient(), and hessian().
|
static |
Apply a derivative filter along the i-axis (height) to a voxel.
V | The volume to derivate. |
i | Index on i-axis of the voxel to filter. |
j | Index on j-axis of the voxel to filter. |
k | Index on k-axis of the voxel to filter. |
Definition at line 257 of file usVolumeProcessing.h.
|
static |
Apply a derivative filter along the j-axis (width) to a volume.
src | The volume to derivate. |
dst | The volume derivated. |
Definition at line 410 of file usVolumeProcessing.h.
References usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
Referenced by gradient(), and hessian().
|
static |
Apply a derivative filter along the j-axis (width) to a voxel.
V | The volume to derivate. |
i | Index on i-axis of the voxel to filter. |
j | Index on j-axis of the voxel to filter. |
k | Index on k-axis of the voxel to filter. |
Definition at line 271 of file usVolumeProcessing.h.
|
static |
Apply a derivative filter along the k-axis (3rd dimension) to a volume.
src | The volume to derivate. |
dst | The volume derivated. |
Definition at line 436 of file usVolumeProcessing.h.
References usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
Referenced by gradient(), and hessian().
|
static |
Apply a derivative filter along the k-axis (3rd dimension) to a voxel.
V | The volume to derivate. |
i | Index on i-axis of the voxel to filter. |
j | Index on j-axis of the voxel to filter. |
k | Index on k-axis of the voxel to filter. |
Definition at line 285 of file usVolumeProcessing.h.
|
static |
Compute the volume difference: dst = src1 - src2.
src1 | The first volume. |
src2 | The second volume. |
dst | The output volume (difference). |
Definition at line 571 of file usVolumeProcessing.h.
References usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
|
static |
Compute the Frangi's vesselness. Here is the frangi vesselness formula, from Frangi et al. (1998):
src | The volume to computed. |
dst | The volume filtered. |
a | Corresponds to parameter in formula above. |
b | Corresponds to parameter in formula above. |
c | Corresponds to parameter in formula above. |
Definition at line 530 of file usVolumeProcessing.h.
References usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), hessian(), and usImage3D< Type >::resize().
|
static |
Compute the gaussian filtered i-derivative (height) of a volume.
src | The volume to filter. |
dst | The volume filtered. |
sigma | Gaussian filter standard deviation. |
filter_size | Size of the gaussian filter. |
Definition at line 342 of file usVolumeProcessing.h.
References applyFilter(), and generateGaussianDerivativeFilterI().
|
static |
Compute the gaussian filtered j-derivative (width) of a volume.
src | The volume to filter. |
dst | The volume filtered. |
sigma | Gaussian filter standard deviation. |
filter_size | Size of the gaussian filter. |
Definition at line 358 of file usVolumeProcessing.h.
References applyFilter(), and generateGaussianDerivativeFilterJ().
|
static |
Compute the gaussian filtered k-derivative (3rd dimension) of a volume.
src | The volume to filter. |
dst | The volume filtered. |
sigma | Gaussian filter standard deviation. |
filter_size | Size of the gaussian filter. |
Definition at line 374 of file usVolumeProcessing.h.
References applyFilter(), and generateGaussianDerivativeFilterK().
|
static |
Generate a Gaussian filtered derivative filter along the j-axis (width).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 55 of file usVolumeProcessing.cpp.
Referenced by gaussianDerivativeI().
|
static |
Generate a Gaussian filtered second derivative filter along the i-axis (height).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 148 of file usVolumeProcessing.cpp.
|
static |
Generate a Gaussian filtered second derivative filter along the ij-axis (height/width diagonal).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 247 of file usVolumeProcessing.cpp.
|
static |
Generate a Gaussian filtered second derivative filter along the ik-axis (height/3rd dimension diagonal).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 278 of file usVolumeProcessing.cpp.
|
static |
Generate a Gaussian filtered derivative filter along the j-axis (width).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 86 of file usVolumeProcessing.cpp.
Referenced by gaussianDerivativeJ().
|
static |
Generate a Gaussian filtered second derivative filter along the j-axis (width).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 181 of file usVolumeProcessing.cpp.
|
static |
Generate a Gaussian filtered second derivative filter along the jk-axis (width/3rd dimension diagonal).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 309 of file usVolumeProcessing.cpp.
|
static |
Generate a Gaussian filtered derivative filter along the k-axis (3rd dimension).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 117 of file usVolumeProcessing.cpp.
Referenced by gaussianDerivativeK().
|
static |
Generate a Gaussian filtered second derivative filter along the k-axis (3rd dimension).
sigma | Gaussian filter standard deviation. |
size | Size of the gaussian filter. |
Definition at line 214 of file usVolumeProcessing.cpp.
|
static |
Compute the volume gradient.
src | The volume to filter. |
dst | The volume filtered. |
Definition at line 461 of file usVolumeProcessing.h.
References derivativeI(), derivativeJ(), derivativeK(), usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
|
static |
Compute the volume hessian.
src | The volume to filter. |
dst | The volume filtered. |
Definition at line 485 of file usVolumeProcessing.h.
References derivativeI(), derivativeJ(), derivativeK(), usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().
Referenced by frangi().
|
static |
Get the max value of the volume.
V | The volume to compute. |
Definition at line 159 of file usVolumeProcessing.h.
References usImage3D< Type >::getConstData(), and usImage3D< Type >::getSize().
|
static |
Get the min value of the volume.
V | The volume to compute. |
Definition at line 177 of file usVolumeProcessing.h.
References usImage3D< Type >::getConstData(), and usImage3D< Type >::getSize().
|
static |
Compute the norm of a vector image.
src | Input volume. |
dst | Output volume. |
Definition at line 42 of file usVolumeProcessing.cpp.
References usImage3D< Type >::getConstData(), usImage3D< Type >::getData(), usImage3D< Type >::getHeight(), usImage3D< Type >::getNumberOfFrames(), usImage3D< Type >::getSize(), usImage3D< Type >::getWidth(), and usImage3D< Type >::resize().