TubeTK/Documentation/RegisterUsingSlidingGeometries

From KitwarePublic
Jump to navigationJump to search
  Description: Performs registration between images depicting sliding
  organs, using an anisotropic diffusive regularization.

USAGE:

  ./RegisterUsingSlidingGeometries  [--returnparameterfile <std::string>]
                                    [--processinformationaddress
                                    <std::string>] [--xml] [--echo] [-c
                                    <RAS|LPS>] [-u <SlidingOrgan
                                    |SparseSlidingOrgan>] [-a]
                                    [--doNotComputeIntensityDistanceTerm]
                                    [-r] [-g <double>] [-l <double>] [-z
                                    <std::string>] [-x <std::string>] [-v
                                    <std::string>] [-o <std::string>] [-d
                                    <std::string>]
                                    [--stoppingCriterionMask
                                    <std::string>] [--backgroundIntensity
                                    <double>] [-q <std::string>] [-t
                                    <std::string>] [-e <std::string>] [-w
                                    <std::string>] [-n <std::string>] [-p
                                    <std::string>] [-b <std::string>] [-m
                                    <double>] [--maximumTotalEnergyChange
                                    <double>] [--stoppingCriterionPeriod
                                    <int>] [-k <std::vector<double>>] [-s
                                    <double>] [-i <std::vector<int>>] [--]
                                    [--version] [-h] <std::string>
                                    <std::string>


