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