]> Creatis software - clitk.git/blob - registration/clitkAffineRegistration.ggo
Debug RTStruct conversion with empty struc
[clitk.git] / registration / clitkAffineRegistration.ggo
1 # file clitkAffineRegistration.ggo
2 package "clitk"
3 version "1.0"
4 purpose "Perform an affine registration between two images." 
5
6 option "config"         -       "Config file"                   string          no
7
8 section "Run Time"
9
10 option "verbose"        v       "Verbose"                               flag    off
11 option "gradient"       -       "If verbose, show gradient at each iteration"   flag    off
12 option "threads"        -       "Number of threads to use  (default=min(#cores,8))"     int      no
13
14
15 section "Input (Both images have to be of the same dimension (2 or 3D). For 2D-3D (non-projective) registrations, give the 2D image a third dimension of 1 and set it to the reference image.)"
16
17 option "reference"      i       "Reference or fixed image filename"             string  yes
18 option "target"         j       "Target or moving image filename"               string  yes
19 option "referenceMask"  m       "Mask to placed over the reference image"       string   no
20 option "targetMask"     -       "Mask to placed over the target image"  string   no
21
22 section "Output"
23
24 option "output"         o       "Transformed object image filename"                                                     string  no
25 option "checker_after"  -       "Checherboard representation of the transformed object image and reference image"       string  no
26 option "checker_before"  -      "Checherboard representation of the object image and reference image"                   string  no
27 option "after"          -       "Difference between the reference image and the transformed object"                     string  no
28 option "before"         -       "Difference between the reference image and the original object image"                  string  no
29 option "matrix"         -       "Affine matrix (reference to object space) filename "                                   string  no
30
31
32 section "Interpolator"
33
34 option "interp"         -       "Interpolation: 0=NN, 1=Linear, 2=BSpline, 3=BLUT"      int     no  default="1"
35 option "interpOrder"    -       "Order if BLUT or BSpline (0-5)"                        int     no  default="3"
36 option "interpSF"       -       "Sampling factor if BLUT"                               int     no  default="20"
37
38
39 section "Transform (Input and Output transformation parameters map the physical space of the fixed or reference image into the physical space of the moving or object image. Positive rotations result in a counter-clockwise rotation for the moving image. Positive translations result in shift along the negative axis for the moving image.)"
40
41 option "transform"  - "Type: 0=Identity, 1=Translation, 2=Rigid, 3=Affine" int no  default="2"
42 option "transX"     x "1-3: Initial translation in mm along the X axis"  float no  default="0.0"
43 option "transY"     y "1-3: Initial translation in mm along the Y axis"  float no  default="0.0"
44 option "transZ"     z "1-3: Initial translation in mm along the Z axis"  float no  default="0.0"
45 option "initMatrix" - "1-3: Initial matrix (reference to object space) filename " string  no
46 option "moment"     - "1-3: Initialize translation by aligning the center of gravities for the respective intensities" flag off
47
48 section "Metric (optimized, threaded versions are available for *, compile ITK with REVIEW and OPT_REGISTRATION enabled)"
49
50 option "metric"         -       "Type: 0=Mean-Squares*, 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**"  int     no      default="0"
51 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"
52 option "intThreshold"   -       "Fixed image samples intensity threshold (* only; caution with --normalize)"                            float   no              
53 option "subtractMean"   -       "1: Subtract mean for NCC calculation (narrows optimal)"                                                flag    on      
54 option "bins"           -       "2,5-8: Number of histogram bins"                                                                       int     no      default="50"
55 option "random"         -       "4,6: Samples should be taken randomly, otherwise uniformly"                                            flag    off     
56 option "stdDev"         -       "4: specify the standard deviation in mm of the gaussian kernels for both PDF estimations"              float   no      default="0.4"   
57 option "explicitPDFDerivatives" -       "6: Calculate PDF derivatives explicitly (affine=true; FFD=false)"                              flag    on
58
59
60 section "Preprocessing"
61
62 option "normalize"      -       "Normalize images before registration (not necessary for metric 1,2,5,6,8; caution with --intThreshold)"                        flag    off     
63 option "blur"           -       "Blur images before registration, use Gaussian with std dev (none by default) "         float   no  default="0.0"       
64
65
66 section "Optimizer"
67
68 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="0" 
69 option "delta"          -       "0: Initial delta, otherwise automatic"                                                 double  no                      
70 option "step"           -       "1,2,3,4: Initial stepsize (to be multiplied with the gradient)"                        double  no      default="2.0"   
71 option "relax"          -       "3,4: Relaxation of the stepsize (multiplied each time the gradient changes sign)"      double  no      default="0.7"
72 option "valueTol"       -       "0,1,2: Tolerance on the function"                                                      double  no      default="0.01"
73 option "stepTol"        -       "0,1,3,4: Tolerance on the step size"                                                   double  no      default="0.1"
74 option "gradTol"        -       "3,4,6,7: Tolerance on the (projected) gradient magnitude (7: 1=low->1e-10=high precision)"     double  no      default="1e-5"                  
75 option "lineAcc"        -       "6: Line accuracy (eg: high=0.1, low=0.9)"      double  no      default="0.9"
76 option "convFactor"     -       "7: Convergence factor: terminate if factor*machine_precision>reduction in cost (1e+12 low, 1e+7 moderate and 1e+1 high precision) "    double          no      default="1e+12"
77 option "maxIt"          -       "0-7: Maximum number of iterations"                                     int     no      default="500"
78 option "maxLineIt"      -       "Maximum number of line iterations"                                     int     no      default="50"    
79 option "maxEval"        -       "Maximum number of evaluations"                                         int     no      default="500"
80 option "maxCorr"        -       "Maximum number of corrections"                                         int     no      default="5"
81 option "selectBound"    -       "7: Select the type of bound: 0=none, 1=u, 2=u&l, 3=l"                  int     no      default="0"
82 option "lowerBound"     -       "7: The lower bound"                                                    double  no      
83 option "upperBound"     -       "7: The upper bound"                                                    double  no      
84
85 option "rWeight"        -       "Weight of 1° of rotation during optimisation (high weight, less change)"              float   no      default="50.0"
86 option "tWeight"        -       "Weight of 1mm of translation  during optimisation (high weight, less change)"          float   no      default="1.0"
87 option "levels"         -       "Number of resolution levels"                                                           int     no      default="1"                                             
88 option "inc"            -       "Increment factor (x)  previous step/tol = new step/tol at next resolution level"       float   no      default="1.2"
89 option "dec"            -       "Decrement factor (:)  previous step/tol = new step/tol at next resolution level"       float   no      default="4"