Where:

  --returnparameterfile <std::string>
    Filename in which to write simple return parameters (int, float,
    int-vector, etc.) as opposed to bulk return parameters (image,
    geometry, transform, measurement, table).
  --processinformationaddress <std::string>
    Address of a structure to store process information (progress, abort,
    etc.). (default: 0)
  --xml
    Produce xml description of command line arguments (default: 0)
  --echo
    Echo the command line arguments (default: 0)
  -c <RAS|LPS>,  --worldCoordinateSystem <RAS|LPS>
    The world coordinate system. RAS if the images and model are aligned
    when visualized in 3D Slicer, LPS if the images and model are aligned
    when visualized in Paraview. (default: RAS)
  -u <SlidingOrgan|SparseSlidingOrgan>,  --anisotropicRegistrationType
     <SlidingOrgan|SparseSlidingOrgan>
    The type of the anisotropic registration. Each voxel has one normal in
    the 'sliding organ' type, and three normals in the 'sparse sliding
    organ' type. 'sparse sliding organ' is under development and not
    recommended. (default: SlidingOrgan)
  -a,  --doNotUseAnisotropicRegularization
    Whether or not to use the anisotropic diffusive regularization (if
    true, uses the diffusive regularization (i.e. Gaussian smoothing).
    (default: 0)
  --doNotComputeIntensityDistanceTerm
    Whether or not to compute the intensity distance term. (default: 0)
  -r,  --doNotPerformRegularization
    Whether or not to perform motion field regularization. (default: 0)
  -g <double>,  --gamma <double>
    Controls the Dirac-shaped function used to calculate the weight value
    as a function of the distance to the closest organ border point. Must
    be positive to use a Dirac-shaped function. If gamma = -1, then an
    exponential decay using lambda will be used instead (default
    behavior). (default: -1)
  -l <double>,  --lambda <double>
    Controls the function used to calculate the weight value as a function
    of the distance to the closest organ border point. If gamma = -1, then
    the function is exponential decay. Otherwise, the function is a
    Dirac-shaped function. Must be positive. (default: 0.1)
  -z <std::string>,  --outputWeightStructuresImage <std::string>
    Image specifying the the matrices weighting between plane, tube and
    point-like structures. This is applicable for sparse sliding organ
    registration only. This is in the space of the fixed image. Optional:
    allows you to save the weight image when providing an organ boundary
    surface. On later registrations, you can provide it instead of an
    organ boundary, so that it does not need to be recalculated.
  -x <std::string>,  --outputWeightRegularizationsImage <std::string>
    Image specifying the weights between the anisotropic diffusive
    regularization and the diffusive regularization, typically a function
    of distance to the organ boundary. This is in the space of the fixed
    image. Optional: allows you to save the weight image when providing an
    organ boundary surface. On later registrations, you can provide it
    instead of an organ boundary, so that it does not need to be
    recalculated.
  -v <std::string>,  --outputNormalVectorImage <std::string>
    Image specifying the normal vectors. This is in the space of the fixed
    image. Optional: allows you to save the normal vector image when
    providing an organ boundary surface. On later registrations, you can
    provide it instead of an organ boundary, so that it does not need to
    be recalculated. Gives the 0th column vector of the normal matrix if
    using the sparse registration.
  -o <std::string>,  --outputResampledMovingFileName <std::string>
    Resampled moving image to fixed image coordinate frame. Optional
    (specify an output deformation field or an output volume or both).
  -d <std::string>,  --outputDeformationField <std::string>
    Deformation field calculated that aligns the fixed and moving image.
    Maps positions from the fixed coordinate frame to the moving
    coordinate frame. Optional (specify an output deformation field or an
    output volume or both).
  --stoppingCriterionMask <std::string>
    Mask specifying which voxels should be used in the stopping criterion.
    Only pixels with value zero WILL be included in the metric computation
    and stopping criterion.
  --backgroundIntensity <double>
    Background intensity of the moving image. (default: 0)
  -q <std::string>,  --initialTransformImage <std::string>
    Initial transform for aligning the fixed and moving image, specified
    as a vector image. When applied to the moving image, should make it
    look closer to the fixed image. Optional. If both an 'initial
    transform' image and an 'initial transform' transform are given, the
    'initial transform' image will be used.
  -t <std::string>,  --initialTransform <std::string>
    Initial transform for aligning the fixed and moving image. When
    applied to the moving image, should make it look closer to the fixed
    image. Optional. If both an 'initial transform' image and an 'initial
    transform' transform are given, the 'initial transform' image will be
    used.
  -e <std::string>,  --inputWeightStructuresImage <std::string>
    Image specifying the the matrices weighting between plane, tube and
    point-like structures. This is applicable for sparse sliding organ
    registration only. This image should be in the space of the fixed
    image. Optional: supply a weight image or an organ boundary surface
    (and a lambda). If both are provided, the organ boundary surface is
    used.
  -w <std::string>,  --inputWeightRegularizationsImage <std::string>
    Image specifying the weights between the anisotropic diffusive
    regularization and the diffusive regularization, typically a function
    of distance to the organ boundary. This should be in the space of the
    fixed image. Optional: supply a weight image or an organ boundary
    surface (and a lambda). If both are provided, the organ boundary
    surface is used.
  -n <std::string>,  --inputNormalVectorImage <std::string>
    Image specifying the normal vectors. This should be in the space of
    the fixed image. Optional: supply a normal vector image or an organ
    boundary surface. If both are provided, the organ boundary surface is
    used.
  -p <std::string>,  --tubeSpatialObject <std::string>
    Filename of the tube spatial object (.tre). This should be in the
    space of the fixed image. Use for sparse anisotropic diffusion
    registration only.
  -b <std::string>,  --organBoundary <std::string>
    Filename of the organ boundary surface model. This should be in the
    space of the fixed image.
  -m <double>,  --maximumRMSError <double>
    If the RMS change in a registration iteration is less than the maximum
    RMS error threshold, the registration will be halted. Specify a larger
    value to halt faster. If using a multiresolution registration, the
    maximum RMS error condition will be tested at every level (i.e. will
    run at least one registration on each iteration). If zero, the RMS
    change stopping criterion is not used. (default: 0)
  --maximumTotalEnergyChange <double>
    If the total energy change summed over the stopping criterion
    evaluation period is less than the maximum total energy change
    threshold, then the registration will be halted. Specify a larger
    value to halt faster. If zero, the total energy change stopping
    criterion is not used. (default: 0)
  --stoppingCriterionPeriod <int>
    The number of iterations that elapse between evaluations of the total
    energy change stopping criterion. (default: 50)
  -k <std::vector<double>>,  --regularizationWeightings
     <std::vector<double>>
    Comma separated list of weightings to be applied to the regularization
    update term. The final update term will be ( itensityDistanceWeighting
    * intensityUpdateTerm ) + ( RegularizationWeighting *
    regularizationUpdateTerm ). Increase this value to increase the
    smoothness of the resulting displacement field. If using a
    multiresolution registration, you can set a different weighting for
    each level. If, on any multiresolution level, the current level is
    past the number of provided weights, the last weight will be used
    (allowing you to specify only one weight to be used on all levels).
    Default is 1.0 for each level. (default: 1.0)
  -s <double>,  --timestep <double>
    Time step duration. (default: 0.125)
  -i <std::vector<int>>,  --iterations <std::vector<int>>
    Comma separated list of iterations. The number of iterations specified
    dictates the number of levels of the multiresolution registration. The
    multiresolution shrink factors are halved in all three directions on
    each of the multiresolution levels. The registration will stop when
    either the maximum RMS error condition or the number of iterations
    condition is reached. (default: 20)
  --,  --ignore_rest
    Ignores the rest of the labeled arguments following this flag.
  --version
    Displays version information and exits.
  -h,  --help
    Displays usage information and exits.
  <std::string>
    (required)  Fixed image to which to register.
  <std::string>
    (required)  Moving image.
  Author(s): Danielle F. Pace (Kitware)
  Acknowledgements: This work is part of the TubeTK project at Kitware.