NPL
Neurological Programs and Libraries
registration.h File Reference
#include "mrimage.h"
#include "accessors.h"
#include "iterators.h"
#include <Eigen/Dense>
#include <memory>

Go to the source code of this file.

Classes

class  npl::RigidInfoComp
 The Rigid MI Computer is used to compute the mutual information and gradient of mutual information between two images. As the name implies, it is designed for 6 parameter rigid transforms. More...
 
class  npl::RigidCorrComp
 The Rigid Corr Computer is used to compute the correlation and gradient of correlation between two images. As the name implies, it is designed for 6 parameter rigid transforms. More...
 
class  npl::ProbDistCorrInfoComp
 The distortion correction MI Computer is used to compute the mutual information and gradient of mutual information between two images using nonrigid, unidirectional, B-spline transform. In this variant the moving image should be a probability map. More...
 
class  npl::DistCorrInfoComp
 The distortion correction MI Computer is used to compute the mutual information and gradient of mutual information between two images using nonrigid, unidirectional, B-spline transform. More...
 
struct  npl::Rigid3DTrans
 Struct for holding information about a rigid transform. Note that rotation R = Rx*Ry*Rz, where Rx, Ry, and Rz are the rotations about x, y and z aaxes, and the angles are stored (in radians) in the rotation member. More...
 

Namespaces

 npl
 

Functions

ptr< MRImage > npl::motionCorrect (ptr< const MRImage > input, size_t ref)
 Performs motion correction on a set of volumes. Each 3D volume is extracted and linearly registered with the ref volume. More...
 
Rigid3DTrans npl::corReg3D (ptr< const MRImage > fixed, ptr< const MRImage > moving, const std::vector< double > &sigmas)
 Performs correlation based registration between two 3D volumes. note that the two volumes should have identical sampling and identical orientation. If that is not the case, an exception will be thrown. More...
 
Rigid3DTrans npl::informationReg3D (ptr< const MRImage > fixed, ptr< const MRImage > moving, const std::vector< double > &sigmas, size_t nbins=128, size_t binradius=4, std::string metric="MI", double stopx=0.001)
 Performs information-based registration between two 3D volumes. note that the two volumes should have identical sampling and identical orientation. If that is not the case, an exception will be thrown. More...
 
ptr< MRImage > npl::infoDistCor (ptr< const MRImage > fixed, ptr< const MRImage > moving, bool otsu, int dir, double bspace, double jac, double tps, const std::vector< double > &sigmas, size_t nbins=128, size_t binradius=4, string metric="MI", size_t hist=8, double stopx=1e-5, double beta=0.5)
 Information based registration between two 3D volumes. note that the two volumes should have identical sampling and identical orientation. More...
 
int npl::cor3DDerivTest (double step, double tol, ptr< const MRImage > in1, ptr< const MRImage > in2)
 This function checks the validity of the derivative functions used to optimize between-image corrlation. More...
 
int npl::information3DDerivTest (double step, double tol, ptr< const MRImage > in1, ptr< const MRImage > in2)
 This function checks the validity of the derivative functions used to optimize between-image corrlation. More...
 
int npl::distcorDerivTest (double step, double tol, shared_ptr< const MRImage > in1, shared_ptr< const MRImage > in2, double regj=0, double regt=0)
 This function checks the validity of the derivative functions used to optimize between-image corrlation. More...
 
std::ostream & npl::operator<< (std::ostream &stream, const Rigid3DTrans &rigid)
 Prints a rigid transform. More...