view imagej2_enhance_contrast_jython_script.py @ 1:e2622ebb5ce4 draft

"planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 2afb24f3c81d625312186750a714d702363012b5"
author imgteam
date Mon, 28 Sep 2020 16:49:43 +0000
parents 29b39f5b0e69
children 6a07f71806bb
line wrap: on
line source

import sys

from ij import IJ

# Fiji Jython interpreter implements Python 2.5 which does not
# provide support for argparse.
error_log = sys.argv[-7]
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)