Skip to content

Protocol file structure

Patrick Steadman edited this page Sep 28, 2017 · 3 revisions

Protocol file structure

This is a short note on the parameters and structure of protocol files to help understand and construct your own. These are csv styled files read by pydpiper to construct a pipeline. This documentation was written using version 2.0.9

  1. Linear
  2. Nonlinear - Minctracc
  3. Nonlinear - ANTS

The parameters passed dictate the number of iterations/levels of registration and the values passed to specific program flags at each level. Files are structured that the first column is the flag name then the flag/parameter value for each level all separated by semi-colons (;).

Linear registration protocol files

The flags available are blur, step, gradient, simplex, and w_translations. This is dictated by the fact pydpiper uses minctracc for linear registration at the moment.

Flag; values Description
"blur";0.3;0.2;0.15 blur shows 3 steps with fwhm values given in mm
"step";1;0.5;0.333333333333333 shows 3 steps with step sizes given in mm
"gradient";FALSE;TRUE;FALSE Whether the gradient image is used as well as intensity image in registration
"simplex";3;1.5;1 Radius in voxels of the simplex volume
"w_translations";0.4;0.4;0.4 Optimization weight of translations

Nonlinear registration protocol files

minctracc

The flags available are blur, step, iterations, gradient, simplex, w_translations, optimization, stiffness and weight. This is dictated by the fact pydpiper uses minctracc for linear registration at the moment.

Flag; values Description
"blur";0.224;0.112;0.056 Same as in linear version above
"step";0.6;0.5;0.112;0.056 Same as in linear version above
"iterations";6;8;8 Number of iterations for nonlinear optimization
"gradient";FALSE;TRUE;TRUE Same as in linear version above
"simplex";2;2;2 Same as in linear version above
"w_translations";0.4;0.4;0.4 Same as in linear version above
"optimization";"-use_simplex";"-use_simplex";"-use_simplex" Uses the 3D simplex optimization for local deformation (this is minctracc's default)
"stiffness";0.98;0.98;0.98 Weighting of smoothness between iterations (0-1)
"weight";0.8;0.8;0.8 Weighting factor for each iteration (0-1)
"similarity";0.8;0.8;0.8 Weighting for similar in r=similarityw + cost(1w), w=weight

ANTS

The flags available are blur, step, gradient, simplex, and w_translations. This is dictated by the fact pydpiper uses minctracc for linear registration at the moment.

Flag; values Description
"blur";0.3;0.2;0.15 same as above but NOT IMPLEMENTED CURRENTLY for ANTS
"gradient";False,True;False,True;False,True Note there are two options per level, as the second image metric command in to ATNs is the gradient image which can be blurred
"similarity_metric";"CC,CC";"CC,CC";"CC,CC" Metric used for similarity measure, CC - Normalized Cross-correlation, two values for the intensity and gradient images
"weight";"1,1";"1,1";"1,1" Weight used for each image metric command, typically 1 unless different contrasts for each image metric
"radius_or_histo";"3,3";"3,3";"3,3" metric radius (for CC metric) in voxels
"transformation";"SyN[0.1]";"SyN[0.1]";"SyN[0.1]" Metric for transformation, step length in voxels, other options are available seen ANTS --help
"regularization";"Gauss[2,1]";"Gauss[2,1]";"Gauss[2,1]" Regularization of any transformations, first value is the sigma of the guassian for the gradient field and the second is the sigma for the deformation field in voxel units
"iterations";"100x100x100x0";"100x100x100x40";"100x100x100x150" Iterations per level
"useMask";False;True;True If true adds a mask to the ANTS call to define the ROI of the registration
"memoryRequired";0.177;1.385e-7;2.1e-7 Estimates of memory required at each stage, but pydpiper has a means of estimating this automatically