From acdaec1a1f7f6a5f3322c0ee7229cc98abe6671a Mon Sep 17 00:00:00 2001 From: Christopher Schmied <schmied@mpi-cbg.de> Date: Tue, 14 Jul 2015 18:57:50 +0200 Subject: [PATCH] Calibration for czi is read out automatically added tempfiles --- spim_registration/timelapse/Snakefile | 30 +++++------ spim_registration/timelapse/define_czi.bsh | 63 ++++++++++++++-------- 2 files changed, 56 insertions(+), 37 deletions(-) mode change 100644 => 100755 spim_registration/timelapse/define_czi.bsh diff --git a/spim_registration/timelapse/Snakefile b/spim_registration/timelapse/Snakefile index 39cf6ae..59f4704 100755 --- a/spim_registration/timelapse/Snakefile +++ b/spim_registration/timelapse/Snakefile @@ -26,11 +26,8 @@ xml_merge_in = produce_xml_merge_job_files(datasets) rule done: input: [ ds + "_output_hdf5" for ds in datasets ] -localrules: define_xml_czi, define_xml_tif, hdf5_xml, xml_merge, timelapse, - duplicate_transformations, external_transform, define_output, - hdf5_xml_output - - +localrules: define_xml_tif, xml_merge, timelapse, + duplicate_transformations, external_transform, define_output rule resave_prepared: input: expand("{dataset}.{suffix}",dataset=[ config["common"]["hdf5_xml_filename"] ], suffix=["xml","h5"]) @@ -47,10 +44,11 @@ rule define_xml_czi: -Dangles={angles} \ -Dchannels={channels} \ -Dillumination={illumination} \ - -Dpixel_distance_x={pixel_distance_x} \ - -Dpixel_distance_y={pixel_distance_y} \ - -Dpixel_distance_z={pixel_distance_z} \ - -Dpixel_unit={pixel_unit} \ + -Dmanual_calibration_czi={manual_calibration_czi} \ + -Dczi_pixel_distance_x={czi_pixel_distance_x} \ + -Dczi_pixel_distance_y={czi_pixel_distance_y} \ + -Dczi_pixel_distance_z={czi_pixel_distance_z} \ + -Dczi_pixel_unit={czi_pixel_unit} \ -Dfirst_xml_filename={first_xml_filename} \ -Drotation_around={rotation_around} \ -- --no-splash {path_bsh}""", @@ -66,7 +64,7 @@ rule define_xml_czi: # defining xml for tif dataset rule define_xml_tif: input: glob.glob(re.sub("{{.}}","*",config["common"]['image_file_pattern'])) #replaces all occurrences of {{a}} (a can be any character) by * to use the string for globbing - output: config["common"]["first_xml_filename"] + ".xml" + output: temp(config["common"]["first_xml_filename"] + ".xml") log: "logs/a2_define_xml_tif.log" run: cmd_string = produce_string( @@ -105,7 +103,7 @@ ruleorder: define_xml_czi > define_xml_tif rule hdf5_xml: input: config["common"]["first_xml_filename"] + ".xml" output: expand("{dataset}.{suffix}",dataset=[ config["common"]["hdf5_xml_filename"].strip('\"')], suffix=["xml","h5"]), - [ item+"_xml" for item in datasets ] + temp([ item+"_xml" for item in datasets ]) log: "logs/b1_hdf5_xml.log" run: part_string = produce_string( @@ -236,7 +234,7 @@ rule xml_merge: rule timelapse: input: rules.xml_merge.output - output: rules.xml_merge.output[0] + "_timelapse" + output: temp(rules.xml_merge.output[0] + "_timelapse") log: "logs/d2_{xml_base}_timelapse.log" run: cmd_string = produce_string( @@ -269,7 +267,7 @@ rule timelapse: rule duplicate_transformations: input: rules.timelapse.output, merged_xml="{xml_base}_merge.xml" - output: rules.timelapse.output[0] + "_duplicate" + output: temp(rules.timelapse.output[0] + "_duplicate") log: "logs/d3_{xml_base}_duplicate_transformations.log" run: cmd_string = produce_string( @@ -296,7 +294,7 @@ rule duplicate_transformations: rule fusion: input: [ str("{xml_base}_merge.xml_" + config["common"]["transformation_switch"] ) ], "{xml_base}-{file_id,\d+}-00.h5", merged_xml="{xml_base}_merge.xml" # rules.timelapse.output, "{xml_base}-{file_id,\d+}-00.h5", merged_xml="{xml_base}_merge.xml" - output: "{xml_base}-{file_id,\d+}-00.h5_fusion" + output: temp("{xml_base}-{file_id,\d+}-00.h5_fusion") log: "logs/e1_{xml_base}-{file_id,\d+}-00-fusion.log" run: cmd_string = produce_string( @@ -339,7 +337,7 @@ rule fusion: rule external_transform: input: rules.timelapse.output, merged_xml="{xml_base}_merge.xml" - output: rules.timelapse.output[0] + "_external_trafo" + output: temp(rules.timelapse.output[0] + "_external_trafo") log: "logs/e2_external_transform.log" run: cmd_string = produce_string( @@ -367,7 +365,7 @@ rule external_transform: rule deconvolution: input: [ str("{xml_base}_merge.xml_" + config["common"]["transformation_switch"] ) ], "{xml_base}-{file_id,\d+}-00.h5", merged_xml="{xml_base}_merge.xml" # rules.timelapse.output, "{xml_base}-{file_id,\d+}-00.h5", merged_xml="{xml_base}_merge.xml" # rules.external_transform.output, "{xml_base}-{file_id,\d+}-00.h5", merged_xml="{xml_base}_merge.xml" - output: "{xml_base}-{file_id,\d+}-00.h5_deconvolution" + output: temp("{xml_base}-{file_id,\d+}-00.h5_deconvolution") log: "logs/e2_{xml_base}-{file_id,\d+}-00-deconvolution.log" run: cmd_string = produce_string( diff --git a/spim_registration/timelapse/define_czi.bsh b/spim_registration/timelapse/define_czi.bsh old mode 100644 new mode 100755 index aa6b052..da8ea05 --- a/spim_registration/timelapse/define_czi.bsh +++ b/spim_registration/timelapse/define_czi.bsh @@ -9,8 +9,8 @@ import java.io.FilenameFilter; runtime = Runtime.getRuntime(); System.out.println(runtime.availableProcessors() + " cores available for multi-threading"); -//Prefs.setThreads(2); // defines the number of threads allowed -//print("Threads: "+Prefs.getThreads()); // prints thread setting in output +Prefs.setThreads(1); // defines the number of threads allowed +print("Threads: "+Prefs.getThreads()); // prints thread setting in output System.out.println("Start loading parameters"); @@ -114,15 +114,37 @@ System.out.println( "rotation_around = " + rotation_around ); // Calibaration System.out.println("========================================================="); System.out.println("Calibration:"); -float pixel_distance_x = Float.parseFloat( System.getProperty( "pixel_distance_x" ) ); -float pixel_distance_y = Float.parseFloat( System.getProperty( "pixel_distance_y" ) ); -float pixel_distance_z = Float.parseFloat( System.getProperty( "pixel_distance_z" ) ); -pixel_unit = System.getProperty( "pixel_unit" ); +manual_calibration_czi = System.getProperty( "manual_calibration_czi" ); +float czi_pixel_distance_x = Float.parseFloat( System.getProperty( "czi_pixel_distance_x" ) ); +float czi_pixel_distance_y = Float.parseFloat( System.getProperty( "czi_pixel_distance_y" ) ); +float czi_pixel_distance_z = Float.parseFloat( System.getProperty( "czi_pixel_distance_z" ) ); +czi_pixel_unit = System.getProperty( "czi_pixel_unit" ); + +// builds string for calibration override +if (manual_calibration_czi.equalsIgnoreCase( "No" ) ) +{ + modify_calibration = ""; + manual_calibration_string = ""; + System.out.println( "Calibration set to automatic" ); +} -System.out.println( "pixel_distance_x = " + pixel_distance_x ); -System.out.println( "pixel_distance_y = " + pixel_distance_y ); -System.out.println( "pixel_distance_z = " + pixel_distance_z ); -System.out.println( "pixel_unit = " + pixel_unit ); +else if (manual_calibration_czi.equalsIgnoreCase( "Yes" ) ) +{ + + modify_calibration = "modify_calibration "; + manual_calibration_string = "pixel_distance_x=" + czi_pixel_distance_x + " " + + "pixel_distance_y=" + czi_pixel_distance_y + " " + + "pixel_distance_z=" + czi_pixel_distance_z + " " + + "pixel_unit=" + czi_pixel_unit + " "; + System.out.println( "Calibration set to manual" ); + System.out.println( "modify_calibration:" + modify_calibration ); + System.out.println( "manual_calibration_string:" + manual_calibration_string ); +} + +else +{ + System.out.println( "Manual calibration setting bad" ); +} // Executes Fiji plugin System.out.println("========================================================="); @@ -134,13 +156,11 @@ System.out.println("Define Multi-View Dataset type_of_dataset=[Zeiss Lightsheet angle_string + channel_string + illum_string + - "modify_calibration " + + modify_calibration + "modify_rotation_axis " + - "pixel_distance_x=" + pixel_distance_x + " " + - "pixel_distance_y=" + pixel_distance_y + " " + - "pixel_distance_z=" + pixel_distance_z + " " + - "pixel_unit=" + pixel_unit + " " + - "rotation_around=" + rotation_around + ""); + manual_calibration_string + + "rotation_around=" + rotation_around + + ""); try { IJ.run("Define Multi-View Dataset", @@ -151,12 +171,13 @@ IJ.run("Define Multi-View Dataset", angle_string + channel_string + illum_string + - "modify_calibration " + + modify_calibration + "modify_rotation_axis " + - "pixel_distance_x=" + pixel_distance_x + " " + - "pixel_distance_y=" + pixel_distance_y + " " + - "pixel_distance_z=" + pixel_distance_z + " " + - "pixel_unit=" + pixel_unit + " " + + manual_calibration_string + + //"pixel_distance_x=" + pixel_distance_x + " " + + //"pixel_distance_y=" + pixel_distance_y + " " + + //"pixel_distance_z=" + pixel_distance_z + " " + + //"pixel_unit=" + pixel_unit + " " + "rotation_around=" + rotation_around + ""); } catch ( e ) { -- GitLab