From fdf6dafe0210f0c6ebf4a81546e146eb0a7ffb5b Mon Sep 17 00:00:00 2001
From: Christopher Schmied <schmied@mpi-cbg.de>
Date: Tue, 30 Jun 2015 15:17:16 +0200
Subject: [PATCH] Set up tests for snakemake pipeline

---
 .../timelapse/SingleChannel.yaml              | 189 -------------
 spim_registration/timelapse/Snakefile         |  10 +-
 .../timelapse/dual_OneChannel.yaml            | 260 ++++++++++++++++++
 spim_registration/timelapse/single_test.yaml  | 260 ++++++++++++++++++
 spim_registration/timelapse/tomancak.json     |  88 ------
 spim_registration/timelapse/tomancak_czi.json | 204 --------------
 .../timelapse/tomancak_test_cluster.json      | 202 --------------
 .../timelapse/tomancak_test_cluster.yaml      |  11 +-
 8 files changed, 533 insertions(+), 691 deletions(-)
 delete mode 100755 spim_registration/timelapse/SingleChannel.yaml
 create mode 100755 spim_registration/timelapse/dual_OneChannel.yaml
 create mode 100755 spim_registration/timelapse/single_test.yaml
 delete mode 100644 spim_registration/timelapse/tomancak.json
 delete mode 100644 spim_registration/timelapse/tomancak_czi.json
 delete mode 100644 spim_registration/timelapse/tomancak_test_cluster.json

diff --git a/spim_registration/timelapse/SingleChannel.yaml b/spim_registration/timelapse/SingleChannel.yaml
deleted file mode 100755
index 60b1688..0000000
--- a/spim_registration/timelapse/SingleChannel.yaml
+++ /dev/null
@@ -1,189 +0,0 @@
-common: {
-  # directory that contains the bean shell scripts
-  bsh_directory: "/projects/pilot_spim/Christopher/snakemake-workflows/spim_registration/timelapse/",
-  directory_cuda: "/sw/users/schmied/packages/2015-06-08_Fiji.app.cuda/lib/",
-  fiji-app: "/sw/users/schmied/packages/2015-06-08_Fiji.app.cuda/ImageJ-linux64",
-  fiji-prefix: "/sw/bin/xvfb-run -a",
-  first_xml_filename: "test_unicore",
-  hdf5_xml_filename: '"hdf5_test_unicore"',
-  merged_xml: "hdf5_test_unicore_merge",
-  ntimepoints: 5,
-  angles: "0,72,144,216,288",
-  channels: "green",
-  illumination: "0",
-  pixel_distance_x: '0.28590106964',
-  pixel_distance_y: '0.28590106964',
-  pixel_distance_z: '1.50000',
-  pixel_unit: "um",
-  # transformation_switch: "timelapse_dublicate",
-  transformation_switch: "timelapse",
-  # fusion_switch: "deconvolution"
-  fusion_switch: "fusion"
-  }
-              
-define_xml_czi: {
-  first_czi: "2015-04-11_LZ2_Stock68_3.czi",
-  rotation_around: "X-Axis",
-  bsh_file: "define_czi.bsh"
-  }
-          
-define_xml_tif: {
-  image_file_pattern: 'img_TL{{t}}_Angle{{a}}.tif',
-  imglib_container: '"ArrayImg (faster)"',
-  multiple_angles: '"YES (one file per angle)"',
-  multiple_channels: '"NO (one channel)"',
-  multiple_illumination_directions: '"NO (one illumination direction)"',
-  multiple_timepoints: '"YES (one file per time-point)"',
-  type_of_dataset: '"Image Stacks (ImageJ Opener)"',
-  bsh_file: "define_tif_zip.bsh"
-  }
-  
-resave_hdf5: {
-  hdf5_chunk_sizes: '"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}"',
-  resave_angle: '"All angles"',
-  resave_channel: '"All channels"',
-  resave_illumination: '"All illuminations"',
-  resave_timepoint: '"All Timepoints"',
-  setups_per_partition: '0',
-  subsampling_factors: '"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}"',
-  timepoints_per_partition: '1',
-  bsh_file: "export.bsh"
-  }
-
-registration: {
-  # "Single Channel" is not a valid choice for "Process_channel"
-  reg_process_channel: '"All channels"', 
-  reg_processing_channel: '"green"',
-  reg_interest_points_channel: '"beads"',
-  reg_radius_1: '2',
-  reg_radius_2: '3',
-  reg_threshold: '0.005',
-  initial_sigma: '1.8',
-  threshold_gaussian: '0.0080',
-  type_of_detection: '"Difference-of-Mean (Integral image based)"',
-  label_interest_points: '"beads"',
-  reg_process_timepoint: '"Single Timepoint (Select from List)"',
-  reg_process_angle: '"All angles"',
-  reg_process_illumination: '"All illuminations"',
-  subpixel_localization: '"3-dimensional quadratic fit"',
-  detection_min_max: "find_maxima",
-  type_of_registration: '"Register timepoints individually"',
-  algorithm: '"Fast 3d geometric hashing (rotation invariant)"',
-  transformation_model: "Affine",
-  allowed_error_for_ransac: '5',
-  significance: '10',
-  fix_tiles: '"Fix first tile"',
-  map_back_tiles: '"Map back to first tile using rigid model"',
-  model_to_regularize_with: "Rigid",
-  lambda: '0.10',
-  imglib_container: '"ArrayImg (faster)"',
-  bsh_file: "registration.bsh"
-  }
-
-xml_merge: {
-  bsh_file: "xml_merge.bsh"
-  }
-  
-timelapse: {
-  reference_timepoint: '0',
-  type_of_registration_timelapse: '"Match against one reference timepoint (no global optimization)"',
-  timelapse_process_timepoints: '"All Timepoints"',
-  bsh_file: "timelapse_registration.bsh"
-  }
-  
-Dublicate_transformations: {
-  source_dublication: "red",
-  target_dublication: "green",
-  duplicate_which_transformations: '"Replace all transformations"',
-  bsh_file: "Dublicate_transformations.bsh"
-  }
-  
-fusion: {
-  bsh_file: "fusion.bsh",
-  downsample: '4',
-  fused_image: '"Append to current XML Project"',
-  imglib2_container_fusion: '"ArrayImg"',
-  imglib2_data_container: '"ArrayImg (faster)"',
-  interpolation: '"Linear Interpolation"',
-  minimal_x: '190',
-  minimal_y: '-16',
-  minimal_z: '-348',
-  maximal_x: '1019',
-  maximal_y: '1941',
-  maximal_z: '486',
-  pixel_type: '"16-bit unsigned integer"',
-  process_angle: '"All angles"',
-  process_channel: '"All channels"',
-  process_illumination: '"All illuminations"',
-  process_timepoint: '"Single Timepoint (Select from List)"',
-  process_views_in_paralell: '"All"',
-  xml_output: '"Save every XML with user-provided unique id"'
-  }
-
-external_transform: {
-  # channel setting: '"all_channels"'
-  channel_setting: '"green"',
-  transform_timepoint: '"All Timepoints"',
-  transform_angle: '"All angles"',
-  transform_channel: '"All channels"',
-  # illumination setting only one illumination side
-  transform_illumination: '"All illuminations"',
-  apply_transformation: '"Current view transformations (appends to current transforms)"',
-  define_mode_transform: '"Matrix"',
-  matrix_transform: '"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0"',
-  transformation: '"Rigid"',
-  bsh_file: "transform.bsh"
-  }
-
-deconvolution: {
-  iterations: '1',
-  minimal_x_deco: '190',
-  minimal_y_deco: '-16',
-  minimal_z_deco: '-348',
-  maximal_x_deco: '1019',
-  maximal_y_deco: '1941',
-  maximal_z_deco: '486',
-  detections_to_extract_psf_for_channel: '"beads"',
-  process_timepoint: '"Single Timepoint (Select from List)"',
-  process_angle: '"All angles"',
-  process_channel: '"All channels"',
-  process_illumination: '"All illuminations"',
-  Tikhonov_parameter: '0.0006',
-  compute: '"in 512x512x512 blocks"',
-  compute_on: '"GPU (Nvidia CUDA via JNA)"',
-  imglib2_container: '"ArrayImg"',
-  osem_acceleration: '"1 (balanced)"',
-  psf_estimation: '"Extract from beads"',
-  psf_size_x: '19',
-  psf_size_y: '19',
-  psf_size_z: '25',
-  type_of_iteration: '"Efficient Bayesian - Optimization I (fast, precise)"',
-  bsh_file: "deconvolution_GPU.bsh"
-  }
-  
-hdf5_output: {
-  output_image_file_pattern: 'TP{{t}}_Chgreen_Ill0_Ang0,72,144,216,288.tif',
-  output_xml: '"fused_Single_Channel"',
-  output_hdf5_xml: '"hdf5_fused_Single_Channel"',
-  output_multiple_channels: '"NO (one channel)"',
-  output_timepoints: '0-4',
-  output_pixel_distance_x: 0.5718,
-  output_pixel_distance_y: 0.5718,
-  output_pixel_distance_z: 0.5718,
-  output_pixel_unit: 'um',
-  output_channels: "green",
-  output_data_type: "32Bit",
-  convert_32bit: '"[Use min/max of first image (might saturate intenities over time)]"',
-  output_type_of_dataset: '"Image Stacks (ImageJ Opener)"',
-  output_multiple_timepoints: '"YES (one file per time-point)"',
-  output_multiple_angles: '"NO (one angle)"',
-  output_illumination_directions: '"NO (one illumination direction)"',
-  output_imglib_container: '"ArrayImg (faster)"',
-  subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}}, {{4,4,4}}, {{8,8,8}} }}"',
-  chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}}, {{16,16,16}}, {{16,16,16}} }}"',
-  # subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}} }}"',
-  # chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}} }}"',
-  bsh_file_define: "define_output.bsh",
-  bsh_file_hdf5: "export_output.bsh"
-  }
-
diff --git a/spim_registration/timelapse/Snakefile b/spim_registration/timelapse/Snakefile
index 46f603e..5518ba9 100755
--- a/spim_registration/timelapse/Snakefile
+++ b/spim_registration/timelapse/Snakefile
@@ -6,8 +6,12 @@ JOBDIR=os.path.abspath(os.path.curdir)
 if JOBDIR[-1] != "/": # this checks if jobdir ends with slash if not it adds a slash
    JOBDIR+="/"
 
