From 63287d2d2127173dd002570478ebb7f3825e2057 Mon Sep 17 00:00:00 2001 From: Ali Khan Date: Tue, 13 Feb 2024 23:38:04 -0500 Subject: [PATCH] fixes bug introduced when adding additional args to stitching - pairwise estimation was erroring out with syntax error so fusion was purely based on metadata - this also adds interest point calculations (haven't tested extensively) --- workflow/macros/AutostitchMacro.ijm | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/workflow/macros/AutostitchMacro.ijm b/workflow/macros/AutostitchMacro.ijm index 080f1f5..608f80f 100644 --- a/workflow/macros/AutostitchMacro.ijm +++ b/workflow/macros/AutostitchMacro.ijm @@ -2,6 +2,10 @@ args = getArgument() args = split(args, " "); dataset_xml = args[0] +ds_x = args[1] +ds_y = args[2] +ds_z = args[3] +min_r = args[4] run("Calculate pairwise shifts ...", "select=" + dataset_xml + @@ -18,13 +22,26 @@ run("Calculate pairwise shifts ...", run("Filter pairwise shifts ...", "select=" + dataset_xml + - " min_r=" min_r + + " min_r=" + min_r + " max_r=1 " + " max_shift_in_x=0 " + " max_shift_in_y=0 " + " max_shift_in_z=0 " + " max_displacement=0"); +run("Calculate pairwise shifts ...", +"browse=" + dataset_xml + +" select="+ dataset_xml + +" process_angle=[All angles] process_channel=[All channels] process_illumination=[All illuminations] process_tile=[All tiles] process_timepoint=[All Timepoints] method=[Interest-Point Registration (with new Interest Points)] show_expert_grouping_options show_expert_algorithm_parameters how_to_treat_timepoints=[treat individually] how_to_treat_channels=group how_to_treat_illuminations=group how_to_treat_angles=[treat individually] how_to_treat_tiles=compare type_of_interest_point_detection=Difference-of-Gaussian label_interest_points=beads subpixel_localization=[3-dimensional quadratic fit] interest_point_specification=[Comparable to Sample & small (beads)]" + + " downsample_xy=" + ds_x + "x " + + " downsample_z=" + ds_z + "x " + + " compute_on=[CPU (Java)] registration_algorithm=[Fast descriptor-based (rotation invariant)] registration_in_between_views=[Only compare overlapping views (according to current transformations)] interest_point_inclusion=[Compare all interest point of overlapping views] interest_points=beads group_channels redundancy=0 significance=10 allowed_error_for_ransac=5 number_of_ransac_iterations=Normal"); + +run("ICP Refinement ...", "select="+dataset_xml+ + " process_angle=[All angles] process_channel=[All channels] process_illumination=[All illuminations] process_tile=[All tiles] process_timepoint=[All Timepoints] icp_refinement_type=[Simple (tile registration)] global_optimization_strategy=[Two-Round: Handle unconnected tiles, remove wrong links RELAXED (5.0x / 7.0px)] downsampling=[Downsampling 4/4/2] interest=[Average Threshold] icp_max_error=[Normal Adjustment (<5px)]"); + + + run("Optimize globally and apply shifts ...", "select=" + dataset_xml + " process_angle=[All angles] " +