[clitk-commits-list] Clitk branch master updated. v1.2.0-611-gcdec3fe

root root at tux.creatis.insa-lyon.fr
Thu Dec 22 18:14:28 CET 2011


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Clitk".

The branch, master has been updated
       via  cdec3fe358bfd005cb60ad6bf83def00291c86ea (commit)
       via  dccc3844aeeffc19a6515e7e1969da7ce18c6698 (commit)
      from  de73c67818eb9bb316269a5db3d5a32d91a92fa5 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.creatis.insa-lyon.fr/pubgit/?p=clitk.git;a=commitdiff;h=cdec3fe358bfd005cb60ad6bf83def00291c86ea

commit cdec3fe358bfd005cb60ad6bf83def00291c86ea
Author: Romulo Pinho <romulo.pinho at lyon.unicancer.fr>
Date:   Thu Dec 22 17:50:48 2011 +0100

    midpP: combine VF's after inverting and composing

diff --git a/scripts/create_midP-2.0.sh b/scripts/create_midP-2.0.sh
index 3cd023c..c38555a 100755
--- a/scripts/create_midP-2.0.sh
+++ b/scripts/create_midP-2.0.sh
@@ -221,6 +221,107 @@ midp()
   echo
 }
 
+midp_in_out()
+{
+  echo
+  echo "----------- Mid-position ------------"
+  start=`date`
+  echo "start: $start"
+  echo
+
+  mkdir -p $midp_dir
+
+  ########### calculate the midp wrt the reference phase
+  phase_nb=$ref_phase_nb
+  phase_file=$ref_phase_file
+  echo "Calculating midp_$phase_nb.mhd..."
+  vf_midp_in=$midp_dir/vf_inside_midp_$phase_nb.mhd
+  vf_midp_out=$midp_dir/vf_outside_midp_$phase_nb.mhd
+  # average the vf's from reference phase to phase
+  clitkAverageTemporalDimension -i $vf_dir/vf_inside_${ref_phase_nb}_4D.mhd -o $vf_midp_in
+  abort_on_error midp $? clean_up_midp
+  clitkAverageTemporalDimension -i $vf_dir/vf_outside_${ref_phase_nb}_4D.mhd -o $vf_midp_out
+  abort_on_error midp $? clean_up_midp
+
+  # invert the vf (why?)
+  clitkInvertVF -i $vf_midp_in -o $vf_midp_in
+  abort_on_error midp $? clean_up_midp
+  clitkInvertVF -i $vf_midp_out -o $vf_midp_out
+  abort_on_error midp $? clean_up_midp
+
+  # combine in and out VF's
+  ref_vf_midp_in=$vf_midp_in
+  ref_vf_midp_out=$vf_midp_out
+  vf_midp=$midp_dir/vf_midp_$phase_nb.mhd
+  clitkCombineImage -i $vf_midp_in -j $vf_midp_out -o $vf_midp -m $mask_dir/mm_$phase_nb.mhd
+  clitkZeroVF -i $vf_midp -o vf_zero.mhd
+  clitkCombineImage -i $vf_midp -j vf_zero.mhd -o $vf_midp -m $mask_dir/patient_mask_$phase_nb.mhd
+
+  # create the midp by warping the reference phase with the reference vf
+  midp=$midp_dir/midp_$phase_nb.mhd
+  clitkWarpImage -i $phase_file -o $midp --vf=$vf_midp -s 1
+  abort_on_error midp $? clean_up_midp
+
+  clitkImageConvert -i $midp -o $midp -t float
+  abort_on_error midp $? clean_up_midp
+
+  ########### calculate the midp wrt the other phases
+  for i in $( seq 0 $((${#phase_files[@]} - 1))); do
+    phase_file=${phase_files[$i]}
+    phase_nb=${phase_nbs[$i]}
+    vf_midp_in=$midp_dir/vf_inside_midp_$phase_nb.mhd
+    vf_midp_out=$midp_dir/vf_outside_midp_$phase_nb.mhd
+
+    if [ "$phase_nb" != "$ref_phase_nb" ]; then
+      echo "Calculating midp_$phase_nb.mhd..."
+      # calculate vf from phase to midp, using the vf from reference phase to midp (-i)
+      # and the vf from reference phase to phase (-j)
+      clitkComposeVF -i $ref_vf_midp_in -j $vf_dir/vf_inside_$ref_phase_nb\_$phase_nb.mhd -o $vf_midp_in
+      abort_on_error midp $? clean_up_midp
+      clitkComposeVF -i $ref_vf_midp_out -j $vf_dir/vf_outside_$ref_phase_nb\_$phase_nb.mhd -o $vf_midp_out
+      abort_on_error midp $? clean_up_midp
+
+      # combine in and out VF's
+      vf_midp=$midp_dir/vf_midp_$phase_nb.mhd
+      clitkCombineImage -i $vf_midp_in -j $vf_midp_out -o $vf_midp -m $mask_dir/mm_$phase_nb.mhd
+      clitkZeroVF -i $vf_midp -o vf_zero.mhd
+      clitkCombineImage -i $vf_midp -j vf_zero.mhd -o $vf_midp -m $mask_dir/patient_mask_$phase_nb.mhd
+      
+      midp=$midp_dir/midp_$phase_nb.mhd
+      clitkWarpImage -i $phase_file -o $midp --vf=$vf_midp -s 1
+      abort_on_error midp $? clean_up_midp
+      
+      clitkImageConvert -i $midp -o $midp -t float
+      abort_on_error midp $? clean_up_midp
+    fi
+  done
+
+  rm vf_zero.*
+
+  # create 4D midp
+  create_mhd_4D_pattern.sh $midp_dir/midp_
+  create_mhd_4D_pattern.sh $midp_dir/vf_midp_
+  create_mhd_4D_pattern.sh $midp_dir/vf_inside_midp_
+  create_mhd_4D_pattern.sh $midp_dir/vf_outside_midp_
+
+  echo "Calculating midp_avg.mhd..."
+  clitkAverageTemporalDimension -i $midp_dir/midp_4D.mhd -o $midp_dir/midp_avg.mhd
+  abort_on_error midp $? clean_up_midp
+
+  echo "Calculating midp_med.mhd..."
+  clitkMedianTemporalDimension -i $midp_dir/midp_4D.mhd -o $midp_dir/midp_med.mhd
+  abort_on_error midp $? clean_up_midp
+
+  # clean-up
+  #rm $midp_dir/vf_*
+      
+  echo
+  echo "-------- Mid-position done ! --------"
+  end=`date`
+  echo "start: $start"
+  echo "end: $end"
+  echo
+}
 
 
 ######################### main
@@ -257,8 +358,13 @@ if [ "$step" == "registration" -o "$step" == "all" ]; then
   registration
 fi 
 
+midp_combined_vf=0
 if [ "$step" == "midp" -o "$step" == "all" ]; then
-  midp
+  if [ $midp_combined_vf = 0 ]; then
+    midp_in_out
+  else
+    midp
+  fi
 fi 
 
 echo

http://git.creatis.insa-lyon.fr/pubgit/?p=clitk.git;a=commitdiff;h=dccc3844aeeffc19a6515e7e1969da7ce18c6698

commit dccc3844aeeffc19a6515e7e1969da7ce18c6698
Author: Romulo Pinho <romulo.pinho at lyon.unicancer.fr>
Date:   Thu Dec 22 14:38:34 2011 +0100

    use of coefficient images in mid-P creation

diff --git a/scripts/create_midP-2.0.sh b/scripts/create_midP-2.0.sh
index 1f18830..3cd023c 100755
--- a/scripts/create_midP-2.0.sh
+++ b/scripts/create_midP-2.0.sh
@@ -41,6 +41,7 @@ registration()
   banded=""
 
   # params read from conf file
+  use_coeffs=1
   params="$nb_iter $nb_samples $sampling_algo $nb_hist_bins $nb_levels $bspline_spacing $metric $optimizer $interpolator"
 
   # register all phases to the reference
@@ -57,6 +58,10 @@ registration()
       vf_in=$vf_dir/vf_inside_${ref_phase_nb}_$phase_nb.mhd
       result_in=$output_dir/result_inside_${ref_phase_nb}_$phase_nb.mhd
       log_in=$log_dir/log_inside_${ref_phase_nb}_$phase_nb.log
+      if [ $use_coeffs = 1 ]; then
+        init_coeff_in=$coeff_in # empty at first iteration
+        coeff_in=$vf_dir/coeff_inside_${ref_phase_nb}_$phase_nb.mhd
+      fi
 
       # outside params
       reference_out=$mask_dir/${banded}outside_$ref_phase_nb.mhd
@@ -66,11 +71,15 @@ registration()
       vf_out=$vf_dir/vf_outside_$ref_phase_nb\_$phase_nb.mhd
       result_out=$output_dir/result_outside_$ref_phase_nb\_$phase_nb.mhd
       log_out=$log_dir/log_outside_${ref_phase_nb}_$phase_nb.log
+      if [ $use_coeffs = 1 ]; then
+        init_coeff_out=$coeff_out # empty at first iteration
+        coeff_out=$vf_dir/coeff_outside_${ref_phase_nb}_$phase_nb.mhd
+      fi
 
       # registration
       if [ "$method" == "blutdir" ]; then
-        registration_blutdir $reference_in $target_in $mask_ref_in $mask_targ_in $vf_in $result_in $params $log_in
-        registration_blutdir $reference_out $target_out $mask_ref_out $mask_targ_out $vf_out $result_out $params $log_out
+        registration_blutdir $reference_in $target_in $mask_ref_in $mask_targ_in $vf_in $result_in $params $log_in $coeff_in $init_coeff_in
+        registration_blutdir $reference_out $target_out $mask_ref_out $mask_targ_out $vf_out $result_out $params $log_out $coeff_out $init_coeff_out
       elif [ "$method" == "elastix" ]; then
         registration_elastix $reference_in $target_in $mask_ref_in $mask_targ_in $vf_in $result_in $params $log_in
         registration_elastix $reference_out $target_out $mask_ref_out $mask_targ_out $vf_out $result_out $params $log_out
diff --git a/scripts/registration.sh b/scripts/registration.sh
index 724e3ac..5431342 100755
--- a/scripts/registration.sh
+++ b/scripts/registration.sh
@@ -37,26 +37,37 @@ source `dirname $0`/midp_common.sh
 ################# BLUTDIR #####################
 registration_blutdir()
 {
-  reference=$1
-  target=$2
-  mask_ref=$3
-  mask_targ=$4
-  vf=$5
-  result=$6
-  nb_iter=$7
-  nb_samples=$8
-  sampling_algo=$9
-  hist_bins=${10}
-  nb_levels=${11}
-  spacing=${12}
-  metric=${13}
-  optimizer=${14}
-  interpolator=${15}
-  log=${16}
+  local reference=$1
+  local target=$2
+  local mask_ref=$3
+  local mask_targ=$4
+  local vf=$5
+  local result=$6
+  local nb_iter=$7
+  local nb_samples=$8
+  local sampling_algo=$9
+  local hist_bins=${10}
+  local nb_levels=${11}
+  local spacing=${12}
+  local metric=${13}
+  local optimizer=${14}
+  local interpolator=${15}
+  local log=${16}
+  local coeff=${17}
+  local init_coeff=${18}
 
   echo "Computing BLUTDIR $reference -> $target ..."
   blutdir_params="--levels $nb_levels  --metric $metric --optimizer $optimizer --samples $nb_samples --spacing $spacing,$spacing,$spacing --bins $hist_bins --maxIt $nb_iter --interp $interpolator --verbose"
-  cmd="clitkBLUTDIR -r $reference -t $target -m $mask_ref --targetMask $mask_targ --vf $vf -o $result $blutdir_params"
+
+  if [ -n "$coeff" ]; then
+    coeff="--coeff $coeff"
+  fi
+  
+  if [ -n "$init_coeff" ]; then
+    init_coeff="--initCoeff $init_coeff"
+  fi
+  
+  cmd="clitkBLUTDIR -r $reference -t $target -m $mask_ref --targetMask $mask_targ --vf $vf $coeff $init_coeff -o $result $blutdir_params"
   $cmd > $log
 
   abort_on_error registration_blutdir $? clean_up_registration

-----------------------------------------------------------------------

Summary of changes:
 scripts/create_midP-2.0.sh |  121 ++++++++++++++++++++++++++++++++++++++++++-
 scripts/registration.sh    |   45 ++++++++++------
 2 files changed, 146 insertions(+), 20 deletions(-)


hooks/post-receive
-- 
Clitk


More information about the Clitk-commits-list mailing list