uTIlzReg is for research purposes only and has not been approved for clinical use.
uTIlzReg_Demons is a program to perform LogDemons registration.
Can perform multimodal image registration.
Can perform piecewise-diffeomorphic 2D/3D image registration with sliding motion modelling (Not available yet).
The computations of uTIlzReg_Demons are done in the target image coordinate system.
Remark that our implementation is not the original INRIA one, so it may lead to slighly different results.
LogDemons algorithm: Vercauteren T., Pennec X., Perchant A., Ayache N. Symmetric Log-Domain Diffeomorphic Registration: A Demons-based Approach. Proceedings of MICCAI 2008.
Multimodal LogDemons: Risser L., Heinrich M.P., Rueckert D., Schnabel J.A.: Multi-modal diffeomorphic registration using mutual information: Application to the registration of CT and MR pulmonary images. Proceedings of MICCAI workshop PIA, 2011
Calling the function:
./uTIlzReg_Demons [Source] [Target] <options>
where [Source] and [Target] are the source (moving) and target (fixed) images, and <options> are obviously the options.
<-iterations n> Number of iterations (default=10)
<-UnderSampleTrg n> Undersample the target image with the factor n (default n = 1)
Inputs and Outputs:
<-AddChannel w S T> Add a channel, where w is its weight (w=1 for the 1st channel) and S,T are the src and trg channels
<-PrefixInputs n> Prefix of the files containing an initial velocity field (default="Null")
<-PrefixOutputs n> Prefix of the files containing the outputs (default="Outputs")
<-affineT n> Affine transfo from Trg to Src in the world domain. The 4*3 parameters are: r_xx r_xy r_xz t_x r_yx ... t_z
<-IniDispF n> Initial displacement field from Trg to Src in the world domain. (n = DX.nii DY.nii DZ.nii / affineT not considered)
Kernels (the Gaussian kernel of std dev 's' is equivalent to '(s^2)/2' time units of diffusion):
<-Gauss_fluid s n> Gaussian kernel for the fluid regularisation and nb of time subdiv. (default=[2 1])
<-MK_fluid N s1 ... sN> Fluid regularisation using the sum of N gaussian kernels of std dev s1 ... sN
<-MK_fluid_w N s1 w1...> Same as '-MK_fluid' but the weight of each kernel is explicitely tuned (w.)
<-Gauss_diffusion s n> Gaussian kernel for the diffusion reg (0 -> no dif.) + nb time subdiv. (default=[0.0 1])
<-MI> Minimize the mutual information instead of the sum of squared differences
<-MaxVeloUpdt n> Maximum update at each iteration (default=0.5 voxels)
<-Mask n> Demons only considered where the mask is equal to ID (n= [Mask.nii] ID / default="Null")
<-DiscMask n> Piecewise-diffeo. reg. -> sliding motion at mask reg. boundaries with a margin M (typically M=30mm) (n= [Mask.nii] M)
<-DiscMaskBis n> Piecewise-diffeo. reg. -> sliding m. / registration in region R only / margin M (typically M=30mm) (n= [Mask.nii] R M)
<-ExpendDomain n> Extend the domain of the target image, where the computations are done (n = x1 x2 y1 y2 z1 z2 / default = null)
<-SaveMemory> Save as much memory as possible (should be only used on very large images to avoid swapping)
<-ClassicDemons> Perform classic demons registration (not LogDemons)
<-GreyLevAlign n> Grey level linear alignment (Inputs: Padding Src - Padding Trg)
<-margins n> Margin of the image where the calculations are reduced (default=0 voxels)
<-lambdaX n> Value of lambdaX (default=1)