-#data specific config file, expected to be inside JOBDIR
-# configfile: "tomancak_test_cluster.json"
+# Test config file single Channel:
+# configfile: single_test.yaml
+# Test config file dual channel one channel contains beads:
+# configfile: dual_OneChannel.yaml
+
+# data specific config file, expected to be inside JOBDIR
 configfile: "tomancak_test_cluster.yaml"
 
 
@@ -260,7 +264,7 @@ rule timelapse:
         cmd_string += " > {log} 2>&1 && touch {output}"
         shell(cmd_string)
 
-rule dublicate_transformations:
+rule duplicate_transformations:
     input: rules.timelapse.output, merged_xml="{xml_base}_merge.xml"
     output: rules.timelapse.output[0] + "_dublicate"
     log: "{xml_base}_dublicate_transformations.log"
diff --git a/spim_registration/timelapse/dual_OneChannel.yaml b/spim_registration/timelapse/dual_OneChannel.yaml
new file mode 100755
index 0000000..b009596
--- /dev/null
+++ b/spim_registration/timelapse/dual_OneChannel.yaml
@@ -0,0 +1,260 @@
+common: {
+  # directory that contains the bean shell scripts and Snakefile
+  bsh_directory: "/projects/pilot_spim/Christopher/snakemake-workflows/spim_registration/timelapse/", 
+  # Directory that contains the cuda libraries
+  directory_cuda: "/sw/users/schmied/cuda/",                                                          
+  # Directory that contains the current working Fiji
+  #fiji-app: "/sw/users/schmied/packages/2015-06-08_Fiji.app.cuda/ImageJ-linux64",
+  fiji-app: "/sw/users/schmied/packages/2015-05-29_Fiji_2.3.9_SNAP.app.cuda/ImageJ-linux64",          
+  fiji-prefix: "/sw/bin/xvfb-run -a",       # calls xvfb for Fiji headless mode
+  # xml file names without .xml suffix
+  first_xml_filename: "Dual_Channel",       # Name of the xml file for the .czi or .tif files
+  hdf5_xml_filename: '"hdf5_Dual_Channel"', # Name of .xml file for the hdf5 data after resave_hdf5
+  merged_xml: "hdf5_Dual_Channel_merge",    # Name of .xml file after merge
+  # Describe the dataset
+  ntimepoints: 2,               # number of timepoints of dataset
+  angles: "0,72,144,216,288",   # angles          
+  channels: "green,red",        # channels
+  illumination: "0",            # illuminations
+  pixel_distance_x: '0.28590',  # Manual calibration x
+  pixel_distance_y: '0.28590',  # Manual calibration y
+  pixel_distance_z: '1.50000',  # Manual calibration z
+  pixel_unit: "um",             # unit of manual calibration
+  # Use switches to decide which processing steps you need:
+  # transformation_switch: "timelapse" standard processing
+  # after timelapse registration directly goes into fusion, timelapse_duplicate
+  # "timelapse_duplicate" for dual channel processing one channel contains the beads
+  # duplicates transformations
+  transformation_switch: "timelapse_duplicate", 
+  # Switches between content based fusion and deconvoltion
+  # "deconvolution" > for deconvolution
+  # "fusion" > for content based fusion
+  fusion_switch: "deconvolution"
+  }
+
+define_xml_czi: {
+  first_czi: "2015-02-20_LZ2_Stock48_Stock58.czi", # master .czi file
+  rotation_around: "X-Axis",                       # axis of acquistion
+  bsh_file: "define_czi.bsh"                       # .bsh script for defining .czi file
+  }
+          
+define_xml_tif: {
+  # file pattern of .tif files
+  # for multi channel give spim_TL{tt}_Angle{a}_Channel{c}.tif
+  # # SPIM file pattern: for padded zeros use tt 
+  image_file_pattern: 'img_TL{{t}}_Angle{{a}}.tif', 
+  # Settings for ImageJ Opener
+  type_of_dataset: '"Image Stacks (ImageJ Opener)"',
+  multiple_timepoints: '"YES (one file per time-point)"', # or NO (one time-point)
+  multiple_angles: '"YES (one file per angle)"',          # or NO (one angle)
+  multiple_channels: '"NO (one channel)"',                # or "\"NO (one channel)\""
+  multiple_illumination_directions: '"NO (one illumination direction)"', # or YES (one file per illumination direction)
+  imglib_container: '"ArrayImg (faster)"',        # '"ArrayImg (faster)"'
+  bsh_file: "define_tif_zip.bsh"  
+  }
+  
+resave_hdf5: {
+  # Resaves .tif or .czi data into hdf5
+  # Subsampling and resolution settings for hdf5: data dependent
+  hdf5_chunk_sizes: '"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}"', 
+  subsampling_factors: '"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}"',  
+  # Standard settings for cluster processing
+  setups_per_partition: '0',
+  timepoints_per_partition: '1',
+  resave_timepoint: '"All Timepoints"',  
+  resave_angle: '"All angles"',
+  resave_channel: '"All channels"',
+  resave_illumination: '"All illuminations"',
+  bsh_file: "export.bsh"
+  }
+
+registration: {
+  # reg_process_channel:
+  # # Single Channel:  '"All channels"'
+  # Dual Channel: '"All channels"'
+  # Dual Channel one Channel contains beads: '"Single channel (Select from List)"'
+  reg_process_channel: '"Single channel (Select from List)"',
+  # reg_processing_channel:
+  # Dual Channel setting for 1 Channel contains the beads
+  reg_processing_channel: '"red"',      
+  # reg_interest_points_channel:
+  # Single Channel: '"beads"'
+  # Dual Channel: '"beads,beads"'
+  # Dual Channel: Channel does not contain the beads '"[DO NOT register this channel],beads"'
+  reg_interest_points_channel: '"beads"',
+  # type of detection: '"Difference-of-Mean (Integral image based)"' or '"Difference-of-Gaussian"'
+  type_of_detection: '"Difference-of-Mean (Integral image based)"',  
+  # Settings for Difference-of-Mean
+  # For multiple channels 'value1,value2' delimiter is ,
+  reg_radius_1: '2',          
+  reg_radius_2: '3',            
+  reg_threshold: '0.005',
+  # Settings for Difference-of-Gaussian
+  # For multiple channels 'value1,value2' delimiter is ,
+  sigma: '1.8',         
+  threshold_gaussian: '0.0080',   
+  # Processing setting for Difference-of-Gaussian detection
+  # compute_on:
+  compute_on: '"GPU accurate (Nvidia CUDA via JNA)"',
+  separableconvolution: '"libSeparableConvolutionCUDALib.so"',
+  # Downsampling settings
+  downsample_detection: "No", # "No" or "Yes"
+  downsample_xy: '"Match Z Resolution (less downsampling)"',
+  downsample_z: "1x",
+  # Standard Settings for bead based registration
+  label_interest_points: '"beads"',              
+  reg_process_timepoint: '"Single Timepoint (Select from List)"',
+  reg_process_angle: '"All angles"',
+  reg_process_illumination: '"All illuminations"',
+  subpixel_localization: '"3-dimensional quadratic fit"',
+  detection_min_max: "find_maxima",
+  type_of_registration: '"Register timepoints individually"',
+  algorithm: '"Fast 3d geometric hashing (rotation invariant)"',
+  transformation_model: "Affine",
+  allowed_error_for_ransac: '5',
+  significance: '10',
+  fix_tiles: '"Fix first tile"',
+  map_back_tiles: '"Map back to first tile using rigid model"',
+  model_to_regularize_with: "Rigid",
+  lambda: '0.10',
+  imglib_container: '"ArrayImg (faster)"',
+  bsh_file: "registration.bsh"  # .bsh script for registration
+  }
+
+xml_merge: {
+  bsh_file: "xml_merge.bsh"
+  }
+  
+timelapse: {
+  reference_timepoint: '0',   # Reference timepoint
+  # Standard settings for timelapse registration
+  type_of_registration_timelapse: '"Match against one reference timepoint (no global optimization)"',
+  timelapse_process_timepoints: '"All Timepoints"',
+  bsh_file: "timelapse_registration.bsh"
+  }
+  
+dublicate_transformations: {
+  # If dual channel processing and only one channel contains beads
+  # this allows you to dublicate the transformation for the 
+  # channel that does not contain beas
+  source_dublication: "red",  # source channel
+  target_dublication: "green", # target channel
+  duplicate_which_transformations: '"Replace all transformations"', # mode of dublication
+  bsh_file: "dublicate_transformations.bsh" # .bsh script for dublication
+  }
+  
+fusion: {
+  # content based multiview fusion
+  # supports multi channel without new settings
+  downsample: '1',  # set downsampling
+  # Cropping parameters of full resolution
+  minimal_x: '220', 
+  minimal_y: '40',  
+  minimal_z: '-290',  
+  maximal_x: '976',   
+  maximal_y: '1892',    
+  maximal_z: '472',   
+  # fused_image: '"Append to current XML Project"', does not work yet
+  process_timepoint: '"Single Timepoint (Select from List)"',
+  process_angle: '"All angles"',
+  process_channel: '"All channels"',
+  process_illumination: '"All illuminations"',
+  imglib2_container_fusion: '"ArrayImg"',
+  interpolation: '"Linear Interpolation"',
+  pixel_type: '"16-bit unsigned integer"',
+  imglib2_data_container: '"ArrayImg (faster)"',
+  process_views_in_paralell: '"All"',
+  xml_output: '"Save every XML with user-provided unique id"',
+  bsh_file: "fusion.bsh"
+  }
+
+external_transform: {
+  # Downsamples for deconvolution
+  # BUG: external transformation breaks .xml file
+  # channel setting: '"all_channels"'
+  channel_setting: '"green,red"',
+  transform_timepoint: '"All Timepoints"',
+  transform_angle: '"All angles"',
+  transform_channel: '"All channels"',
+  transform_illumination: '"All illuminations"',
+  apply_transformation: '"Current view transformations (appends to current transforms)"',
+  define_mode_transform: '"Matrix"',
+  # Matrix for downsampling
+  matrix_transform: '"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0"', 
+  transformation: '"Rigid"',
+  bsh_file: "transform.bsh"
+  }
+
+deconvolution: {
+  iterations: '1', # number of iterations
+  # Cropping parameters: take downsampling into account
+  minimal_x_deco: '190', 
+  minimal_y_deco: '-16', 
+  minimal_z_deco: '-348', 
+  maximal_x_deco: '1019', 
+  maximal_y_deco: '1941', 
+  maximal_z_deco: '486', 
+  # Channel settings for deconvolution
+  # Single Channel: '"beads"'
+  # Dual Channel: '"beads,beads"'
+  # Dual Channel one channel contains beads: '"[Same PSF as channel red],beads"'
+  detections_to_extract_psf_for_channel: '"[Same PSF as channel red],beads"',
+  # Settings for GPU or CPU processing 
+  # '"CPU (Java)"' or '"GPU (Nvidia CUDA via JNA)"'
+  compute_on: '"GPU (Nvidia CUDA via JNA)"',
+  cudafourierconvolution: "libFourierConvolutionCUDALib.so", # GPU processing name of cuda library
+  # Standard settings for deconvolution
+  process_timepoint: '"Single Timepoint (Select from List)"',
+  process_angle: '"All angles"',
+  process_channel: '"All channels"',
+  process_illumination: '"All illuminations"',
+  type_of_iteration: '"Efficient Bayesian - Optimization I (fast, precise)"',
+  Tikhonov_parameter: '0.0006',
+  compute: '"in 512x512x512 blocks"',
+  osem_acceleration: '"1 (balanced)"',
+  psf_estimation: '"Extract from beads"',
+  psf_size_x: '19',
+  psf_size_y: '19',
+  psf_size_z: '25',
+  imglib2_container: '"ArrayImg"',
+  bsh_file: "deconvolution.bsh"
+  }
+  
+hdf5_output: {
+  # writes new hdf5 dataset for fusion output: will be obsolete
+  # Naming pattern of output
+  # Single Channel: TP{t}_Chgreen_Ill0_Ang0,72,144,216,288.tif > Ch{name} is added here
+  # Dual Channel: TP{t}_Ch{0}_Ill0_Ang0,72,144,216,288.tif > Ch{name} is added here
+  output_image_file_pattern: 'TP{{t}}_Ch{{c}}_Ill0_Ang0,72,144,216,288.tif',
+  # channel setting
+  output_multiple_channels: '"YES (one file per channel)"', # '"YES (one file per channel)"' or  '"NO (one channel)"'
+  output_channels: "green,red",
+  # .xml file names
+  output_xml: '"fused_Dual_Channel"',
+  output_hdf5_xml: '"hdf5_fused_Dual_Channel"',
+  output_timepoints: '0-1', # Timepoints format: '1-2'
+  # pixel size of output: take downsampling into account!
+  output_pixel_distance_x: 0.28590, 
+  output_pixel_distance_y: 0.28590,
+  output_pixel_distance_z: 0.28590,
+  output_pixel_unit: 'um',
+  # give if 16Bit data or 32Bit data 
+  # output of fusion is 16Bit, of deconvolution it is 32Bit
+  output_data_type: "16Bit", # "32Bit" or "16Bit"
+  # if data is 32Bit then the data is converted into 16Bit data
+  convert_32bit: '"[Use min/max of first image (might saturate intenities over time)]"',
+  # subsampling and chunk size settings: dataset dependent
+  subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}}, {{4,4,4}}, {{8,8,8}} }}"', # data dependent
+  chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}}, {{16,16,16}}, {{16,16,16}} }}"', # data dependent
+  # subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}} }}"',
+  # chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}} }}"',
+  # Standard settings for hdf5_output
+  output_type_of_dataset: '"Image Stacks (ImageJ Opener)"',
+  output_multiple_timepoints: '"YES (one file per time-point)"',
+  output_multiple_angles: '"NO (one angle)"',
+  output_illumination_directions: '"NO (one illumination direction)"',
+  output_imglib_container: '"ArrayImg (faster)"',
+  bsh_file_define: "define_output.bsh", # .bsh script for defining the dataset
+  bsh_file_hdf5: "export_output.bsh"    # .bsh script for resaving into hdf5
+  }
+
diff --git a/spim_registration/timelapse/single_test.yaml b/spim_registration/timelapse/single_test.yaml
new file mode 100755
index 0000000..acc996e
--- /dev/null
+++ b/spim_registration/timelapse/single_test.yaml
@@ -0,0 +1,260 @@
+common: {
+  # directory that contains the bean shell scripts and Snakefile
+  bsh_directory: "/projects/pilot_spim/Christopher/snakemake-workflows/spim_registration/timelapse/", 
+  # Directory that contains the cuda libraries
+  directory_cuda: "/sw/users/schmied/cuda/",                                                          
+  # Directory that contains the current working Fiji
+  #fiji-app: "/sw/users/schmied/packages/2015-06-08_Fiji.app.cuda/ImageJ-linux64",
+  fiji-app: "/sw/users/schmied/packages/2015-05-29_Fiji_2.3.9_SNAP.app.cuda/ImageJ-linux64",          
+  fiji-prefix: "/sw/bin/xvfb-run -a",       # calls xvfb for Fiji headless mode
+  # xml file names without .xml suffix
+  first_xml_filename: "single",       # Name of the xml file for the .czi or .tif files
+  hdf5_xml_filename: '"hdf5_single"', # Name of .xml file for the hdf5 data after resave_hdf5
+  merged_xml: "hdf5_single_merge",    # Name of .xml file after merge
+  # Describe the dataset
+  ntimepoints: 2,               # number of timepoints of dataset
+  angles: "0,72,144,216,288",   # angles          
+  channels: "green",        # channels
+  illumination: "0",            # illuminations
+  pixel_distance_x: '0.28590106964',  # Manual calibration x
+  pixel_distance_y: '0.28590106964',  # Manual calibration y
+  pixel_distance_z: '1.50000',  # Manual calibration z
+  pixel_unit: "um",             # unit of manual calibration
+  # Use switches to decide which processing steps you need:
+  # transformation_switch: "timelapse" standard processing
+  # after timelapse registration directly goes into fusion, timelapse_duplicate
+  # "timelapse_duplicate" for dual channel processing one channel contains the beads
+  # duplicates transformations
+  transformation_switch: "timelapse", 
+  # Switches between content based fusion and deconvoltion
+  # "deconvolution" > for deconvolution
+  # "fusion" > for content based fusion
+  fusion_switch: "deconvolution"
+  }
+
+define_xml_czi: {
+  first_czi: "2015-04-11_LZ2_Stock68_3.czi", # master .czi file
+  rotation_around: "X-Axis",                       # axis of acquistion
+  bsh_file: "define_czi.bsh"                       # .bsh script for defining .czi file
+  }
+          
+define_xml_tif: {
+  # file pattern of .tif files
+  # for multi channel give spim_TL{tt}_Angle{a}_Channel{c}.tif
+  # # SPIM file pattern: for padded zeros use tt 
+  image_file_pattern: 'img_TL{{t}}_Angle{{a}}.tif', 
+  # Settings for ImageJ Opener
+  type_of_dataset: '"Image Stacks (ImageJ Opener)"',
+  multiple_timepoints: '"YES (one file per time-point)"', # or NO (one time-point)
+  multiple_angles: '"YES (one file per angle)"',          # or NO (one angle)
+  multiple_channels: '"NO (one channel)"',                # or "\"NO (one channel)\""
+  multiple_illumination_directions: '"NO (one illumination direction)"', # or YES (one file per illumination direction)
+  imglib_container: '"ArrayImg (faster)"',        # '"ArrayImg (faster)"'
+  bsh_file: "define_tif_zip.bsh"  
+  }
+  
+resave_hdf5: {
+  # Resaves .tif or .czi data into hdf5
+  # Subsampling and resolution settings for hdf5: data dependent
+  hdf5_chunk_sizes: '"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}"', 
+  subsampling_factors: '"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}"',  
+  # Standard settings for cluster processing
+  setups_per_partition: '0',
+  timepoints_per_partition: '1',
+  resave_timepoint: '"All Timepoints"',  
+  resave_angle: '"All angles"',
+  resave_channel: '"All channels"',
+  resave_illumination: '"All illuminations"',
+  bsh_file: "export.bsh"
+  }
+
+registration: {
+  # reg_process_channel:
+  # # Single Channel:  '"All channels"'
+  # Dual Channel: '"All channels"'
+  # Dual Channel one Channel contains beads: '"Single channel (Select from List)"'
+  reg_process_channel: '"All channels"',
+  # reg_processing_channel:
+  # Dual Channel setting for 1 Channel contains the beads
+  reg_processing_channel: '"green"',      
+  # reg_interest_points_channel:
+  # Single Channel: '"beads"'
+  # Dual Channel: '"beads,beads"'
+  # Dual Channel: Channel does not contain the beads '"[DO NOT register this channel],beads"'
+  reg_interest_points_channel: '"beads"',
+  # type of detection: '"Difference-of-Mean (Integral image based)"' or '"Difference-of-Gaussian"'
+  type_of_detection: '"Difference-of-Mean (Integral image based)"',  
+  # Settings for Difference-of-Mean
+  # For multiple channels 'value1,value2' delimiter is ,
+  reg_radius_1: '2',          
+  reg_radius_2: '3',            
+  reg_threshold: '0.005',
+  # Settings for Difference-of-Gaussian
+  # For multiple channels 'value1,value2' delimiter is ,
+  sigma: '1.8',         
+  threshold_gaussian: '0.0080',   
+  # Processing setting for Difference-of-Gaussian detection
+  # compute_on:
+  compute_on: '"GPU accurate (Nvidia CUDA via JNA)"',
+  separableconvolution: '"libSeparableConvolutionCUDALib.so"',
+  # Downsampling settings
+  downsample_detection: "No", # "No" or "Yes"
+  downsample_xy: '"Match Z Resolution (less downsampling)"',
+  downsample_z: "1x",
+  # Standard Settings for bead based registration
+  label_interest_points: '"beads"',              
+  reg_process_timepoint: '"Single Timepoint (Select from List)"',
+  reg_process_angle: '"All angles"',
+  reg_process_illumination: '"All illuminations"',
+  subpixel_localization: '"3-dimensional quadratic fit"',
+  detection_min_max: "find_maxima",
+  type_of_registration: '"Register timepoints individually"',
+  algorithm: '"Fast 3d geometric hashing (rotation invariant)"',
+  transformation_model: "Affine",
+  allowed_error_for_ransac: '5',
+  significance: '10',
+  fix_tiles: '"Fix first tile"',
+  map_back_tiles: '"Map back to first tile using rigid model"',
+  model_to_regularize_with: "Rigid",
+  lambda: '0.10',
+  imglib_container: '"ArrayImg (faster)"',
+  bsh_file: "registration.bsh"  # .bsh script for registration
+  }
+
+xml_merge: {
+  bsh_file: "xml_merge.bsh"
+  }
+  
+timelapse: {
+  reference_timepoint: '0',   # Reference timepoint
+  # Standard settings for timelapse registration
+  type_of_registration_timelapse: '"Match against one reference timepoint (no global optimization)"',
+  timelapse_process_timepoints: '"All Timepoints"',
+  bsh_file: "timelapse_registration.bsh"
+  }
+  
+dublicate_transformations: {
+  # If dual channel processing and only one channel contains beads
+  # this allows you to dublicate the transformation for the 
+  # channel that does not contain beas
+  source_dublication: "red",  # source channel
+  target_dublication: "green", # target channel
+  duplicate_which_transformations: '"Replace all transformations"', # mode of dublication
+  bsh_file: "dublicate_transformations.bsh" # .bsh script for dublication
+  }
+  
+fusion: {
+  # content based multiview fusion
+  # supports multi channel without new settings
+  downsample: '1',  # set downsampling
+  # Cropping parameters of full resolution
+  minimal_x: '190', 
+  minimal_y: '-16',  
+  minimal_z: '-348',  
+  maximal_x: '1019',   
+  maximal_y: '1941',    
+  maximal_z: '486',   
+  # fused_image: '"Append to current XML Project"', does not work yet
+  process_timepoint: '"Single Timepoint (Select from List)"',
+  process_angle: '"All angles"',
+  process_channel: '"All channels"',
+  process_illumination: '"All illuminations"',
+  imglib2_container_fusion: '"ArrayImg"',
+  interpolation: '"Linear Interpolation"',
+  pixel_type: '"16-bit unsigned integer"',
+  imglib2_data_container: '"ArrayImg (faster)"',
+  process_views_in_paralell: '"All"',
+  xml_output: '"Save every XML with user-provided unique id"',
+  bsh_file: "fusion.bsh"
+  }
+
+external_transform: {
+  # Downsamples for deconvolution
+  # BUG: external transformation breaks .xml file
+  # channel setting: '"all_channels"'
+  channel_setting: '"green"',
+  transform_timepoint: '"All Timepoints"',
+  transform_angle: '"All angles"',
+  transform_channel: '"All channels"',
+  transform_illumination: '"All illuminations"',
+  apply_transformation: '"Current view transformations (appends to current transforms)"',
+  define_mode_transform: '"Matrix"',
+  # Matrix for downsampling
+  matrix_transform: '"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0"', 
+  transformation: '"Rigid"',
+  bsh_file: "transform.bsh"
+  }
+
+deconvolution: {
+  iterations: '5', # number of iterations
+  # Cropping parameters: take downsampling into account
+  minimal_x_deco: '190', 
+  minimal_y_deco: '-16', 
+  minimal_z_deco: '-348', 
+  maximal_x_deco: '1019', 
+  maximal_y_deco: '1941', 
+  maximal_z_deco: '486', 
+  # Channel settings for deconvolution
+  # Single Channel: '"beads"'
+  # Dual Channel: '"beads,beads"'
+  # Dual Channel one channel contains beads: '"[Same PSF as channel red],beads"'
+  detections_to_extract_psf_for_channel: '"[Same PSF as channel red],beads"',
+  # Settings for GPU or CPU processing 
+  # '"CPU (Java)"' or '"GPU (Nvidia CUDA via JNA)"'
+  compute_on: '"GPU (Nvidia CUDA via JNA)"',
+  cudafourierconvolution: "libFourierConvolutionCUDALib.so", # GPU processing name of cuda library
+  # Standard settings for deconvolution
+  process_timepoint: '"Single Timepoint (Select from List)"',
+  process_angle: '"All angles"',
+  process_channel: '"All channels"',
+  process_illumination: '"All illuminations"',
+  type_of_iteration: '"Efficient Bayesian - Optimization I (fast, precise)"',
+  Tikhonov_parameter: '0.0006',
+  compute: '"in 512x512x512 blocks"',
+  osem_acceleration: '"1 (balanced)"',
+  psf_estimation: '"Extract from beads"',
+  psf_size_x: '19',
+  psf_size_y: '19',
+  psf_size_z: '25',
+  imglib2_container: '"ArrayImg"',
+  bsh_file: "deconvolution.bsh"
+  }
+  
+hdf5_output: {
+  # writes new hdf5 dataset for fusion output: will be obsolete
+  # Naming pattern of output
+  # Single Channel: TP{t}_Chgreen_Ill0_Ang0,72,144,216,288.tif > Ch{name} is added here
+  # Dual Channel: TP{t}_Ch{0}_Ill0_Ang0,72,144,216,288.tif > Ch{name} is added here
+  output_image_file_pattern: 'TP{t}_Chgreen_Ill0_Ang0,72,144,216,288.tif',
+  # channel setting
+  output_multiple_channels: '"NO (one channel)"', # '"YES (one file per channel)"' or  '"NO (one channel)"'
+  output_channels: "green",
+  # .xml file names
+  output_xml: '"fused_Dual_Channel"',
+  output_hdf5_xml: '"hdf5_fused_Dual_Channel"',
+  output_timepoints: '0-1', # Timepoints format: '1-2'
+  # pixel size of output: take downsampling into account!
+  output_pixel_distance_x: 0.28590106964, 
+  output_pixel_distance_y: 0.28590106964,
+  output_pixel_distance_z: 0.28590106964,
+  output_pixel_unit: 'um',
+  # give if 16Bit data or 32Bit data 
+  # output of fusion is 16Bit, of deconvolution it is 32Bit
+  output_data_type: "32Bit", # "32Bit" or "16Bit"
+  # if data is 32Bit then the data is converted into 16Bit data
+  convert_32bit: '"[Use min/max of first image (might saturate intenities over time)]"',
+  # subsampling and chunk size settings: dataset dependent
+  subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}}, {{4,4,4}}, {{8,8,8}} }}"', # data dependent
+  chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}}, {{16,16,16}}, {{16,16,16}} }}"', # data dependent
+  # subsampling_output: '"{{ {{1,1,1}}, {{2,2,2}} }}"',
+  # chunk_sizes_output: '"{{ {{16,16,16}}, {{16,16,16}} }}"',
+  # Standard settings for hdf5_output
+  output_type_of_dataset: '"Image Stacks (ImageJ Opener)"',
+  output_multiple_timepoints: '"YES (one file per time-point)"',
+  output_multiple_angles: '"NO (one angle)"',
+  output_illumination_directions: '"NO (one illumination direction)"',
+  output_imglib_container: '"ArrayImg (faster)"',
+  bsh_file_define: "define_output.bsh", # .bsh script for defining the dataset
+  bsh_file_hdf5: "export_output.bsh"    # .bsh script for resaving into hdf5
+  }
+
diff --git a/spim_registration/timelapse/tomancak.json b/spim_registration/timelapse/tomancak.json
deleted file mode 100644
index 0215784..0000000
--- a/spim_registration/timelapse/tomancak.json
+++ /dev/null
@@ -1,88 +0,0 @@
-{
-    "common" :
-    {
-	"fiji-app" : "/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/ImageJ-linux64",
-	"fiji-prefix" : "/sw/bin/xvfb-run -a",
-	"directory_cuda" : "/lustre/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/lib/",
-	"merged_xml" : "hdf5_test_unicore_merge"
-    },
-    
-    "registration" :
-    {
-	"timepoint" : "\"Single Timepoint (Select from List)\"",
-	"illuminations" : "\"All illuminations\"",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"proc-ch" : "\"channel 1\"",
-	"algorithm" : "\"Fast 3d geometric hashing (rotation invariant)\"",
-	"label_interest_points" : "\"beads\"",
-	"type_of_registration" : "\"Register timepoints individually\"",
-	"type_of_registration_timelapse" : "\"Match against one reference timepoint (no global optimization)\"",
-	"type_of_detection" : "\"Difference-of-Mean (Integral image based)\"" ,
-	"subpixel_localization" : "\"3-dimensional quadratic fit\"",
-	"imglib_container" : "\"ArrayImg (faster)\"",
-	"radius_1" : "2",
-	"radius_2" : "3",
-	"threshold" : "0.005",
-	"interest_points_channel_0" : "\"[DO NOT register this channel]\"" ,
-	"interest_points_channel_1" : "\"beads\"",
-	"fix_tiles" : "\"Fix first tile\""	,
-	"map_back_tiles" : "\"Map back to first tile using rigid model\"",
-	"transformation_model" : "Affine",
-	"model_to_regularize_with" : "Rigid",
-	"lambda" : "0.10" ,
-	"allowed_error_for_ransac" : "5",
-	"detection_min_max" : "find_maxima",
-	"initial_sigma" : "1.8",
-	"threshold_gaussian" : "0.0080",
-	"bsh_file" : "registration.bsh"
-    },
- 
-    "xml_merge" :
-    {
-	"bsh_file" : "xml_merge.bsh"
-    },
-
-    "external_transform" :
-    {
-	"bsh_file" : "transform.bsh",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"illumination" : "\"All illuminations\"",
-	"timepoint" : "\"All Timepoints\"",
-	"transformation" : "\"Rigid\"",
-	"apply_transformation" : "\"Current view transformations (appends to current transforms)\"",
-	"define_mode_transform" : "\"Matrix\"",
-	"matrix_transform" : "\"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0\""
-    },
-
-    "deconvolution" :
-    {
-
-	"bsh_file" : "deconvolution_GPU.bsh",
-	"process_timepoint" : "\"Single Timepoint (Select from List)\"",
-	"process_channel" : "\"All channels\"",
-	"process_illumination" : "\"All illuminations\"",
-	"process_angle" : "\"All angles\"",
-	"minimal_x" : "76",
-	"minimal_y" : "4",
-	"minimal_z" : "-192",
-	"maximal_x" : "488",
-	"maximal_y" : "956",
-	"maximal_z" : "214",
-	"imglib2_container" : "\"ArrayImg \"",
-	"type_of_iteration" : "\"Efficient Bayesian - Optimization I (fast, precise)\"",
-	"osem_acceleration" : "\"1 (balanced)\"",
-	"Tikhonov_parameter" : "0.0006",
-	"compute" : "\"in 512x512x512 blocks\"",
-	"compute_on" : "\"GPU (Nvidia CUDA via JNA)\"",
-	"psf_estimation" : "\"Extract from beads\"",
-	"iterations" : "5",
-	"detections_to_extract_psf_for_channel_0" : "\"beads\"",
-	"detections_to_extract_psf_for_channel_1" : "\"beads\"",
-	"psf_size_x" : "19",
-	"psf_size_y" : "19",
-	"psf_size_z" : "25"
-    }
-    
-}
diff --git a/spim_registration/timelapse/tomancak_czi.json b/spim_registration/timelapse/tomancak_czi.json
deleted file mode 100644
index 9a2445f..0000000
--- a/spim_registration/timelapse/tomancak_czi.json
+++ /dev/null
@@ -1,204 +0,0 @@
-{
-    "common" :
-    {
-	"fiji-app" : "/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/ImageJ-linux64",
-	"fiji-prefix" : "/sw/bin/xvfb-run -a",
-	"directory_cuda" : "/lustre/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/lib/",
-	"merged_xml" : "hdf5_test_unicore_merge",
-	"bsh_directory" : "/home/steinbac/development/cschmied-snakemake-workflows/spim_registration/timelapse/",
-	"first_xml_filename" : "test_unicore",
-	"hdf5_xml_filename" : "\"hdf5_test_unicore\"",
-	"fusion_switch" : "deconvolution",
-	"ntimepoints" : 3
-    },
-    
-    "define_xml_czi" :
-    {
-    	    "pixel_distance_x" : "0.2875535786151886",
-    	    "pixel_distance_y" : "0.2875535786151886",
-    	    "pixel_distance_z" : "1.50000", 
-    	    "pixel_unit" : "um",				    
-    	    "first_czi" : "2015-02-21_LZ1_Stock68_3.czi",
-    	    "channel_1" : "green",		
-    	    "channel_2" : "red",
-    	    "angle_1" : "0",
-    	    "angle_2" : "72",
-    	    "angle_3" :"144",
-    	    "angle_4" :"216",
-    	    "angle_5" : "288",
-    	    "illumination_1" : "0",
-    	    "rotation_around" : "X-Axis",
-    	    "bsh_file" : "define_czi.bsh" 
-    },
-    
-    "define_xml_tif" :
-    {
-	"timepoints" : "0-1",
-	"acquisition_angles" : "0,72,144,216,288",
-	"channels" : "0",
-	"image_file_pattern" : "img_TL{{t}}_Angle{{a}}.tif",
-	"pixel_distance_x"  : "0.2875535786151886",
-	"pixel_distance_y" : "0.2875535786151886",
-	"pixel_distance_z" : "1.50000",
-	"pixel_unit" : "um",
-	"multiple_timepoints" : "\"YES (one file per time-point)\"",
-	"multiple_channels" : "\"NO (one channel)\"",
-	"multiple_illumination_directions" : "\"NO (one illumination direction)\"",
-	"multiple_angles" : "\"YES (one file per angle)\"",
-	"type_of_dataset" : "\"Image Stacks (ImageJ Opener)\"",
-	"imglib_container" : "\"ArrayImg (faster)\"",
-	"bsh_file" : "define_tif_zip.bsh" 
-    },
-    
-    "resave_hdf5" :
-    {
-    	    "parallel_timepoints" : "3",
-    	    "resave_angle" : "\"All angles\"",
-    	    "resave_channel" : "\"All channels\"",
-    	    "resave_illumination" : "\"All illuminations\"",
-    	    "resave_timepoint" : "\"All Timepoints\"",
-    	    "subsampling_factors" : "\"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}\"",
-    	    "hdf5_chunk_sizes" : "\"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}\"",
-    	    "timepoints_per_partition" : "1",
-    	    "setups_per_partition" : "0",
-    	    "bsh_file" : "export.bsh"
-    },
-    
-    "registration" :
-    {
-	"timepoint" : "\"Single Timepoint (Select from List)\"",
-	"illuminations" : "\"All illuminations\"",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"proc-ch" : "\"channel 0\"",
-	"algorithm" : "\"Fast 3d geometric hashing (rotation invariant)\"",
-	"label_interest_points" : "\"beads\"",
-	"type_of_registration" : "\"Register timepoints individually\"",
-	"type_of_detection" : "\"Difference-of-Mean (Integral image based)\"" ,
-	"subpixel_localization" : "\"3-dimensional quadratic fit\"",
-	"imglib_container" : "\"ArrayImg (faster)\"",
-	"radius_1" : "2",
-	"radius_2" : "3",
-	"threshold" : "0.005",
-	"interest_points_channel_0" : "\"beads\"",
-	"interest_points_channel_1" : "\"beads\"",
-	"fix_tiles" : "\"Fix first tile\"",
-	"map_back_tiles" : "\"Map back to first tile using rigid model\"",
-	"transformation_model" : "Affine",
-	"model_to_regularize_with" : "Rigid",
-	"lambda" : "0.10" ,
-	"allowed_error_for_ransac" : "5",
-	"significance" : "10",
-	"detection_min_max" : "find_maxima",
-	"initial_sigma" : "1.8",
-	"threshold_gaussian" : "0.0080",
-	"bsh_file" : "registration.bsh"
-    },
- 
-    "xml_merge" :
-    {
-	"bsh_file" : "xml_merge.bsh"
-    },
-    
-    "timelapse" : 
-    {
-    	  "reference_timepoint" : "0",
-    	  "timelapse_process_timepoints" : "\"All Timepoints\"",
-    	  "type_of_registration_timelapse" : "\"Match against one reference timepoint (no global optimization)\"",
-    	  "bsh_file" : "timelapse_registration.bsh"
-    },
-
-    "external_transform" :
-    {
-	"bsh_file" : "transform.bsh",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"illumination" : "\"All illuminations\"",
-	"timepoint" : "\"All Timepoints\"",
-	"transformation" : "\"Rigid\"",
-	"apply_transformation" : "\"Current view transformations (appends to current transforms)\"",
-	"define_mode_transform" : "\"Matrix\"",
-	"matrix_transform" : "\"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0\""
-    },
-    
-    "fusion" :
-    {
-    	    "minimal_x" : "128",	
-    	    "minimal_y" : "-13",
-    	    "minimal_z" : "-407",
-    	    "maximal_x" : "986",
-    	    "maximal_y" : "1927",
-    	    "maximal_z" : "498",
-    	    "downsample" : "1",
-    	    "process_timepoint" : "\"Single Timepoint (Select from List)\"",
-    	    "process_channel" : "\"All channels\"",
-    	    "process_illumination" : "\"All illuminations\"",
-    	    "process_angle" : "\"All angles\"",
-    	    "xml_output" : "\"Save every XML with user-provided unique id\"", 
-    	    "fused_image" : "\"Append to current XML Project\"",
-    	    "pixel_type" : "\"16-bit unsigned integer\"",
-    	    "imglib2_container_fusion" : "\"ArrayImg\"",
-    	    "process_views_in_paralell" : "\"All\"",
-    	    "interpolation" : "\"Linear Interpolation\"",
-    	    "imglib2_data_container" : "\"ArrayImg (faster)\"",
-    	    "bsh_file" : "fusion.bsh"
-    },
-
-    "deconvolution" :
-    {
-
-	"bsh_file" : "deconvolution_GPU.bsh",
-	"process_timepoint" : "\"Single Timepoint (Select from List)\"",
-	"process_channel" : "\"All channels\"",
-	"process_illumination" : "\"All illuminations\"",
-	"process_angle" : "\"All angles\"",
-	"minimal_x" : "76",
-	"minimal_y" : "4",
-	"minimal_z" : "-192",
-	"maximal_x" : "488",
-	"maximal_y" : "956",
-	"maximal_z" : "214",
-	"imglib2_container" : "\"ArrayImg \"",
-	"type_of_iteration" : "\"Efficient Bayesian - Optimization I (fast, precise)\"",
-	"osem_acceleration" : "\"1 (balanced)\"",
-	"Tikhonov_parameter" : "0.0006",
-	"compute" : "\"in 512x512x512 blocks\"",
-	"compute_on" : "\"GPU (Nvidia CUDA via JNA)\"",
-	"psf_estimation" : "\"Extract from beads\"",
-	"iterations" : "5",
-	"detections_to_extract_psf_for_channel_0" : "\"beads\"",
-	"detections_to_extract_psf_for_channel_1" : "\"beads\"",
-	"psf_size_x" : "19",
-	"psf_size_y" : "19",
-	"psf_size_z" : "25"
-    },
-    
-    "hdf5_output" :
-    {
-    	    "output_image_file_pattern" : "TP{{t}}_Ch{{c}}_Ill0_Ang0,72,144,216,288.tif",
-    	    "output_data_type" : "32Bit",
-    	    "output_xml" : "\"fused_Dual_Channel\"",
-    	    "output_hdf5_xml" : "\"hdf5_fused_Stock68\"",
-    	    "output_multiple_channels" : "\"NO (one channel)\"",	
-    	    "output_timepoints" : "0-1",
-    	    "output_channels" : "green",
-    	    "output_pixel_distance_x" : "0.5718", 	
-    	    "output_pixel_distance_y" : "0.5718", 	
-    	    "output_pixel_distance_z" : "0.5718", 	
-    	    "output_pixel_unit" : "um",			
-    	    "output_multiple_timepoints" : "\"YES (one file per time-point)\"",   	
-    	    "output_illumination_directions" : "\"NO (one illumination direction)\"",	
-    	    "output_multiple_angles" : "\"NO (one angle)\"",					
-    	    "output_type_of_dataset" : "\"Image Stacks (ImageJ Opener)\"", 		
-    	    "output_imglib_container" : "\"ArrayImg (faster)\"",
-    	    "bsh_file_define" : "/define_output.bsh",
-    	    "bsh_file_hdf5" : "/export_output.bsh", 	
-    	    "convert_32bit" : "\"[Use min/max of first image (might saturate intenities over time)]\""
-    	    
-    }
-
-    
-    
-    
-    
-}
diff --git a/spim_registration/timelapse/tomancak_test_cluster.json b/spim_registration/timelapse/tomancak_test_cluster.json
deleted file mode 100644
index 44899c5..0000000
--- a/spim_registration/timelapse/tomancak_test_cluster.json
+++ /dev/null
@@ -1,202 +0,0 @@
-{
-    "common" :
-    {
-	"fiji-app" : "/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/ImageJ-linux64",
-	"fiji-prefix" : "/sw/bin/xvfb-run -a",
-	"directory_cuda" : "/lustre/projects/hpcsupport/steinbac/unicore/christopher/unicore_jobs/Fiji.app.cuda_new/lib/",
-	"merged_xml" : "hdf5_test_unicore_merge",
-	"bsh_directory" : "/home/steinbac/development/schmied-snakemake-workflows/spim_registration/timelapse/",
-	"first_xml_filename" : "test_unicore",
-	"hdf5_xml_filename" : "\"hdf5_test_unicore\"",
-	"fusion_switch" : "deconvolution",
-	"ntimepoints" : 5
-    },
-    
-    "define_xml_czi" :
-    {
-    	    "pixel_distance_x" : "0.28590106964",
-    	    "pixel_distance_y" : "0.28590106964",
-    	    "pixel_distance_z" : "1.50000", 
-    	    "pixel_unit" : "um",				    
-    	    "first_czi" : "2015-04-11_LZ2_Stock68_3.czi",
-    	    "channel_1" : "green",		
-    	    "channel_2" : "red",
-    	    "angle_1" : "0",
-    	    "angle_2" : "72",
-    	    "angle_3" : "144",
-    	    "angle_4" : "216",
-    	    "angle_5" : "288",
-    	    "illumination_1" : "0",
-    	    "rotation_around" : "X-Axis",
-    	    "bsh_file" : "define_czi.bsh" 
-    },
-    
-    "define_xml_tif" :
-    {
-	"acquisition_angles" : "0,72,144,216,288",
-	"channels" : "0",
-	"image_file_pattern" : "img_TL{{t}}_Angle{{a}}.tif",
-	"pixel_distance_x" : "0.28590106964",
-	"pixel_distance_y" : "0.28590106964",
-	"pixel_distance_z" : "1.50000",
-	"pixel_unit" : "um",
-	"multiple_timepoints" : "\"YES (one file per time-point)\"",
-	"multiple_channels" : "\"NO (one channel)\"",
-	"multiple_illumination_directions" : "\"NO (one illumination direction)\"",
-	"multiple_angles" : "\"YES (one file per angle)\"",
-	"type_of_dataset" : "\"Image Stacks (ImageJ Opener)\"",
-	"imglib_container" : "\"ArrayImg (faster)\"",
-	"bsh_file" : "define_tif_zip.bsh" 
-    },
-    
-    "resave_hdf5" :
-    {
-    	    "resave_angle" : "\"All angles\"",
-    	    "resave_channel" : "\"All channels\"",
-    	    "resave_illumination" : "\"All illuminations\"",
-    	    "resave_timepoint" : "\"All Timepoints\"",
-    	    "subsampling_factors" : "\"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}\"",
-    	    "hdf5_chunk_sizes" : "\"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}\"",
-    	    "timepoints_per_partition" : "1",
-    	    "setups_per_partition" : "0",
-    	    "bsh_file" : "export.bsh"
-    },
-    
-    "registration" :
-    {
-	"timepoint" : "\"Single Timepoint (Select from List)\"",
-	"illuminations" : "\"All illuminations\"",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"proc-ch" : "\"channel 0\"",
-	"algorithm" : "\"Fast 3d geometric hashing (rotation invariant)\"",
-	"label_interest_points" : "\"beads\"",
-	"type_of_registration" : "\"Register timepoints individually\"",
-	"type_of_detection" : "\"Difference-of-Mean (Integral image based)\"" ,
-	"subpixel_localization" : "\"3-dimensional quadratic fit\"",
-	"imglib_container" : "\"ArrayImg (faster)\"",
-	"radius_1" : "2",
-	"radius_2" : "3",
-	"threshold" : "0.005",
-	"interest_points_channel_0" : "\"beads\"",
-	"interest_points_channel_1" : "\"beads\"",
-	"fix_tiles" : "\"Fix first tile\"",
-	"map_back_tiles" : "\"Map back to first tile using rigid model\"",
-	"transformation_model" : "Affine",
-	"model_to_regularize_with" : "Rigid",
-	"lambda" : "0.10" ,
-	"allowed_error_for_ransac" : "5",
-	"significance" : "10",
-	"detection_min_max" : "find_maxima",
-	"initial_sigma" : "1.8",
-	"threshold_gaussian" : "0.0080",
-	"bsh_file" : "registration.bsh"
-    },
- 
-    "xml_merge" :
-    {
-	"bsh_file" : "xml_merge.bsh"
-    },
-    
-    "timelapse" : 
-    {
-    	  "reference_timepoint" : "0",
-    	  "timelapse_process_timepoints" : "\"All Timepoints\"",
-    	  "type_of_registration_timelapse" : "\"Match against one reference timepoint (no global optimization)\"",
-    	  "bsh_file" : "timelapse_registration.bsh"
-    },
-
-    "external_transform" :
-    {
-	"bsh_file" : "transform.bsh",
-	"angle" : "\"All angles\"",
-	"channel" : "\"All channels\"",
-	"illumination" : "\"All illuminations\"",
-	"timepoint" : "\"All Timepoints\"",
-	"transformation" : "\"Rigid\"",
-	"apply_transformation" : "\"Current view transformations (appends to current transforms)\"",
-	"define_mode_transform" : "\"Matrix\"",
-	"matrix_transform" : "\"0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0\""
-    },
-    
-    "fusion" :
-    {
-    	    "minimal_x" : "190",	
-    	    "minimal_y" : "-16",
-    	    "minimal_z" : "-348",
-    	    "maximal_x" : "1019",
-    	    "maximal_y" : "1941",
-    	    "maximal_z" : "486",
-    	    "downsample" : "1",
-    	    "process_timepoint" : "\"Single Timepoint (Select from List)\"",
-    	    "process_channel" : "\"All channels\"",
-    	    "process_illumination" : "\"All illuminations\"",
-    	    "process_angle" : "\"All angles\"",
-    	    "xml_output" : "\"Save every XML with user-provided unique id\"", 
-    	    "fused_image" : "\"Append to current XML Project\"",
-    	    "pixel_type" : "\"16-bit unsigned integer\"",
-    	    "imglib2_container_fusion" : "\"ArrayImg\"",
-    	    "process_views_in_paralell" : "\"All\"",
-    	    "interpolation" : "\"Linear Interpolation\"",
-    	    "imglib2_data_container" : "\"ArrayImg (faster)\"",
-    	    "bsh_file" : "fusion.bsh"
-    },
-
-    "deconvolution" :
-    {
-
-	"bsh_file" : "deconvolution_GPU.bsh",
-	"process_timepoint" : "\"Single Timepoint (Select from List)\"",
-	"process_channel" : "\"All channels\"",
-	"process_illumination" : "\"All illuminations\"",
-	"process_angle" : "\"All angles\"",
-	"minimal_x" : "95",
-	"minimal_y" : "-8",
-	"minimal_z" : "-174",
-	"maximal_x" : "509",
-	"maximal_y" : "970",
-	"maximal_z" : "243",
-	"imglib2_container" : "\"ArrayImg \"",
-	"type_of_iteration" : "\"Efficient Bayesian - Optimization I (fast, precise)\"",
-	"osem_acceleration" : "\"1 (balanced)\"",
-	"Tikhonov_parameter" : "0.0006",
-	"compute" : "\"in 512x512x512 blocks\"",
-	"compute_on" : "\"GPU (Nvidia CUDA via JNA)\"",
-	"psf_estimation" : "\"Extract from beads\"",
-	"iterations" : "5",
-	"detections_to_extract_psf_for_channel_0" : "\"beads\"",
-	"detections_to_extract_psf_for_channel_1" : "\"beads\"",
-	"psf_size_x" : "19",
-	"psf_size_y" : "19",
-	"psf_size_z" : "25"
-    },
-    
-    "hdf5_output" :
-    {
-    	    "output_image_file_pattern" : "TP{{t}}_Ch{{c}}_Ill0_Ang0,72,144,216,288.tif",
-    	    "output_data_type" : "32Bit",
-    	    "output_xml" : "\"fused_Dual_Channel\"",
-    	    "output_hdf5_xml" : "\"hdf5_fused_Stock68\"",
-    	    "output_multiple_channels" : "\"NO (one channel)\"",	
-    	    "output_timepoints" : "0-4",
-    	    "output_channels" : "green",
-    	    "output_pixel_distance_x" : "0.5718", 	
-    	    "output_pixel_distance_y" : "0.5718", 	
-    	    "output_pixel_distance_z" : "0.5718", 	
-    	    "output_pixel_unit" : "um",			
-    	    "output_multiple_timepoints" : "\"YES (one file per time-point)\"",   	
-    	    "output_illumination_directions" : "\"NO (one illumination direction)\"",	
-    	    "output_multiple_angles" : "\"NO (one angle)\"",					
-    	    "output_type_of_dataset" : "\"Image Stacks (ImageJ Opener)\"", 		
-    	    "output_imglib_container" : "\"ArrayImg (faster)\"",
-    	    "bsh_file_define" : "/define_output.bsh",
-    	    "bsh_file_hdf5" : "/export_output.bsh", 	
-    	    "convert_32bit" : "\"[Use min/max of first image (might saturate intenities over time)]\""
-    	    
-    }
-
-    
-    
-    
-    
-}
diff --git a/spim_registration/timelapse/tomancak_test_cluster.yaml b/spim_registration/timelapse/tomancak_test_cluster.yaml
index dd9a3a9..b009596 100755
--- a/spim_registration/timelapse/tomancak_test_cluster.yaml
+++ b/spim_registration/timelapse/tomancak_test_cluster.yaml
@@ -22,16 +22,16 @@ common: {
   pixel_unit: "um",             # unit of manual calibration
   # Use switches to decide which processing steps you need:
   # transformation_switch: "timelapse" standard processing
-  # after timelapse registration directly goes into fusion, timelapse_dublicate
-  # "timelapse_dublicate" for dual channel processing one channel contains the beads
-  # dublicates transformations
-  transformation_switch: "timelapse_dublicate", 
+  # after timelapse registration directly goes into fusion, timelapse_duplicate
+  # "timelapse_duplicate" for dual channel processing one channel contains the beads
+  # duplicates transformations
+  transformation_switch: "timelapse_duplicate", 
   # Switches between content based fusion and deconvoltion
   # "deconvolution" > for deconvolution
   # "fusion" > for content based fusion
   fusion_switch: "deconvolution"
   }
-              
+
 define_xml_czi: {
   first_czi: "2015-02-20_LZ2_Stock48_Stock58.czi", # master .czi file
   rotation_around: "X-Axis",                       # axis of acquistion
@@ -54,6 +54,7 @@ define_xml_tif: {
   }
   
 resave_hdf5: {
+  # Resaves .tif or .czi data into hdf5
   # Subsampling and resolution settings for hdf5: data dependent
   hdf5_chunk_sizes: '"{{ {{32,32,4}}, {{32,32,4}}, {{16,16,16}}, {{16,16,16}} }}"', 
   subsampling_factors: '"{{ {{1,1,1}}, {{2,2,1}}, {{4,4,1}}, {{8,8,1}} }}"',  
-- 
GitLab