Mercurial > repos > imgteam > imagej2_smooth
annotate imagej2_filter_jython_script.py @ 3:c11777ffe5b1 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:05:45 +0000 |
parents | |
children |
rev | line source |
---|---|
3
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
1 import sys |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
2 |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
3 from ij import IJ |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
4 |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
5 # Fiji Jython interpreter implements Python 2.5 which does not |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
6 # provide support for argparse. |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
7 input_file = sys.argv[-8] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
8 image_datatype = sys.argv[-7] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
9 filter = sys.argv[-6] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
10 radius = sys.argv[-5] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
11 mask = sys.argv[-4] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
12 light_background = sys.argv[-3] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
13 dont_substract = sys.argv[-2] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
14 tmp_output_path = sys.argv[-1] |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
15 |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
16 # Open the input image file. |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
17 image_plus = IJ.openImage(input_file) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
18 # Create an ImagePlus object for the image. |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
19 image_plus_copy = image_plus.duplicate() |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
20 |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
21 # Perform the analysis on the ImagePlus object. |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
22 try: |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
23 if filter == "gaussian_blur": |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
24 IJ.run(image_plus_copy, "Gaussian Blur...", "sigma=%s stack" % radius) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
25 elif filter in ["median", "mean", "minimum", "maximum", "variance"]: |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
26 IJ.run(image_plus_copy, "%s..." % filter.title(), "radius=%s stack" % radius) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
27 elif filter == "unsharp_mask": |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
28 IJ.run(image_plus_copy, "Unsharp Mask...", "radius=%s mask=%s stack" % (radius, mask)) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
29 elif filter == "top_hat": |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
30 print("radius=%s %s %s" % (radius, light_background, dont_substract.replace('dont', "don't"))) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
31 IJ.run(image_plus_copy, "Top Hat...", "radius=%s %s %s stack" % (radius, light_background, dont_substract.replace('dont', "don't"))) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
32 except Exception as e: |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
33 # This is due to some operations like gaussian_blur which block the script |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
34 print(e) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
35 exit(1) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
36 # Save the ImagePlus object as a new image. |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
37 IJ.saveAs(image_plus_copy, image_datatype, tmp_output_path) |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
38 # This is due to some operations like gaussian_blur which block the script |
c11777ffe5b1
planemo upload for repository https://github.com/bgruening/galaxytools/tree/master/tools/image_processing/imagej2 commit 8f49f3c66b5a1de99ec15e65c2519a56792f1d56
imgteam
parents:
diff
changeset
|
39 exit(0) |