diff imagej2_filter_jython_script.py @ 3:91b8f4730a93 draft default tip

planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
author imgteam
date Wed, 25 Sep 2024 16:07:20 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/imagej2_filter_jython_script.py	Wed Sep 25 16:07:20 2024 +0000
@@ -0,0 +1,39 @@
+import sys
+
+from ij import IJ
+
+# Fiji Jython interpreter implements Python 2.5 which does not
+# provide support for argparse.
+input_file = sys.argv[-8]
+image_datatype = sys.argv[-7]
+filter = sys.argv[-6]
+radius = sys.argv[-5]
+mask = sys.argv[-4]
+light_background = sys.argv[-3]
+dont_substract = sys.argv[-2]
+tmp_output_path = sys.argv[-1]
+
+# Open the input image file.
+image_plus = IJ.openImage(input_file)
+# Create an ImagePlus object for the image.
+image_plus_copy = image_plus.duplicate()
+
+# Perform the analysis on the ImagePlus object.
+try:
+    if filter == "gaussian_blur":
+        IJ.run(image_plus_copy, "Gaussian Blur...", "sigma=%s stack" % radius)
+    elif filter in ["median", "mean", "minimum", "maximum", "variance"]:
+        IJ.run(image_plus_copy, "%s..." % filter.title(), "radius=%s stack" % radius)
+    elif filter == "unsharp_mask":
+        IJ.run(image_plus_copy, "Unsharp Mask...", "radius=%s mask=%s stack" % (radius, mask))
+    elif filter == "top_hat":
+        print("radius=%s %s %s" % (radius, light_background, dont_substract.replace('dont', "don't")))
+        IJ.run(image_plus_copy, "Top Hat...", "radius=%s %s %s stack" % (radius, light_background, dont_substract.replace('dont', "don't")))
+except Exception as e:
+    # This is due to some operations like gaussian_blur which block the script
+    print(e)
+    exit(1)
+# Save the ImagePlus object as a new image.
+IJ.saveAs(image_plus_copy, image_datatype, tmp_output_path)
+# This is due to some operations like gaussian_blur which block the script
+exit(0)