![]() |
ImFusion SDK 4.3
|
#include <ImFusion/US/ClProbeDeformation.h>
Differentiable OpenCL implementation of GlProbeDeformation. More...
Inheritance diagram for ClProbeDeformation:Differentiable OpenCL implementation of GlProbeDeformation.
This class allows to use the probe deformation inside OpenCL kernels, in particular it is used by UltrasoundDISARegistrationAlgorithm to optimize the probe deformation parameters during registration.
The constructor takes the following parameters:
It can be converted from and to a GlProbeDeformation.
Public Member Functions | |
| ClProbeDeformation (UltrasoundSweep &sweep, const mat4 &M, const GlProbeDeformation *reference=nullptr) | |
| ClProbeDeformation (SharedImageSet &compoundedVolume, const mat4 &M, const GlProbeDeformation *reference=nullptr) | |
| int | addArguments (ClKernel &kernel, int pos, const std::vector< Eigen::VectorXd > ¶msBatch, int firstIndex) override |
| Adds the required arguments to the OpenCL kernel. | |
| std::unique_ptr< Deformation > | getDeformation () override |
| Returns a GlProbeDeformation instance with the current parameters. | |
| vec3 | displacePoint (const vec3 &pointWorld) override |
| Displaces a point in world coordinates. | |
| void | setParameters (const double *params) override |
| Sets the deformation parameters. | |
| void | getParameters (double *params) const override |
| Gets the deformation parameters. | |
| std::vector< FeatureMapsRegistrationAlgorithm::OptimizationParameter > | parameters () const override |
| Returns the parameters definition (name and range) for the optimization. | |
| std::string | argumentDefinitions () const override |
| Returns the OpenCL code for the definition of the arguments needed by the kernel. | |
| std::string | displacementCode () const override |
| Returns the OpenCL code for the displacement function. | |
| std::string | gradientCode () const override |
| Returns the OpenCL code for the computation of the gradient. | |
| std::string | functionsCode () const override |
| Returns the OpenCL code that defines an additional function used by the deformation. | |
|
overridevirtual |
Adds the required arguments to the OpenCL kernel.
| kernel | The OpenCL kernel to which the arguments will be added. |
| pos | The first argument index where to start adding. |
| paramsBatch | The batch of parameters to be used for the deformation. Each vector in the batch corresponds to a different set of parameters. |
| firstIndex | The index in the parameter vectors where the deformation parameters start. |
Implements ClDeformation.
|
overridevirtual |
Returns a GlProbeDeformation instance with the current parameters.
Implements ClDeformation.
|
overridevirtual |
Displaces a point in world coordinates.
Implements ClDeformation.
|
overridevirtual |
Sets the deformation parameters.
Implements ClDeformation.
|
overridevirtual |
Gets the deformation parameters.
Implements ClDeformation.
|
overridevirtual |
Returns the parameters definition (name and range) for the optimization.
Implements ClDeformation.
|
overridevirtual |
Returns the OpenCL code for the definition of the arguments needed by the kernel.
Implements ClDeformation.
|
overridevirtual |
Returns the OpenCL code for the displacement function.
Implements ClDeformation.
|
overridevirtual |
Returns the OpenCL code for the computation of the gradient.
Implements ClDeformation.
|
overridevirtual |
Returns the OpenCL code that defines an additional function used by the deformation.
Implements ClDeformation.