Mercurial > repos > bgruening > imagej2_crop
diff imagej2_enhance_contrast_jython_script.py @ 0:018144807556 draft default tip
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
author | bgruening |
---|---|
date | Tue, 24 Sep 2024 17:12:52 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/imagej2_enhance_contrast_jython_script.py Tue Sep 24 17:12:52 2024 +0000 @@ -0,0 +1,38 @@ +import sys + +from ij import IJ + +# Fiji Jython interpreter implements Python 2.5 which does not +# provide support for argparse. +input = sys.argv[-6] +equalize_histogram = sys.argv[-5] == "yes" +saturated_pixels = sys.argv[-4] +normalize = sys.argv[-3] == "yes" +tmp_output_path = sys.argv[-2] +output_datatype = sys.argv[-1] + +# Open the input image file. +input_image_plus = IJ.openImage(input) + +# Create a copy of the image. +input_image_plus_copy = input_image_plus.duplicate() +image_processor_copy = input_image_plus_copy.getProcessor() +bit_depth = image_processor_copy.getBitDepth() + +# Set the options +options = [] +# If equalize_histogram, saturated_pixels and normalize are ignored. +if equalize_histogram: + options.append("equalize") +else: + if saturated_pixels not in [None, "None"]: + # Fiji allows only a single decimal place for this value. + options.append("saturated=%.3f" % float(saturated_pixels)) + # Normalization of RGB images is not supported. + if bit_depth != 24 and normalize: + options.append("normalize") +# Run the command. +options = "%s" % " ".join(options) +IJ.run(input_image_plus_copy, "Enhance Contrast...", options) +# Save the ImagePlus object as a new image. +IJ.saveAs(input_image_plus_copy, output_datatype, tmp_output_path)