For the registration of embryo data, we use slightly different settings for MICe-build-model compared to the registration of brain data. So far we have not been able to determine a workable set of parameters for mincANTS, and so we use minctracc. To allow for larger deformations (embryo data tends to be more dissimilar) a non-linear stage with a larger blurring kernel is added at the start of the non-linear stage, and the stiffness settings for the elastic grid for minctracc are set more loosely.

 

For input data at a resolution of 15micron, the following is a sample incantation of the MICe-build-model.pl script :

Assumptions:

  • the embryo data is either OPT or CT (because we use the -no-nuc option, meaning that we do not do non-uniformity correction caused by the MR)
  • the data is already roughly aligned, i.e., they overlap in space and face the same direction. If this is not the case,the -lsq6-identity flag should be changed
> MICe-build-model.pl
-pipeline-name some_embryo_pipeline
-init-model /some/initial/model/prefix
-no-inormalize
-no-resample-atlas
-no-registration-accuracy
-no-nuc
-lsq6-initial-step 0.1
-lsq6-identity
-no-lsq6-large-rotations
-lsq6-kernels 1.0_blur,0.8_blur,0.5_blur 
-lsq12
-lsq12-initial-step 0.1
-lsq12-kernels 2.0_blur,1.0_blur
-lsq12-max-pairs 0
-nlin
-nlin-stats
-nlin-registration-method minctracc
-nlin-protocol embryo_smasher.pl
-stiffness 0.5 
-similarity 0.5 
-weight 0.3
[ input embryo MINC files ]

where the file embryo_smasher.pl contains:

> cat embryo_smasher.pl
 (
 { memory => 4,
 generation => 1,
 kernel => 0.6,
 iterations => 40,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.3, 
 },
 { memory => 4,
 generation => 2,
 kernel => 0.4,
 iterations => 40,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.3,
 },
 { memory => 4,
 generation => 3,
 kernel => 0.2,
 iterations => 20,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.2,
 },
 { memory => 4,
 generation => 4,
 kernel => 0.15,
 iterations => 20,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.15,
 },
 { memory => 4,
 generation => 5,
 kernel => 0.09,
 iterations => 10,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.09,
 },
{ memory => 4,
 generation => 6,
 kernel => 0.05,
 iterations => 10,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.05,
 },
{ memory => 4,
 generation => 7,
 kernel => 0.03,
 iterations => 10,
 simplex => 3,
 ncpus => 1,
 use_gradient => 0,
 optimization => "-use_simplex",
 step => 0.03,
 },
 
 
 );

 

 
  • No labels