2 #Author: Jef Vandemeulebroucke <jefvdmb@gmail.com>
3 #Date : Tue 11 Jan 2009 10.35
6 version "Register 2 images using optimized BLUT FFD..."
8 option "config" - "Config file" string no
13 option "verbose" v "Verbose" flag off
14 option "threads" - "Number of threads to use (default=min(#cores,8))" int no
19 option "reference" r "Input reference 3D image (float)" string yes
20 option "target" t "Input target 2D image (float)" string yes
21 option "referenceMask" m "Mask or labels to placed over the reference image" string no
22 option "targetMask" - "Mask to placed over the target image" string no
26 option "vf" - "Result DVF" string yes
27 option "coeff" - "Result coefficient images" string no
28 option "coeffEveryN" - "Result coefficient images at every N iterations (requires --coeff and --verbose)" int no default="20"
29 option "output" o "Deformed target image" string yes
30 option "before" - "Difference image before (but after rigid transform)" string no
31 option "after" - "Difference image after " string no
34 section "Transform (Note that only one of --control, --spacing is required. The other will be adjusted to fit the region and allow exact representation. SamplingFactor will be set accordingly"
36 option "initMatrix" - "Prior rigid/affine transform matrix from reference to target space" string no
37 option "initCoeff" - "Initial coefficient image" string no
38 option "order" - "Spline Order FFD" int no multiple default="3"
39 option "control" - "Internal control points for each dimension" int no multiple
40 option "spacing" - "Control point spacing for each dimension (mm)" double no multiple
41 option "samplingFactor" - "LUT sampling factor" int no multiple
42 option "itkbspline" - "Use ITK BSpline instead of multilabel BLUT for debug" flag off
44 section "Interpolator"
46 option "interp" - "Interpolation: 0=NN, 1=Linear, 2=BSpline, 3=BLUT" int no default="1"
47 option "interpOrder" - "Order if BLUT or BSpline (0-5)" int no default="3"
48 option "interpSF" - "Sampling factor if BLUT" int no default="20"
52 section "Metric (optimized, threaded versions are available for *, compile ITK with REVIEW and OPT_REGISTRATION enabled. Further optimized versions ** for BLUT FFD optimizing a !3D! vector field)"
54 option "metric" - "Type: 0=SSD*, 1=Normalized CC*, 2=Histogram CC, 3=Gradient-Difference, 4=Viola-Wells MI, 5=Histogram MI, 6=Mattes' MI*, 7=Normalized MI, 8=CR, 9=SSD for BLUT FFD**, 10=CC for BLUT FFD**, 11=Mattes' MI for BLUT FFD**" int no default="0"
55 option "samples" - "Specify fraction [0, 1] of samples of the reference image used for the metric (* only). Use high fraction for detailed images (eg. 0.2, 0.5), for smooth images 0.01 might be enough." float no default="1"
56 option "intThreshold" - "Fixed image samples intensity threshold (* only)" float no
57 option "subtractMean" - "1: Subtract mean for NCC calculation (narrows optimal)" flag on
58 option "bins" - "2,5-8: Number of histogram bins" int no default="50"
59 option "random" - "4,6: Samples should be taken randomly, otherwise uniformly" flag off
60 option "stdDev" - "4: specify the standard deviation in mm of the gaussian kernels for both PDF estimations" float no default="0.4"
61 option "explicitPDFDerivatives" - "6: Calculate PDF derivatives explicitly (rigid=true; FFD=false)" flag off
66 option "optimizer" - "0=Simplex, 1=Powell, 2=FRPR, 3=Regular Step GD, 4=VersorRigid3D, 5=Conjugated Gradient, 6=L-BFGS, 7=L-BFGS-B" int no default="7"
67 option "delta" - "0: Initial delta, otherwise automatic" double no
68 option "step" - "1,2,3,4: Initial stepsize (to be multiplied with the gradient)" double no default="2.0"
69 option "relax" - "3,4: Relaxation of the stepsize (multiplied each time the gradient changes sign)" double no default="0.7"
70 option "valueTol" - "0,1,2: Tolerance on the function" double no default="0.01"
71 option "stepTol" - "0,1,3,4: Tolerance on the step size" double no default="0.1"
72 option "gradTol" - "3,4,6,7: Tolerance on the (projected) gradient magnitude (7: 1=low->1e-10=high precision)" double no default="1e-5"
73 option "lineAcc" - "6: Line accuracy (eg: high=0.1, low=0.9)" double no default="0.9"
74 option "convFactor" - "7: Convergence factor: terminate if factor*machine_precision>reduction in cost (1e+12 low -> 1e+1 high precision) " double no default="1e+7"
75 option "maxIt" - "0-7: Maximum number of iterations" int no default="500"
76 option "maxLineIt" - "1,2: Maximum number of line iterations" int no default="50"
77 option "maxEval" - "6,7: Maximum number of evaluations" int no default="500"
78 option "maxCorr" - "7: Maximum number of corrections" int no default="5"
79 option "selectBound" - "7: Select the type of bound: 0=none, 1=u, 2=u&l, 3=l" int no default="0"
80 option "lowerBound" - "7: The lower bound" double no default="0.0"
81 option "upperBound" - "7: The upper bound" double no default="0.0"
84 section "Registration"
86 option "levels" - "Number of resolution levels" int no default="1"
87 option "skipLastPyramidLevel" - "Skip full resolution pyramid level" flag off
88 option "intermediate" - "Write the coefficient image of the intermediate levels (provide levels filenames)" string no multiple