From f06a63e990c7318fbdb1e8f42b674dd7b9c62f04 Mon Sep 17 00:00:00 2001 From: Christopher Schmied <schmied@mpi-cbg.de> Date: Wed, 15 Jul 2015 17:51:53 +0200 Subject: [PATCH] Fixed broken .yaml file --- spim_registration/timelapse/single.yaml | 350 +++++++++++++++++++++++- 1 file changed, 346 insertions(+), 4 deletions(-) mode change 100644 => 100755 spim_registration/timelapse/single.yaml diff --git a/spim_registration/timelapse/single.yaml b/spim_registration/timelapse/single.yaml old mode 100644 new mode 100755 index fdd6ccd..d6eef5f --- a/spim_registration/timelapse/single.yaml +++ b/spim_registration/timelapse/single.yaml @@ -1,4 +1,346 @@ -Unstaged changes after reset: -M spim_registration/timelapse/dual_OneChannel.yaml -M spim_registration/timelapse/single.yaml -M spim_registration/timelapse/single_test.yaml +common: { + # ============================================================================ + # + # yaml example file for single channel processing + # + # General settings for processing + # 2015-04-01_LZ2_Stock46 + # Dpse_Dip3_VK33 + # + # ============================================================================ + # 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-30_Fiji.app.cuda/ImageJ-linux64", + fiji-prefix: "/sw/users/schmied/packages/xvfb-run -a", # calls xvfb for Fiji headless mode + # ============================================================================ + # Processing switches + # Description: Use switches to decide which processing steps you need: + # + # Options: + # 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 + # + # Switches between content based fusion and deconvoltion + # "deconvolution" > for deconvolution + # "fusion" > for content based fusion + # ============================================================================ + # + # Transformation switch: + transformation_switch: "timelapse", + # Fusion switch: + fusion_switch: "fusion", + # ============================================================================ + # xml file names + # + # xml file names without .xml suffix + # ============================================================================ + first_xml_filename: 'Dpse_Dip3_VK33', # Name of the xml file for the .czi or .tif files + hdf5_xml_filename: '"hdf5_Dpse_Dip3_VK33"', # Name of .xml file for the hdf5 data after resave_hdf5 + merged_xml: 'hdf5_Dpse_Dip3_VK33_merge', # Name of .xml file after merge + # ============================================================================ + # Describe the dataset + # + # Options: number of timepoints + # angles + # channels + # illuminations + # pixel size + # ============================================================================ + ntimepoints: 72, # number of timepoints of dataset + angles: "0,72,144,216,288", # angles + channels: "green", # channels + illumination: "0", # illuminations + # ---------------------------------------------------------------------------- + # For .czi datasets + # master .czi file + first_czi: "2015-04-01_LZ2_Stock46.czi", + # ---------------------------------------------------------------------------- + # For .tif datasets + # file pattern of .tif files: + # for multi channel give spim_TL{tt}_Angle{a}_Channel{c}.tif + # for padded zeros use tt + # specify calibration + image_file_pattern: 'img_TL{{t}}_Angle{{a}}.tif', + pixel_distance_x: '0.285901069641113', # Manual calibration x + pixel_distance_y: '0.285901069641113', # Manual calibration y + pixel_distance_z: '1.500000000000000', # Manual calibration z + pixel_unit: "um", # unit of manual calibration + # ============================================================================ + # Detection and registration + # + # Description: settings for interest point detection and registration + # Options: Single channel and dual channel processing + # Difference-of-mean or difference-of-gaussian detection + # ============================================================================ + # 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"', + # + # Dual channel 1 Channel contains the beads: which 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-Gaussian"', + # 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.3', + threshold_gaussian: '0.025', + # ============================================================================ + # Timelapse registration + # + # Description: settings for timelapse registration + # Options: reference timepoint + # ============================================================================ + reference_timepoint: '40', # Reference timepoint + # ============================================================================ + # Content-based multiview fusion + # + # Description: settings for content-based multiview fusion + # Options: downsampling + # Cropping parameters based on full resolution + # ============================================================================ + downsample: '1', # set downsampling + minimal_x: '237', # Cropping parameters of full resolution + minimal_y: '-16', + minimal_z: '-292', + maximal_x: '1041', + maximal_y: '1853', + maximal_z: '509', + # ============================================================================ + # Multiview deconvolution + # + # Description: settings for multiview deconvolution + # Options: number of iterations + # Cropping parameters taking downsampling into account + # Channel settings for deconvolution + # ============================================================================ + iterations: '1', # number of iterations + minimal_x_deco: '237', # Cropping parameters: take downsampling into account + minimal_y_deco: '-16', + minimal_z_deco: '-292', + maximal_x_deco: '1041', + maximal_y_deco: '1853', + maximal_z_deco: '509', + # + # 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: '"beads"', + # + # ============================================================================ + # Resave output + # + # Description: writes new hdf5 dataset for fusion output + # Options: Naming pattern of output based on channel number + # Channel settings + # File name for resaving output into hdf5 + # Pixel size > isotropic resolution + # Image type (16Bit from content-based fusion, 32Bit from deconvolution) + # ============================================================================ + # Number of timepoints + output_timepoints: '0-71', # Timepoints format: '1-2' + # + # Naming pattern: + # 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: + # Single channel: '"NO (one channel)"' + # Dual channel: '"YES (one file per channel)"' + output_multiple_channels: '"NO (one channel)"', + output_channels: "green", + # + # .xml file names + output_xml: '"fused_Dpse_Dip3_VK33"', + output_hdf5_xml: '"hdf5_fused_Dpse_Dip3_VK33"', + # + # pixel size of output: take downsampling into account! + output_pixel_distance_x: 0.285901069641113, + output_pixel_distance_y: 0.285901069641113, + output_pixel_distance_z: 0.285901069641113, + output_pixel_unit: 'um', + # + # File type + output_data_type: "16Bit" # "32Bit" or "16Bit" + } + # ============================================================================ + # Advanced settings + # ============================================================================ + +define_xml_czi: { + manual_calibration_czi: "Yes", # calibration override: No or Yes + czi_pixel_distance_x: '0.285901069641113', # Manual calibration x + czi_pixel_distance_y: '0.285901069641113', # Manual calibration y + czi_pixel_distance_z: '1.500000000000000', # Manual calibration z + czi_pixel_unit: "um", # unit of manual calibration + rotation_around: "X-Axis", # axis of acquistion + bsh_file: "define_czi.bsh" # .bsh script for defining .czi file + } + +define_xml_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: { + # Processing setting for Difference-of-Gaussian detection + # compute_on:'"GPU accurate (Nvidia CUDA via JNA)"' + compute_on: '"CPU (Java)"', + separableconvolution: '"libSeparableConvolutionCUDALib.so"', + # Downsampling settings + downsample_detection: "Yes", # "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: { + # 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: { + # 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: { + # 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: { + # 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 + } + -- GitLab