Precomputed Matrix for the DivCurl regularization. More...
#include <mia/3d/ppmatrix.hh>
Public Member Functions | |
| C3DPPDivcurlMatrix (const C3DBounds &size, const C3DFVector &range, const CSplineKernel &kernel, double wd, double wr) | |
| double | evaluate (const T3DDatafield< C3DFVector > &coefficients, CDoubleVector &gradient) const |
| double | evaluate (const T3DDatafield< C3DDVector > &coefficients, CDoubleVector &gradient) const |
| const C3DBounds & | get_size () const |
| double | operator* (const T3DDatafield< C3DFVector > &coefficients) const |
| double | operator* (const T3DDatafield< C3DDVector > &coefficients) const |
| void | reset (const C3DBounds &size, const C3DFVector &range, const CSplineKernel &kernel, double wd, double wr) |
| ~C3DPPDivcurlMatrix () | |
Precomputed Matrix for the DivCurl regularization.
This class stores the precomputed matrix for the divcurl regislarization of a spline based transformation.
Definition at line 38 of file 3d/ppmatrix.hh.
| C3DPPDivcurlMatrix::C3DPPDivcurlMatrix | ( | const C3DBounds & | size, |
| const C3DFVector & | range, | ||
| const CSplineKernel & | kernel, | ||
| double | wd, | ||
| double | wr | ||
| ) |
Construct the matrix according to the given coefficient field size, the used B-Spline kernel and the divergence and rotational weights
| size | coefficient field size |
| range | full data range |
| kernel | B-Spline kernel used for the transformation |
| wd | weight for divergence |
| wr | weight for rotation (curl) |
| C3DPPDivcurlMatrix::~C3DPPDivcurlMatrix | ( | ) |
| double C3DPPDivcurlMatrix::evaluate | ( | const T3DDatafield< C3DFVector > & | coefficients, |
| CDoubleVector & | gradient | ||
| ) | const |
Given this matrix P and the coefficient field c evaluate the value for c^T P c
| coefficients | B-Spline coefficient field c | |
| [out] | gradient | gradient of the divcurl cost |
| double C3DPPDivcurlMatrix::evaluate | ( | const T3DDatafield< C3DDVector > & | coefficients, |
| CDoubleVector & | gradient | ||
| ) | const |
Given this matrix P and the coefficient field c evaluate the value for c^T P c
| coefficients | B-Spline coefficient field c | |
| [out] | gradient | gradient of the divcurl cost |
| const C3DBounds& C3DPPDivcurlMatrix::get_size | ( | ) | const |
| double C3DPPDivcurlMatrix::operator* | ( | const T3DDatafield< C3DFVector > & | coefficients | ) | const |
Given this matrix P and the coefficient field c evaluate the value for c^T P c
| coefficients | B-Spline coefficient field c |
| double C3DPPDivcurlMatrix::operator* | ( | const T3DDatafield< C3DDVector > & | coefficients | ) | const |
Given this matrix P and the coefficient field c evaluate the value for c^T P c
| coefficients | B-Spline coefficient field c |
| void C3DPPDivcurlMatrix::reset | ( | const C3DBounds & | size, |
| const C3DFVector & | range, | ||
| const CSplineKernel & | kernel, | ||
| double | wd, | ||
| double | wr | ||
| ) |
re-initialize the matrix (if the values are changed)